思路为使用hostapd(host access point daemon)提供无线接入的管理与认证。
需要注意的地方:
1、开启linux内核的数据包传递功能:sysctl -w "net.ipv4.ip_forward=1"
2、需开启linux内核的arp代理功能:sysctl -w "net.ipv4.conf.wlan0.proxy_arp=1"
3、要保证客户端连上Soft AP后能自动获取IP,需要在开启Soft AP服务的机器上为无线网卡接口配置DHCP服务。
Soft AP开启:
sudo sysctl -w "net.ipv4.ip_forward=1"
sudo sysctl -w "net.ipv4.conf.wlan0.proxy_arp=1"
sudo iptables -F -t nat
sudo iptables -F -t mangle
sudo iptables -F -t filter
sudo iptables -X
sudo iptables -t nat -X
sudo iptables -t mangle -X
sudo pkill hostapd
sudo hostapd /etc/hostapd/hostapd.conf -B
#sudo ifconfig wlan0 192.168.1.1
sudo service dhcp3-server restart
sudo dhclient wlan0
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Soft AP关闭:
sudo sysctl -w "net.ipv4.ip_forward=0"
sudo sysctl -w "net.ipv4.conf.wlan0.proxy_arp=0"
sudo iptables -F -t nat
sudo iptables -F -t mangle
sudo iptables -F -t filter
sudo iptables -X
sudo iptables -t nat -X
sudo iptables -t mangle -X
sudo pkill hostapd
sudo service dhcp3-server stop
#sudo service isatapd restart
以上脚本为作者在Ubuntu 12.04下日常使用的无线热点建立脚本,其中的细节:为何需要开启内核的arp代理已记不太清楚,如实际使用中不开启arp代理也可建立正常的无线热点连接,最好将其关闭。