A-A+

centos系统下wifi无线网络连接得方法

2016年02月20日 站长资讯 暂无评论

介绍下centos6系统上,在命令行中实现Wi-Fi无线网络的连接,当然这需要有物理无线网卡的支持,这里就假设驱动已经安装好了。

  1. [root@baby-centOS ~]# ifconfig wlan0  
  2. wlan0     Link encap:Ethernet  HWaddr AC:72:89:04:EA:84    
  3.           UP BROADCAST MULTICAST  MTU:1500  Metric:1  
  4.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
  5.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
  6.           collisions:0 txqueuelen:1000   
  7.           RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)  

这个wlan0就是无线网卡的接口,这个有显示,说明无线网卡已经被内核识别。然后还需要两款工具的支持:wireless-tools,wpa_supplicant。可以通过yum源直接安装,也可以通过下载源码包安装。

  1. [root@baby-centOS ~]# iwlist wlan0 scanning  
  2.   
  3.   
  4. wlan0     Scan completed :  
  5.           Cell 01 - Address: 64:09:80:03:75:6A  
  6.                     Channel:1  
  7.                     Frequency:2.412 GHz (Channel 1)  
  8.                     Quality=34/70  Signal level=-76 dBm    
  9.                     Encryption key:on  
  10.                     ESSID:"censun-2"  
  11.                     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s   
  12.                               18 Mb/s; 36 Mb/s; 54 Mb/s  

使用iwlist指定网络接口进行扫描,查看可使用的pa。

然后根据某一个pa的信息编辑/etc/wpa_supplicant/wpa_supplicant.conf文件,当然这个编辑文件也可以放在别的地方,只要在连接无线网时指定这个密钥文件即可。

  1. ctrl_interface=/var/run/wpa_supplicant  
  2. ctrl_interface_group=wheel  
  3.    
  4. network={  
  5.   ssid="pa_name"        #pa_name  
  6.   psk="passwd"          #密码  
  7. }  

然后进行无线网络的连接:

[root@baby-centOS ~]# wpa_supplicant -i wlan0 -c /root/wpa_supplicant.conf -D wext -B

各参数的含义: -i #指明连接的网卡

-c #指明密钥文件的存放位置

-D #指明驱动类型为通用型

-B #放到后台运行

  1. [root@baby-centOS ~]# iwconfig wlan0  
  2. wlan0     IEEE 802.11bgn  ESSID:"cyyun_develop"    
  3.           Mode:Managed  Frequency:2.437 GHz  Access Point: 10:0D:7F:61:AD:E2     
  4.           Bit Rate=1 Mb/s   Tx-Power=15 dBm     
  5.           Retry  long limit:7   RTS thr:off   Fragment thr:off  
  6.           Encryption key:off   
  7.           Power Management:off  
  8.           Link Quality=57/70  Signal level=-53 dBm    
  9.           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0  
  10.           Tx excessive retries:0  Invalid misc:3   Missed beacon:0  

可以看到连接已成功!

  1. [root@baby-centOS ~]# vim /etc/sysconfig/network-scripts/ifcfg-wlan0  
  2. DEVICE=wlan0  
  3. HWADDR=AC:72:89:04:EA:84  
  4. TYPE=Ethernet  
  5. UUID=39166a56-c6ac-452a-8234-efca68c86d04  
  6. ONBOOT=no  
  7. NM_CONTROLLED=no  
  8. BOOTPROTO=dhcp  

配置完成后,启动接口即可。

  1. [root@baby-centOS ~]# ifup wlan0  
  2. Determining IP information for wlan0... done.  
  3. [root@baby-centOS ~]# ip addr show wlan0  
  4. 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000   
  5.     link/ether ac:72:89:04:ea:84 brd ff:ff:ff:ff:ff:ff  
  6.     inet 192.168.5.65/24 brd 192.168.5.255 scope global wlan0     #已有ip地址  
  7.     inet6 fe80::ae72:89ff:fe04:ea84/64 scope link   
  8.        valid_lft forever preferred_lft forever  

但是机器重启之后,需要重新进行连接和启动接口。这个可以这样解决,/etc/rc.d/rc.local是系统启动过程中会运行的最后一个脚本,可以把连接和启动接口的命令放在这个脚本中。

/usr/sbin/wpa_supplicant -i wlan0 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf -B
/sbin/ifup wlan0

在这里命令的使用尽量用绝对路径。这样机器就自动连上了指定的wifi无线网络!

标签:

给我留言