2010年11月10日 星期三

Linux 無線網路連線

要在 Linux 下使用無線網路需要準備以下的套件:
  1. iw (無線網路工具)
  2. wpa_supplicant (若 AP 需要 WPA/WPA2 安全認證)
  3. linux-firmware (無線網卡的韌體)
  4. dhcp3-client (用來自動取得IP、DNS位址的 DHCP client)

連線的流程如下:(假設我們的無線網卡介面為 wlan0,AP的ssid為myap、密碼是mytestap)

先建立一個 wpa_supplicant 的設定檔(/etc/wpa_supplicant.conf),它的內容如下:

ap_scan=0
ctrl_interface=/var/run/wpa_supplicant

network={
	ssid="myap"
	scan_ssid=0
	proto=WPA
	key_mgmt=WPA-PSK
	psk=95254362caf85a8b7521351858bd8d74070d27b04c8eab027af4a599a170a890
}

其中proto和 key_mgmt 是指定加密協定,psk則是則加密過的密碼,我們可以利用 wpa_passphrase 這個工具得到這個字串:

$ wpa_passphrase myap mytestap
network={
	ssid="myap"
	#psk="mytestap"
	psk=95254362caf85a8b7521351858bd8d74070d27b04c8eab027af4a599a170a890
}
$

建立好設定檔以後啟動 wpa_supplicant 服務,它會在我們啟用 wlan0 連線時為我們處理 WPA 。

$ wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
$ iw dev wlan0 connect myap
$ ifconfig wlan0 up
$ dhclient


最後啟用 wlan0 連線,並且呼叫 DHCP client 取得 IP與 DNS,這樣無線網路應該就能使用了。

※修改於 2011/01/28