CentOS 无线上网设置

CentOS采用的内核通常比较保守,支持的硬件也有一定程度的滞后,比如对无线网卡的支持。如果没有无线网卡的驱动,可以尝试升级内核完成。如果最新内核没有包含你网卡的驱动,就需要手动安装了。

如果要确认是否无线网卡是否被驱动了,可以使用:

[root@vfeelit ~]# iwconfig 安装:yum install -y wireless-tools
lo no wireless extensions.

wlan0 IEEE 802.11bgn ESSID:"ap_283303695"
Mode:Managed Frequency:2.462 GHz Access Point: 6C:E8:73:46:EF:7A
Bit Rate=121.5 Mb/s Tx-Power=14 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=70/70 Signal level=-18 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:68 Missed beacon:0
必须出现wlan这样的接口(也可能是其它名字),如果没有说明没有无线网卡,或无线网卡没有被驱动(就是没有驱动程序)。

先关闭NetworkManager,它和手动设置冲突:

[root@vfeelit ~]# service NetworkManager stop
[root@vfeelit ~]# chkconfig --list | grep Net
NetworkManager 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
[root@vfeelit ~]# chkconfig --level 2345 NetworkManager off
建立配置文件

#/etc/sysconfig/network-scripts/ifcfg-wlan0

DEVICE=wlan0
ESSID="ap_283303695"
TYPE=Wireless
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
IPV6INIT=no
ONBOOT=yes
这里跟配置有线网卡差不多,不过要注意DEVICE要指定iwconfig显示的无线网卡名,TYPE要设置为Wireless,用ESSID指定接入名称。如果采用WEP密码验证,这里还要使用KEY指定密码(当前采用WPA-PSK/WPA2-PSK验证,所以这里不需要指定KEY)。

之后重启网络:

[root@vfeelit network-scripts]# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:26:C7:32:CE:D2
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::226:c7ff:fe32:ced2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3306 errors:0 dropped:0 overruns:0 frame:0
TX packets:396 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:312460 (305.1 KiB) TX bytes:54709 (53.4 KiB)
IP地址等信息已经分配,不过这时还没有连接上无线网络,那是因为无线接入需要密码验证。由于这里采用了WPA-PSK/WPA2-PSK验证,所以需要使用另一个工具。

[root@vfeelit network-scripts]# yum install wpa_supplicant

wpa_supplicant-0.7.3-4.el6_3.x86_64
wpa_supplicant可能已经安装。接下来:

wpa_passphrase [ESSID] [密码] >> /etc/wpa_supplicant/wpa_supplicant.conf

## vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
ssid="ap_283303695"
#psk="s15889660090"
psk=c0f293f6e1c21bd99d5764a565f9708e187da6972bc96dc5f1c69a35211a3116
}
实际上往/etc/wpa_supplicant/wpa_supplicant.conf添加了network块。然后运行wpa_supplicant:

wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
如果希望这个程序在后台显示,需要用以下命令:

wpa_supplicant -B -Dwext -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf #B表示后台运行

#可以用wpa_supplicant -h查看基本用法:
drivers:
wext = Linux wireless extensions (generic)
nl80211 = Linux nl80211/cfg80211
wired = Wired Ethernet driver
options:
-B = run daemon in the background
-D = driver name (can be multiple drivers: nl80211,wext)
-c = Configuration file
-f = log output to debug file instead of stdout
之后应该就可以连接上无线网络了。

iwconfig命令可以用来设置网线网卡的信息,比如essid,key等,参考:

[root@vfeelit network-scripts]# iwconfig -h
Usage: iwconfig [interface]
interface essid {NNN|any|on|off}
interface mode {managed|ad-hoc|master|...}
interface freq N.NNN[k|M|G]
interface channel N
interface bit {N[k|M|G]|auto|fixed}
interface rate {N[k|M|G]|auto|fixed}
interface enc {NNNN-NNNN|off}
interface key {NNNN-NNNN|off}
interface power {period N|timeout N|saving N|off}
interface nickname NNN
interface nwid {NN|on|off}
interface ap {N|off|auto}
interface txpower {NmW|NdBm|off|auto}
interface sens N
interface retry {limit N|lifetime N}
interface rts {N|auto|fixed|off}
interface frag {N|auto|fixed|off}
interface modulation {11g|11a|CCK|OFDMg|...}
interface commit
Check man pages for more details.
一般,直接运行iwconfig查看是否有无线网卡(比如wlan0),然后启动这个网卡:

ifconfig wlan0 up
然后可以用这个无线网卡搜索无线网络:

[root@vfeelit network-scripts]# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 6C:E8:73:46:EF:7A
Channel:11
Frequency:2.462 GHz (Channel 11)
Quality=70/70 Signal level=-19 dBm
Encryption key:on
ESSID:"ap_283303695"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=00000001a5e4b17c
Extra: Last beacon: 95ms ago
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
找到需要接入的无线网络,获取Address、Channel、Frequency、Encryption key、ESSID、Mode和加密方式(以上是使用wpa)。

然后可以使用iwconfig设置相关参数(也可以写入配置文件中去),比如:

iwconfig wlan0 essid "ap_283303695"
iwconfig wlan0 key s15889660090 ##使用wep验证时有效
iwconfig wlan0 ap auto

##用ifconfig设置IP
ifconfig wlan0 192.168.1.100 netmask 255.255.255.0 gw 192.168.1.1

##确认已经添加了默认路由
route -n
这些信息可以保持到ifcfg-wlan0中去。

如果采用wpa验证,还需要运行wpa命令来管理无线密码。