在ubuntu 12.04中,默认可以设置的wifi热点是只能用WEP加密,毫无疑问,这样的加密方式,安全性低,现在可以在10几秒的时间内破解,并且只能添加ad-hoc模式的热点,不支持添加AP模式,因而不能被大部分的android手机支持,如果要让android支持ad-hoc模式需要刷特定的rom才行。
因此,本文将在ubuntu 12.04 LTS上,使用hostapd+dhcpd的方式来设置WPA2-PSK方式的wifi热点。(参考链接附后)
安装hostapd
使用apt-get install hostapd安装之
编辑/etc/hostapd/hostapd.conf ,如果没有则新建如下:
interface=wlan0
#interface=wlan0
driver=nl80211
#driver=madwifi
ssid=FBWFBI
channel=9
hw_mode=g
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=3
wpa_passphrase=12345678wer
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
先在终端输入hostapd -d /etc/hostapd/hostapd.conf ,若无提示驱动错误,则ctrl+C
最后启动服务:hostapd -B /etc/hostapd/hostapd.conf
安装dhcpd并设置无线网的网段
使用apt-get install dhcp3-server安装之
开启内核转发,将/etc/sysctl.conf中的改为net.ipv4.ip_forward=1,保存退出后,并输入sysctl -p,使内核参数生效
设置无线网的网段:ifconfig wlan0 192.168.0.1/24
修改/etc/dhcp/dhcpd.conf,添加dns:
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.2 192.168.0.10; #自动分配IP的范围
option domain-name-servers 8.8.8.8; #这个DNS根据实际需要设置
option routers 192.168.0.1;
}
开启dhcp:
dhcpd wlan0 -pf /var/run/dhcp-server/dhcpd.pid
使用iptables开启本地的SNAT
经过前面几个步骤,无线网卡已经可以自动分配IP,现在只需要把无线网卡的数据都经过eth0(有线网络)发到外网去,这就需要IP转发了。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -o eth0 -j ACCEPT
至此,ubuntu的WPA2-PSK的无线wifi AP设置完毕,可以正常使用了。
参考:
ubuntu11.10安装hostapd:http://blog.csdn.net/laoyouji/article/details/7583034
Ubuntu共享WiFi(AP)给Android的方法汇总:http://blog.csdn.net/Q1302182594/article/details/8689603