在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
至此,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