CentOS 最小化安裝後如何配置和連接配接無線網絡,當時的情況是路由器使用的 WEP 加密方式,是以設定密碼的時候可以直接使用明文密碼。後來當把路由器的加密模式設定為 WPA/WPA2-PSK的時候,發現已經無法連接配接無線網絡了,原因是當使用 WPA/WPA2-PSK 加密模式之後用戶端不能直接發送明文密碼,而是要使用加密之後的密碼,既然我們知道了原因我,們該怎麼做呢。
首先我們要安裝一個幫我們生成加密密碼并配置網卡的工具包 wpa_supplicant
yum install -y wpa_supplicant
然後找到我們路由的 ESSID,比如我是 long,然後生成密碼配置檔案,
wpa_passphrase long 'my password'
它會輸出如下内容
network={
ssid="long"
#psk="my password"
psk=350fb537ccec9b6de427eb4a43b7e02ae0492a59ce0a095ac6b527aef2c40f94
}
将輸入的内容追加到 /etc/wpa_supplicant/wpa_supplicant.conf
或者直接執行
wpa_passphrase long 'my password' >> /etc/wpa_supplicant/wpa_supplicant.conf
再把其中 ssid= 和 psk= 加入到wlan0 的配置檔案,或執行一下指令
wpa_passphrase long 'my password' | grep -v '{\|}' >> /etc/sysconfig/network-scripts/ifcfg-wlan0
echo 'WPA=yes' >> /etc/sysconfig/network-scripts/ifcfg-wlan0
我的配置檔案内容如下:
DEVICE=wlan0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
WPA=yes
SSID="long"
PSK=350fb537ccec9b6de427eb4a43b7e02ae0492a59ce0a095ac6b527aef2c40f94
然後,我們可以啟動網絡裝置
ifup wlan0
再啟動 wpa_supplicant
wpa_supplicant -iwlan0 -B -c /etc/wpa_supplicant/wpa_supplicant.conf
我們需要随機啟動的話,加入到 /etc/rc.local
cat >> /etc/rc.local<<EOF
EOF
參考位址:http://zpz.name/2292/
不依賴 NetworkManager 啟用 wpa_supplicant,更新版
參考:http://wiki.centos.org/zh/HowTos/Laptops/WpaSupplicant
此更新是個較為簡單的方法令 wifi 界面在開機的過程中自動連接配接。原有的版本已收錄在下文供參考。
為何要有更新版?
較易實踐
更完整的指引
無須修改在系統更新時會被涵蓋的檔案
支援以 service network restart 重新連接配接
編輯 /etc/sysconfig/network-scripts/ifcfg- 檔
執行 iwconfig 來找出 wifi 裝置。在這個樣例輸出,wlan0 是唯一支援 wifi 的裝置。
# iwconfig
lo no wireless extensions.
wlan0 IEEE 802.11bgn ESSID:"NETWORKSSID"
Mode:Managed Frequency:2.462 GHz Access Point: 68:7F:74:AD:F3:3C
Bit Rate=54 Mb/s Tx-Power=16 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=50/70 Signal level=-60 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:90 Missed beacon:0
eth0 no wireless extensions.
pan0 no wireless extensions.
virbr0 no wireless extensions.
virbr0-nic no wireless extensions.
#
編輯這個界面的 ifcfg。就以 wlan0 為例:
/etc/sysconfig/network-scripts/ifcfg-wlan0
確定 ONBOOT 這個選擇已被啟用。
ONBOOT="yes"
編輯 /etc/sysconfig/wpa_supplicant
請確定你的裝置已包含在此檔案的 INTERFACES 行内。在這個例子中,wlan0 是唯一獲 wpasupplicant 支援的裝置。
備注:首先要安裝yum install -y wpa_supplicant
# Use the flag "-i" before each of your interfaces, like so:
# INTERFACES="-ieth1 -iwlan0"
INTERFACES="-iwlan0"
編輯 /etc/wpa_supplicant/wpa_supplicant.conf
你多數的網絡都需要在 wpa_supplicant.conf 内擁有如下的設定一則。請為每個網絡填入相屬的 NETWORKSSID 及 NETWORKPSK 數值。請以你選用它們的優先次序來進行排序。
ssid="NETWORKSSID"
scan_ssid=1
key_mgmt=WPA-PSK
psk="NETWORKPSK"
以下樣例是一個不采用預先共享金鑰的網絡。要是它被放置于 any 網絡之前,它會比其它公開網絡獲優先選用。
ssid="PUBLIC"
key_mgmt=NONE
最後一個選項(你或許不想選用它)可讓你連接配接至任何公開網絡。這個選項在酒店很奏效,但可能會連接配接至不理想的網絡。
編輯 /etc/rc5.d/S09prepnet
貼入以下文字來建立一個新檔案,它會執行 wifi 連接配接所須的背景服務。
cat > /etc/init.d/prepnet <<EoT
#!/bin/sh
/etc/init.d/messagebus start
/etc/init.d/wpa_supplicant start
killall dhclient >/dev/null 2>&1
EoT
chmod a+rx /etc/init.d/prepnet
ln -s /etc/init.d/prepnet /etc/rc3.d/S09prepnet
ln -s /etc/init.d/prepnet /etc/rc5.d/S09prepnet
設定在開機時執行的服務
Paste the following commands to configure services.
chkconfig messagebus off
chkconfig wpa_supplicant off
chkconfig NetworkManager off
chkconfig network on
重新開機來啟用它
下次重新開機的時候,你的 wifi 連接配接在網絡服務引導時便會被啟用。
新增或編輯 wifi 網絡
如果你需要新增或編輯 wifi 網絡,請改動 wpa_supplilcant.conf。
/etc/wpa_supplicant/wpa_supplicant.conf
接着重新開機 wpa_supplicant 及 network 服務。
service wpa_supplicant restart
service network restart
不依賴 NetworkManager 啟用 wpa_supplicant,原裝版
如果你像我一般,隻會進出數個受 WPA 保護的無線網絡,而且想筆記本在開機時連接配接到本地的無線網絡,這裡有一個簡單的方法。
請注意你可以利用 NetworkManager 來達成目的,但它預設不會在開機時連接配接到一個網絡 —— NetworkManager 需要一位使用者登入,并将金鑰環的通路權賦予它,好讓它能取回 WPA 金鑰。
這裡是一個啟用 wpa_supplicant 而不需要 NetworkManager 的方法,并且令計算機在開機時連接配接。你有必要編輯配置檔案,是以假若你不太樂意這樣做,你應該考慮采用 NetworkManager。
你多數的網絡都會需要在 wpa_supplicant.conf 内擁有一個如此的記錄:
ssid="MYNETWORKSSID"
psk="MYNETWORKPSK"
明顯地,你必須以你想連接配接的網絡的 SSID 及 PSK 來取代 MYNETWORKSSID 及 MYNETWORKPSK。
編輯 /etc/sysconfig/network-scripts/ifup-wireless
請在這個檔案的底部加入下列内容:
if [ "$WPA" = "yes" -a -x /etc/init.d/wpa_supplicant ]; then
/sbin/service wpa_supplicant start
fi
編輯 /etc/sysconfig/network-scripts/ifcfg-*
在 /etc/sysconfig/network-scripts 内有數個描述網絡界面的檔案,例如 ifcfg-eth0(大概是你的乙太網絡),及一個名叫 ifcfg-wlan0 或 ifcfg-eth1 的檔案,用來描述你的無線網絡。
用來描述你的無線網絡界面的檔案應該含有以下一行:
TYPE=Wireless
請在這個檔案的底部加入以下一行:
編輯 /etc/rc.d/rc.local
我們現在已經設定 wpa_supplicant 在你的無線網絡界面引導時一起引導。很不幸地,CentOS 的腳本引導次序并不正确 —— 它會嘗試在 DBUS 引導前引導無線網絡(并帶動 wpa_supplicant),然而 wpa_supplicant 需要 DBUS 才能連作。
最簡單快捷的解決方法就是在 /etc/rc.d/rc.local 的底部加入下面這行,讓你的無線網絡最遲引導:
/sbin/ifup eth1
(如果你的無線界面是 wlan0,這便是 /sbin/ifup wlan0)。
這樣做會讓所需的程式預先執行,然後在開機過程結束時引導無線界面及 wpa_supplicant。
在開機時停用界面及 wpa_supplicant
由於我們在相關的網絡界面 ifup 腳本裡直接引導 wpa_supplicant,我們無需在開機時利用 init 引導它。請這樣停止它: