Ubuntu下利用AP架設WIFI熱點(含網卡支持查詢)

轉載自:http://ihacklog.com/post/use-hostapd-to-setup-wireless-access-point-under-linux.html,向作者表示感謝!

其實linux下面也是可以的,不過得看運氣了。正如windows7下面要求你的無線網卡驅動必須支持“承載網“一樣。

首先,查看網卡芯片信息:
對於pci網卡:

1
lspci

我的是:

1
03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection

對於USB網卡:

1
lsusb

然後用ifconfig -a 看下你有哪幾塊網卡。

ethtool這個工具可用來查看網卡的詳細信息:

1
2
3
4
5
6
7
8
9
[admin@huangye ~]$ 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

可以看到我的網卡目前用的驅動是iwlagn,此驅動是由intel開發的。
debian wiki 有關於此驅動的描述:http://wiki.debian.org/iwlagn
下面一步纔是關鍵:
這一步用於確定你的無線網卡是否支持”master mode”,也就是AP模式,如果不支持的話,下面的你不用看了,基本沒戲了。。。

我們先用這個來測試:

1
2
3
4
[admin@huangye ~]$ sudo iwconfig wlan0 mode master
Password:
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

可以看到這裏操作失敗了。
還有機會。。。有些新的網卡用的是mac80211 framework,對於這些網卡的話,用iwconfig來測試它是否支持master模式是行不通的。
因爲他們是使用新的 nl80211接口在用戶空間通信的.
如果你沒有iw這個新的無線網卡配置工具的話,你得先安裝一個。
運行

1
$ iw list

如果”Supported interface modes”中有AP的話,那麼恭喜,你的網卡支持用hostapd來架設軟AP.

1
2
3
4
    Supported interface modes:
         * IBSS
         * managed
         * monitor

可以看到我的杯具了,不支持。。。
還不死心的話,這裏有一個列表,列出各種網卡的信息,可以看到 iwlagn的驅動不支持master模式的。。。杯具啊
Comparison of open-source wireless drivers
Intel 無線網卡驅動官方網站:http://intellinuxwireless.org/


Driver capabilities

Also see linuxwireless.org

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master mode Ad-Hoc mode
acx1xx 802.11b, 802.11g PCI, Mini PCI, PC card, USB Yes No No Yes Yes ?
adm8211 ? PCI ? ? ? ? No ?
ath5k 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card, AHB Yes Yes Yes Yes Yes (since 2.6.31) Yes
ath9k 802.11a, 802.11b, 802.11g, 802.11n PCI, Mini PCI, AHB, PCI Express Mini Card Yes Yes Yes Yes Yes Yes
b43 802.11b, 802.11g PCI, Mini PCI, SDIO ? Yes Yes Yes Yes Yes Yes
bcm43xx 802.11b, 802.11g PCI, Mini PCI, PC card, Cardbus Yes Yes Yes Yes No ?
brcmsmac 802.11b, 802.11g ? Yes ? Yes Yes No No
hostap 802.11b PCI, Mini PCI, PC card Yes Yes[17] Yes[17] Yes Yes Yes
ipw2100 802.11b Mini PCI Yes Yes ? Yes ? ?
ipw2200 802.11a, 802.11b, 802.11g Mini PCI Yes Yes Yes Yes No Yes
ipw2200-ap 802.11b, 802.11g Mini PCI ? ? ? Yes Yes ?
ipw3945 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
islsm ? PCI, USB No No No ? No ?
iwlwifi 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
iwlagn 802.11a, 802.11g, 802.11n Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
libertas 802.11b, 802.11g USB, CF, SDIO ? ? ? ? No ?
MadWifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes Yes Yes Yes Yes some issues in HAL, outdoor sensitivity?[citation needed]
orinoco 802.11b Mini PCI, PC card Yes Yes[18] No Yes No Yes
p54 802.11b, 802.11g Mini PCI, Cardbus, USB Yes Yes Yes Yes Yes Yes
prism54 802.11b, 802.11g PCI Yes No ? Yes Yes ?
rndis_wlan 802.11b, 802.11g USB Yes Yes Yes No No Yes
rt2x00 802.11b, 802.11g PCI, Mini PCI, USB Yes Yes[19] Yes[20] Yes Yes[21] Yes
rtl8180 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card ? ? ? ? Yes ?
rtl-wifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes ? ? Yes ?
zd1201 802.11b USB Yes No[22] No[22] Yes Yes ?
zd1211 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes ?
zd1211rw 802.11b, 802.11g USB Yes Yes Yes Yes Yes[23] Yes

