以便提供給其他需要無線接入聯網的設備,如筆記本,手機實現無線上網功能。也即是無線路由的功能。
什麼是hostapd
hostapd 是用戶控件的守護進程用於無線接入點(AP)和授權服務器(authentication servers).
她實現了IEEE802.11的AP管理,IEEE802.1X/WPA/WPA2/EAP授權,RADIUS 客戶端,EAP服務器和RADIUS 授權服務器,目前最新版本支持Linux系統(HOST AP,madwifi,mac80211-based驅動)和FreeBSD(net80211)。
hostapd設計爲一個守護程序(進程),後臺運行,進行一些相關控制授權的操作。屬於一個開源項目。
相關鏈接:
http://w1.fi/hostapd/
http://linuxwireless.org/en/users/Documentation/hostapd
查看自己的無線網卡信息:
- wsn@wsn-laptop:~$ hwinfo --netcard
- ...
- 28: PCI e00.0: 0282 WLAN controller
- [Created at pci.318]
- UDI: /org/freedesktop/Hal/devices/pci_14e4_4315
- Unique ID: y9sn.reAAs+k0MA5
- Parent ID: hoOk.F8Gordq8HH2
- SysFS ID: /devices/pci0000:00/0000:00:1c.2/0000:0e:00.0
- SysFS BusID: 0000:0e:00.0
- Hardware Class: network
- Model: "Dell Wireless 1397 WLAN Mini-Card"
- Vendor: pci 0x14e4 "Broadcom"
- Device: pci 0x4315 "BCM4312 802.11b/g"
- SubVendor: pci 0x1028 "Dell"
- SubDevice: pci 0x000c "Wireless 1397 WLAN Mini-Card"
- Revision: 0x01
- Driver: "b43-pci-bridge"
- Driver Modules: "ssb"
- Device File: wlan0
- Features: WLAN
- Memory Range: 0xf3000000-0xf3003fff (rw,non-prefetchable)
- IRQ: 18 (557260 events)
- HW Address: 00:22:5f:85:e7:a7
- Link detected: yes
- WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
- WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472 2.484
- WLAN encryption modes: WEP40 WEP104 TKIP CCMP
- WLAN authentication modes: open sharedkey wpa-psk wpa-eap
- Module Alias: "pci:v000014E4d00004315sv00001028sd0000000Cbc02sc80i00"
- Driver Info #0:
- Driver Status: ssb is active
- Driver Activation Cmd: "modprobe ssb"
- Config Status: cfg=new, avail=yes, need=no, active=unknown
- Attached to: #16 (PCI bridge)
Ubuntu下,如何獲取hostapd?
1. 終端輸入命- sudo apt-get install hostapd
- sudo apt-get install git-core
- git clone git://w1.fi/srv/git/hostap.git
- http://w1.fi/hostapd/
如何使用hostapd
將獲取到的包解壓,進入hostapd.- tar xzvf hostapd-x.y.z.tar.gz
- cd hostapd-x.y.z/hostapd
- cp defconfig .config
#CONFIG_DRIVER_NL80211=y
修改爲
CONFIG——DIRVIERNL80211
最後編譯:
sudo make
如果編譯報錯,原因多是libnl庫出錯,通過安裝或升級libnl庫即可
該庫主要提供基於LINUX內核的netlink protocol相關APs函數。
這裏下載獲取,要求版本0.8以上
- http://www.infradead.org/~tgr/libnl/
該庫提供ssl開發庫
- sudo apt-get install libssl-dev
如何使用hostapd?
hostapd的功能,也就是筆記本通過有線網口介入,hostapd利用筆記本的無線網卡,實現無線路由。
編輯hostapd.conf文件
可以根據自己的網卡,參照這裏
- http://linuxwireless.org/en/users/Documentation/hostap
- interface=wlan0
- bridge=br0
- driver=nl80211
- ssid=ssa
- hw_mode=g
- channel=11
- dtim_period=1
- rts_threshold=2347
- fragm_threshold=2346
- auth_algs=3
- wpa=1
- wpa_passphrase=12345678
- wpa_key_mgmt=WPA-PSK
- wpa_pairwise=TKIP CCMP
- rsn_pairwise=CCMP
- sudo apt-get install bridge-utils
- sudo brctl adbr br0
- sudo ifconfig br0 192.168.2.236 netmask 255.255.255.0
- sudo route add default gw 192.168.2.254
- sudo brctl addif br0 eth0
- sudo brctl addif br0 wlan0
- sudo ./hostapd hostapd.conf
- root@wsn-laptop:/home/wsn/Desktop/hostapd-0.7.3/hostapd# ./hostapd hostapd.conf
- Configuration file: hostapd.conf
- Using interface wlan0 with hwaddr 00:22:5f:85:e7:a7 and ssid 'ubuntu-502d'
如ip:192.168.3.75
掩碼: 255.255.255.0
網管: 192.168.3.1
即可以連接到名爲ubuntu-502的無線熱點了。