CentOS中用bash启用WPA加密的无线网络
以下为IT小胖的罗哩罗嗦的废话,需要急着解决问题的朋友可以直接从第二段开始阅读。
这几天IT小胖一直在犹豫对于自己的小站到底是使用LAMP(Linux+Apache+MySql+PHP)还是LNMP(Linux+Nginx+MySql+PHP)架构,两者各有优势,但IT小胖资金有限,服务器仅仅是512M的低配,玩不起Apache+Nginx这样的内存消耗大户。只好趁着双休日,在家随便拿了2台破笔记本分别搭建LAMP和LNMP做比较。当然这个并不是本文的重点,为啥会扯到这个在bash下启动WPA加密的无线网络呢?就是因为家里需要同时联网的设备太多了(2台测试机,1台平时使用的电脑,IT小胖的Mi2等),而又嫌网线看着碍眼,所以无线路由是必不可少的。以前在CentOS和Ubuntu下都是在GUI界面下连接网络,而这次的测试机配置烂到极致,压根都无法开启GUI界面,所以有了本文……
由于测试机截图不方便,IT小胖又比较懒,不高兴拍照了,就用远程连接到阿里云的服务器上截图了。
测试环境:
测试机1、2:
单核CPU,512M内存,CentOS 6.2 i386
本文截图用机:
阿里云服务器:
单核CPU,512M内存,CentOS 6.3 x86_x64
由于网上许多教程都写得较早,很多bash下连接无线网络的方法都是用了wireless-tools工具包中的iwconfig(注意不是ifconfig哦)完成的,但由于这个工具并不支持WPA、WPA2这些安全性较高的的加密方式(虽然前不久号称有人破解了WPA,但这仍是现在最安全的加密方式之一)。所以本文用的是另一个工具——wpa_supplicant。
首先这个工具包并不是所有系统都默认自带的,所以在CentOS可以通过如下命令安装:
yum install wpa_supplicant
由于IT小胖的服务器上已经安装了所以这里的截图中的命令是yum info wpa_supplicant显示的是该工具的相关信息。
如果你像IT小胖一样用了zsh替换了系统自带的bash,请先执行:
bash
切换会bash状态,不然可能找不到有些命令。
然后执行:
wpa_passphrase myessid mypassword>>/etc/wpa_supplicant/wpa_supplicant.conf
其中myessid 为你无线AP的信号名,讲的直白点就是在Windows下找无线信号用的那个名字。
mypassword 为该essid对应的密码
执行完成后不会有任何提示,但可以通过vi或vim查看一下生成的文件:
vim /etc/wpa_supplicant/wpa_supplicant.conf
接着继续执行:
wpa_supplicant -B -iwlan0 -Dwext -c /etc/wpa_supplicant/wpa_supplicant.conf
参数解释:
-B:后台执行。
-i:后面的wlan0为通过ifconfig查看到的无线网卡的名字,请自行替换成自己电脑上的实际网卡,下文同。
-D:据说是驱动或是网卡类型,反正这个照着输就行了。
-c:配置文件的路径。
此命令同样没有返回结果。
接着输入:
dhclient wlan0
让wlan0通过DHCP自动获取IP等信息,当然也可以不执行此命令,然后通过ifconfig手工分配地址信息。
最后ping 一下www.ittips.me吧,是不是连接上了。别激动太早,记得把”wpa_supplicant -B -iwlan0 -Dwext -c /etc/wpa_supplicant/wpa_supplicant.conf”和”dhclient wlan0″加到启动项里,省的下次启动再运行了。