:eek:


我的網卡是沒戲了,下面的部分給需要的人看吧。。。
看了roylez的文章,他推薦一款支持master模式的網卡Mercury MW150u(MERCURY MW150U 150M無線USB網卡).
看看吧,可能我得買一塊這個來嘍。。。 :arrow:
下面是roylez對此網卡的描述,個人認爲很有必要把它摘抄下來供各位參考:

這款網卡採用AR9271芯片,Linux下用ath9k_htc驅動(內核自帶)。支持AP模式,支持monitor模式。有monitor模式,就可以和aircrack-ng搭配了破解無線網路密碼,有AP模式,就可以用來自架AP。ath9k_htc驅動目前不支持150M模式,不過這已經很次要了。卓越27包郵,殺人放火居家旅行必備。另外值得一提的是, 這款網卡還有個馬甲是Fast FW150u。

如果你用的是Atheros系列的網卡的話,得裝Madwifi.
以ubuntu系統爲例:
wget http://downloads.sourceforge.net/madwifi/madwifi-0.9.4.tar.gz
tar -xvzf madwifi-0.9.4.tar.gz
cd madwifi-0.9.4
sudo apt-get install build-essential linux-headers-server
sudo make
sudo make install
sudo vim /etc/modprobe.d/madwifi
然後添加下面這行讓你的網卡工作在master模式:

1
options ath_pci autocreate=ap

熱加載此module :

1
sudo modprobe ath_pci

基於mac80211的驅動:
其它幾個這裏不說了,自己去WifiDocsMasterMode 看。
Intel PRO/Wireless (ipwXXXX) series

For ipw2100/ipw2200, unfortunately there is no way to use them as AP, but this can be done for ipw3945 and ipw4965, maybe ipw2915 too, which are pretty good cards anyway, using fully open-source iwlwifi drivers, but it can’t be done with old Intel drivers with closed microcode.

下面是安裝hostapd了,以archlinux爲例:

1
sudo pacman -S --needed hostapd

然後就是配置了,我偷懶直接用roylez的:
安裝hostapd,修改/etc/hostapd/hostapd.conf。這是一個WPA-PSK的配置,用hostapd -d /etc/hostapd/hostapd.conf來測試配置是否可用。

1
2
3
4
5
6
7
8
9
10
11
12
 interface=wlan1
 driver=nl80211
 ssid=vlad_is_here
 channel=6
 hw_mode=g
 ignore_broadcast_ssid=0
 auth_algs=1
 wpa=3
 wpa_passphrase=xxxxxxxx
 wpa_key_mgmt=WPA-PSK
 wpa_pairwise=TKIP
 rsn_pairwise=CCMP

爲無線網卡指定IP

1
 sudo ifconfig wlan0 192.168.100.1 netmask 255.255.255.0

啓動hostapd服務

1
 sudo /etc/rc.d/hostapd start

安裝配置dhcp,這裏,如果你裝了pdnspd 或者 dnsmasq 的話就不用再安裝dhcp了。

iptalbes設置nat

1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

啓用內核轉發功能:

1
2
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1

要想即時生效的話,直接用下面這句吧(以root身份執行):

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

hostapd docs: http://hostap.epitest.fi/hostapd/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章