zoukankan      html  css  js  c++  java
  • Linux下脚本实现Wireless AP

    今天把Wrieless AP搞定了,甚是高兴,就把写的脚本贴出来供有需要的人使用吧。

    如果你问我Wireless AP是干嘛的,好吧,那接下来的内容不用看了。

    来个简洁版的:

    首先,装hostapd和dnsmasq

    sudo apt-get install hostapd dnsmasq

    然后,准备3个文件

    (1)sudo gedit  /etc/hostapd.conf

    写入以下内容保存(赶时间,没有写注释,不是一个合格的程序猿,@_@):

    interface=wlan0
    driver=nl80211
    ssid=hustleon    #换成你的用户名
    hw_mode=g
    channel=11
    dtim_period=1
    rts_threshold=2347
    fragm_threshold=2346
    macaddr_acl=0
    auth_algs=3
    ieee80211n=0
    wpa=3
    wpa_passphrase=XXXXXXXX    #换成你的密码
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP

    (2)sudo gedit  /etc/dnsmasq.conf

    写入以下内容保存:

    interface=wlan0
    bind-interfaces
    except-interface=lo
    dhcp-range=10.0.0.10,10.0.0.110,6h
    dhcp-option=3,10.0.0.1
    dhcp-option=6,202.114.0.242    #换成自己单位的DNS

    (3)sudo gedit  /usr/bin/sharewifi

    写入以下脚本保存后用 sudo chmod +x  /usr/bin/sharewifi 更改权限:

    #!/bin/sh
    # begin file: sharewifi

    # Wireless AP--无线wifi热点
    # 用法: sharewifi [start|stop]
    # 例如: sharewifi start
    # 版本: 1.0.0
    # 作者: hustleon

    help()
    {
      cat<<HELP
    sharewifi--Wireless AP
    用法: sharewifi [start|stop]
    例如: sharewifi start
    版本: 1.0.0
    作者: hustleon
    HELP
      exit 0
    }

    start()
    {
    echo 正在开启 Wireless AP ......

    # Configure iptable rules
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
    iptables -A FORWARD -s 10.0.0.0/8 -o eth0 -j ACCEPT
    iptables -A FORWARD -d 10.0.0.0/8 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT

    ifconfig wlan0 10.0.0.1

    hostapd -B /etc/hostapd.conf
    /etc/init.d/dnsmasq restart

    echo 开启 Wireless AP 成功.

      exit 0
    }

    stop()
    {
    echo 正在关闭 Wireless AP ......

    # Configure iptable rules
    iptables -F

    killall hostapd
    ifconfig wlan0 down
    ifconfig wlan0 del 10.0.0.1
    ifconfig wlan0 up

    echo 关闭 Wireless AP 成功.

      exit 0
    }

    case "$1" in
    "help")
    help;;
    "start")
    start;;
    "stop")
    stop;;
    *)
    help;;
    esac

    # end file: sharewifi

    最后,大功告成,重启电脑在终端输入 sudo sharewifi start 即可启动,输入 sudo sharewifi stop 停止

    差点忘了最重要的一点,记得要开启 IP 转发 sudo echo "1" > /proc/sys/net/ipv4/ip_forward

  • 相关阅读:
    解除对80端口的占用
    php排序算法
    Jquery异步请求数据实例
    C# winform 递归选中TreeView子节点
    C# WinFrom 编写正则表达式验证类
    c# winfrom 委托实现窗体相互传值
    [转]我的第一个WCF
    计算字符串中子串出现的次数
    JQuery中的html(),text(),val()区别
    Crystal Report制作使用
  • 原文地址:https://www.cnblogs.com/andrewlee0708/p/Linux_WiFi.html
Copyright © 2011-2022 走看看