確認 Wi-Fi 是否能支援 Hot-Spot 的設定:
1.
列出無線網卡
$ sudo iwconfig
2.1
確認網卡是否能支援 Hot-Spot, 有兩種不同的方法,
一般的網卡, 可以用以下的命令設置
$ sudo iwconfig wlan0 mode master
如果沒有錯誤, 就是可以.
2.2 一些較新的網卡, 採用 mac80211 framework. 上述的方式只會產生錯誤訊息. 對於這樣的網卡, 我們需要安裝 iw, 來確認是否支援 Hot-Spot 的設定.
$
sudo apt-get install iw
$ iw list
在 iw list 命令所顯示出來的訊息中, 找到以下項目
.....
Supported
interface modes :* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
*P2P-GO
在以上的列表中, 有出現 'AP',
就表示這張網卡是支援 Hot-Spot
安裝 DNS server
2.
停止 dnsmasq 服務, 取消開機自動啟動
$ sudo service hostapd stop
$ sudo service dnsmasq stop$ sudo update-rc.d hostapd disable
$ sudo update-rc.d dnsmasq disable
3.
設定 dnsmasq, 修改 /etc/dnsmasq.conf, 修改以下 tag
bind-interfaces
interface=wlan0dhcp-range=172.16.0.2, 172.16.0.100
4.
啟動 dnsmasq
執行以下指令以啟動 dnsmasq
$
sudo service dnsmasq restart
在執行前述命令的時候,遇到以下錯誤:
*
Restarting DNS forwarder and DHCP server dnsmasq
dnsmasq:
failed to create listening socket for 127.0.0.1: Address already in use
這個問題似乎有幾個不同的原因, 我是改用以下的方式, 才能正常執行
sudo
service dnsmasq stop
sudo
service bind9 stopsudo service dnsmasq start
sudo service bind9 start
安裝 Access Point
Ubuntu
Server 12.04.03 預設的 hostapd 是比較舊的版本, 執行時會出現以下的錯誤,
line
4: invalid/uknown driver 'nl80211
line
8: unknown hw_mode g
所以我們需要編譯一個新的版本.
1.
安裝 library, 編譯 hostapd 時, 需要 libnl 及 libssl 這兩個 library. 用以下的指令安裝
$
sudo apt-get install libnl-dev
$
sudo apt-get install libssl-dev
2.
下載 hostapd 及編譯, 安裝
下載 hostapd檔案的網頁連結如下:
http://w1.fi/hostapd
目前最新的版本是 hostapd-2.0, 以下說明下載及編譯的指令
wget
http://w1.fi/releases/hostapd-2.0.tar.gz
tar
xzvf hostapd-2.0.tar.gzcd host-2.0/hostapd
修改 .config,
將
#CONFIG_DRIVER_NL80211=y
改成
CONFIG_DRIVER_NL80211=y
然後
make
3.
設定 hostapd, 修改 /etc/hostapd/hostapd.conf, 修改以下 tag
#
Define interace
interface=wlan0# Select driver
driver= 80211
# Set a access point name
ssid=MySSID
# Set access point hardware mode to 802.11g
hw_mode=g
# Set WIFI channel (can be easily changed)
channel=6
# Enable WPA2 only ( 1 for WPA, 2 for WPA2, 3 for WPA + WPA2)
wpa=2
wpa_pasword=myappassword
手動啟動 Access Point
總結前述的作業, 可以用以下的命令, 啟動 hostap
$
sudo ifconfig wlan0 172.16.0.1
$
sudo service bind9 stop$ sudo service dnsmasq start
$ sudo service bind9 start
$ sudo sysctl net.ipv4.ip_forward=1
$ sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
$ sudo hostapd /etc/hostapd/hostapd.conf
在 Windows 上, 打開無線網路搜尋, 就可以看到 MySSID 這一個無線網路. 連線之後, 輸入密碼 myappassword 就可以連線. 並且在 Ubuntu 的螢幕上, 可以看到 Windows 這一台電腦的 mac address, 及 CONNECTED 的訊息.
在 Windows 上, 打開命令列模式, 輸入 ipconfig, 可以看到 ip-address 已經變成我們設定的 172.16.0.2, 172.16.0.100 的範圍之中, 也就是說, Wi-Fi 的連線, 以及分配 IP 給連線進來的 client, 都已經可以正常運作. 之前 ip ranage 設定有錯誤, 已經修正. 這部份的內容也已經修正更新.
在 Windows 上, 打開命令列模式, 輸入 ipconfig, 可以看到 ip-address 已經變成我們設定的 172.16.0.2, 172.16.0.100 的範圍之中, 也就是說, Wi-Fi 的連線, 以及分配 IP 給連線進來的 client, 都已經可以正常運作. 之前 ip ranage 設定有錯誤, 已經修正. 這部份的內容也已經修正更新.
沒有留言:
張貼留言
請提供您寶貴的意見