日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux软AP--hostapd+dhcpd

發(fā)布時間:2024/1/1 linux 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux软AP--hostapd+dhcpd 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

linux軟AP--hostapd+dhcpd

2018年05月08日?? 綜合?? 共 4908字 ? 字號?小?中?大???評論關(guān)閉

隨著手機、筆記本等無線設(shè)備的增多,公司里的家用三個無線路由器已經(jīng)不堪重負,老是有人說連不上。誰讓咱是運維呢,在很多人眼里運維 =網(wǎng)管 (深表委屈),沒辦法就再兼一個企業(yè)網(wǎng)管的職務(wù)吧 。給BOSS提出的解決方案有二:一、購買企業(yè)無線路由
,價格從幾百到幾千不等,性能從支持30臺設(shè)備到100臺以也不等,最大速率從150M到1300M等也有很多檔次,還有一些其他參數(shù)和功能不再一一表述;二、購買無線網(wǎng)卡配合linux hostapd +dhcpd或dnsmasq ,功能方面可以根據(jù)需要自由擴展 ,成本一塊無線網(wǎng)卡100元以內(nèi),一臺退休的破臺機(而且可以兼做網(wǎng)關(guān),ftp等用)。

?

一、網(wǎng)卡選擇

?

不同于windows上,大部分的網(wǎng)卡都支持軟AP ,linux下的網(wǎng)卡需要支持mode master的才可以做軟AP 。具體識別方法如下

1、iwconfig識別

[root@localhost ~]$ sudo iwconfig wlan0 mode master Password: Error for wireless request "Set Mode" (8B06) :SET failed on device wlan0 ; Invalid argument.

?

2、iw識別

上面的操作失敗,證明不支持。再進行進一步的驗證,有些新的網(wǎng)卡用的是mac80211 framework,對于這些網(wǎng)卡的話,用iwconfig來測試它是否支持master模式是行不通的。

因為他們是使用新的 nl80211接口在用戶空間通信的。再使用iw命令進行測試:

[root@localhost ~]$ sudo iw list ........略........................Supported interface modes:* IBSS* managed* AP* AP/VLAN

?

如果「Supported interface modes」中有「AP」的話,那么恭喜你,你的無線網(wǎng)卡可以架設(shè)虛擬AP 。如果沒有則不支持。

3、驅(qū)動識別

[root@localhost ~]$ sudo ethtool -i wlan0 driver: iwlagn version: 3.0-ARCH firmware-version: 8.83.5.1 build 33692 bus-info: 0000:03:00.0 supports-statistics: no supports-test: no supports-eeprom-access: no supports-register-dump: no

?

例如上面的示例中使用的驅(qū)動為iwlagn,通過http://wireless.kernel.org/en/users/Drivers?AP模式支持的驅(qū)動列表里的查找AP項為yes的未發(fā)現(xiàn)iwlagn
,證明其不支持。

即然如此,如何在未購買網(wǎng)卡前選擇一款一定支持的網(wǎng)卡呢?wireless.kernel.org也給我們提供了一個方法 ,通過http://wireless.kernel.org/en/users/Devices??硬件列表
(該頁按pci、usb、pcmcia接口類型做了區(qū)分,點開相應(yīng)的類型即可查看具體的硬件)。當(dāng)然,這個表里列出的并不完全,也并不能保證是最適合做軟AP的硬件?。是否識合請參查看上面的三個方法。

二、hostapd+dnsmasq配置

選擇好網(wǎng)卡,接下來就是linux下的軟件配置。以linux mint為例(基于ubuntu ,以下的示例同樣適用于ubuntu)

1、安裝軟件

[root@localhost ~]$ sudo apt-get install hostapd dnsmasq

?

Dnsmasq是一個小巧且方便地用于配置DNS和DHCP的工具,適用于小型網(wǎng)絡(luò) 。如果網(wǎng)絡(luò)環(huán)境內(nèi)的機器較多,建議換用dhcpd 。

2、hostapd配置

[root@localhost ~]$ sudo vim /etc/hostapd/hostapd.conf interface=wlan0 driver=nl80211 ssid=My_wifi channel=6 hw_mode=g ignore_broadcast_ssid=0 auth_algs=1 wpa=3 wpa_passphrase=11111111 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP

以上是一個示例配置,配置了一個AP名稱為My_wifi,密碼為8個1的wpa加密方式的軟AP 。配置完成后可以通過hostadp ?/etc/hostapd/hostapd.conf檢測文件配置?。配置文件正常的話可以通過/etc/init.d/hostapd
start啟動,啟動前,請確認以下行是否增加,如果該行值為空的話,請按下面修改

# sudo vim /etc/init.d/hostapd 將文件中 DAEMON_CONF 的值改成下面這樣: DAEMON_CONF=/etc/hostapd/hostapd.conf

3、dnsmasq配置

?

#sudo vim /etc/dnsmasq.conf interface=wlan0 listen-address=192.168.100.1 #no-dhcp-interface= dhcp-range=192.168.100.50,192.168.100.150,12h server=/google/8.8.8.8

?

上面配置了dnsmasq 監(jiān)聽的接口,該接口的IP、dhcp地址的范圍、租期長短、dns等。如果想使用dhcpd也可以,這里省略dhcpd.conf的配置 。3、配置無線接入點IP

sudo ifconfig wlan0 192.168.100.1 netmask 255.255.255.0 up

4、開啟主機的路由轉(zhuǎn)發(fā)

?

echo 1 >/proc/sys/net/ipv4/ip_forward

