#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

    文章標籤

    hostapd

    全站熱搜

    立你斯 發表在 痞客邦 留言(0) 人氣()