#apt-get install -y isc-dhcp-server
#apt-get install -y hostapd
hostapd是Linux下一款IEEE 802.11 AP創建軟件,它可以通過使用一塊無線網卡來創建WiFi訪問點,將當前的網絡共享出來,實現的功能類似於Windows下面的百度WiFi或者360WiFi。和Windows下面一樣,要成功的創建一個AP訪問點,除了要有合適的無線網卡和驅動之外,dhcp服務的配置和開啓內核的流量轉發也必須同時到位。
*本文使用的Linux 環境爲ArchLinux 內核3.15.5-1-ARCH ,網卡爲148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
安裝與配置hostapd
我直接使用yaourt安裝了源裏面的hostapd,詳細的配置參數與其功能可以在hostapd的wiki頁面上找到,現在,創建一個hostapd.conf文件(可以在任意目錄下創建),並配置以下參數:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# 使用的網卡 interface=wlan0 # 使用的驅動,目前應該只有nl80211這個選項 driver=nl80211 # 無線網絡的ssid ssid=SSID # 無線網絡的制式 hw_mode=g # 信道 channel=6 # 不開啓MAC過濾 macaddr_acl=0 # 驗證方式,一般爲1 auth_algs=1 # 是否隱藏ssid ignore_broadcast_ssid=0 # 連接方式爲wpa/wpa2 wpa=3 # WiFi密碼 wpa_passphrase=password # 加密方式 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP |
配置完成後,使用hostapd hostapd.conf應該就可以成功建立一個WiFi訪問點,不過此時這塊網卡還沒有對應的dhcp服務和流量轉發,所以是直接無法連接上的,即使使用靜態IP能夠連接上,也不能通過主機的網絡來共享上網的。
配置dhcp服務
和hostapd一樣,我安裝了Archlinux源裏面編譯好的二進制包,在dhcp安裝完成後,會有一個示例的配置文件/etc/dhcpd.conf 我們先註釋掉原有的配置,然後添加我們自己的配置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# tips: 在 vim 下執行 :%s/^/#/g 可以注釋掉所有原來的配置 default-lease- time 1209600; max-lease- time 1814400; ddns-update-style none; ignore client-updates; authoritative; option local -wpad code 252 = text; # 配置網卡使用的網段,最好不要和其它網卡的網段有所衝突。 subnet 10.0.0.0 netmask 255.255.255.0 { # --- 網關 option routers 10.0.0.1; # --- 掩碼 option subnet-mask 255.255.255.0; # --- 廣播地址 option broadcast-address 10.0.0.255; # --- DNS服務器 option domain-name-servers 10.0.0.1, 8.8.8.8, 8.8.4.4; option time -offset 0; # --- 將被分配的IP地址範圍 range 10.0.0.3 10.0.0.13; } |
一切準備就緒,現在可以開始創建我們的AP了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 設置開啓WiFi的網卡的IP地址與掩碼 ifconfig wlan0 up 10.0.0.1 netmask 255.255.255.0 # 開啓對應的dhcp服務 dhcpd wlan0 # 開啓轉發和放火牆 iptables --flush iptables --table nat --flush iptables --delete-chain iptables --table nat --delete-chain iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD -- in -interface wlan0-j ACCEPT sysctl -w net.ipv4.ip_forward=1 # 最後一步,運行hostapd hostapd hostapd.conf > /dev/null & |
如果一切正常,現在你已經有一個可用的無線網絡了!配合之前介紹的開機自運行腳本,你可以設置爲開機自動創建WiFi。
https://blog.sbw.so/Article/index/title/Linux%E4%B8%8B%E4%BD%BF%E7%94%A8hostapd%E5%89%B5%E5%BB%BAWiFi%E8%A8%AA%E5%95%8F%E7%86%B1%E9%BB%9E.html
留言列表