以上配置為立即生效,但重啟系統(tǒng)后就會失效,可以使其重啟后有效的方法是修改/etc/sysct.conf文件,在其中增加如下一行:

?

#sudo vim /etc/sysctl.conf net.ipv4.ip_forward=1 #sysctl -p 生效

?

5、共享上網(wǎng)

關(guān)于通過局域網(wǎng)eth0共享上網(wǎng)的方法有兩種:一種是橋接模式,一種是nat模式,這里以nat模式為例:

?

iptables -A FORWARD -i wlan0 -o eth0 -s 192.168.100.0/24 -m state --state NEW -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

?

?

通過以上步驟配置就可以完成無線AP上網(wǎng)了。

三、wifi-hostapd-ap工具

以上操作步驟也可以通過配置圖形化的工具去操作 ,該工具就是wifi-hostapd-ap?。該工具是由俄羅斯人開發(fā),其圖形界面需要依賴qt 。該工具的安裝方式如下(還是以我筆記本的系統(tǒng)linux?mint為例):

# sudo apt-add-repository ppa:ekozincew/ppa # sudo apt-get update && sudo apt-get install wifi-hostapd-ap

其他linux版本可以通過?https://code.google.com/p/wifi-hostapd-ap/downloads/list?頁面下載安裝。

?

不過該工具默認為俄語界面,內(nèi)置的有英語,可通過以下方法修改。如下圖:

選擇好英語,點中間的鍵是保存,保存后退出wifi_hostapd_ap,然后再重新啟動。

如下圖所示已經(jīng)變成英文,其中editor部分是關(guān)于模板的部分,有興趣的可以試試。

hostapd.conf配置相關(guān)部分

下面是dnsmasq.conf部分的配置

完成后點擊active激活所有的配置,客戶端連接上后,可以在list of clients上查看目前已連接的客戶端

該部分參考臺灣yahoo部落格格

四、其他

?

1、關(guān)于網(wǎng)卡不能使用軟AP模式

如常見的RTL8187卡王,在windows下可以很方便的做soft AP,換到?hostapd 下就不支持。個人感覺不是網(wǎng)卡硬件不支持,而是由于驅(qū)動不支持導(dǎo)致的。想要解決某些在windows下支持的在linux下也支持可以通過修改驅(qū)動解決 ,當(dāng)然這需要想當(dāng)高的水平 --- 個人觀點 ,不知道是否正確 。

2、freebsd下檢測網(wǎng)卡是否支持soft AP?

由于freebsd自身的移定性,很多像軟網(wǎng)關(guān),軟AP都會選擇以freebsd為基礎(chǔ)進行更改,如大名鼎鼎的pfsense 。這里還是以卡王為例,因為手頭有這么一塊卡?。當(dāng)時想在linux下不行,興許在freebsd下就會支持?。如何查看freebsd下無線網(wǎng)卡是否支持AP模式呢?

[root at thor ~]# ifconfig ndis0 ndis0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290ether 00:25:d3:93:50:c8media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)status: no carrier [root at thor ~]# ifconfig ndis0 list caps ifconfig: unable to get device capabilities: Invalid argument [root at thor ~]# ifconfig wlan0 create wlandev ndis0 [root at thor ~]# ifconfig wlan0 wlan0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500ether 00:25:d3:93:50:c8media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)status: no carrierssid "" channel 1 (2412 Mhz 11b)country US authmode OPEN privacy OFF txpower 0 bmiss 7 scanvalid 60bintval 0 [root at thor ~]# ifconfig wlan0 list caps drivercaps=1802303<STA,803ENCAP,IBSS,PMGT,TXPMGT,WPA1,WPA2> cryptocaps=b<WEP,TKIP,AES_CCM>

?

如上面的操作所示,通過ifconfig wlan0 list caps命令查看輸出的結(jié)果里有沒有AP項,沒有表示也不支持。所以最終的結(jié)果是卡王在freebsd下也不支持。

freebsd soft AP相關(guān)的設(shè)置參看以下頁面

?

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-wireless.html

http://www.freebsdwiki.net/index.php/AccessPoint#Useful_Association_Commands

?

3、客戶端使用HOSTAPD無線AP時,網(wǎng)速不穩(wěn)定

客戶端使用HOSTAPD無線AP時,網(wǎng)速不穩(wěn)定,導(dǎo)致某些時刻無法打開網(wǎng)頁或者其它因為網(wǎng)絡(luò)超時導(dǎo)致的網(wǎng)絡(luò)不可訪問故障。?

該問題主要是因為無線數(shù)據(jù)傳輸校驗中隨機種子數(shù)較少導(dǎo)致的無線網(wǎng)絡(luò)數(shù)據(jù)傳輸時延過大導(dǎo)致的,用戶可以通過命令cat /proc/sys/kernel/random/entropy_avail來查看具體數(shù)值,該值一般小于1000,用戶需要通過在終端中執(zhí)行sudo apt-get?install haveged命令安裝隨機數(shù)生成器(haveged),并使用/etc/init.d/haveged start命令來啟動隨機數(shù)生成器(haveged)提高entropy_avail數(shù)值。這樣無線網(wǎng)絡(luò)時延將恢復(fù)到正常狀態(tài)。網(wǎng)絡(luò)不在出現(xiàn)以上描述的問題。

轉(zhuǎn)載于:https://www.cnblogs.com/chenxi188/p/10786195.html

總結(jié)

以上是生活随笔為你收集整理的linux软AP--hostapd+dhcpd的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。