我们知道在 RJ-45 的以太网络联机环境中,以 switch/hub 以及网络卡与网络线最重要,该架构中主要以 switch/hub 串接所有的网络设备。那么在无线网络中,当然也需要一个接收讯号的装置,那就是无线基地台 (Wireless Access Point, 简称 AP) 了!另一个装置当然就是安装在计算机主机上面的无线网卡啰!
其实无线基地台本身就是个 IP 分享器了,他本身会有两个接口,一个可以与外部的 IP 做沟通,另外一个则是作为 LAN 内部其他主机的 GATEWAY 啰!那其他主机上面只要安装了无线网卡,并且顺利的连上 AP 后,自然就可以透过 AP 来连上 Internet 啦!整个传输的情况可以用下图来示意:
图 4.3-1、无线网络的联机图标
在上图中,我们假设 PC A 与 PC B 这两部主机都有安装无线网卡,因此他们可以扫瞄到局域网络内的 AP 存在,所以可以透过这个 AP 来连上 Internet 啊。在不考虑内部 LAN 联机的情况下,AP 如何连上 Internet 呢?虽然每部 AP 的控制接口都不相同,不过绝大部分的 AP 都是提供 Web 接口来设定的,因此你可以参考每部 AP 的说明书来进行设定,在这里鸟哥就不多说了。
鸟哥就以手边有的设备来说明这个项目,使用的设备如下:
AP : TP-Link (TL-WR941ND)
USB 的无线网卡: D-Link (DWA-140),使用 RT3070sta 驱动程序
比较凄惨的是,CentOS 6.x 预设不支持 DWA-140 这个 USB 的无线网卡,因此原本我们还得要自行手动下载 USB 无线网卡的驱动程序才行!更怪的是,我们的核心侦测到的模块是 rt2870sta,但实际上该硬件使用的是 rt3070sta模块... 为了这个,搞了鸟哥两、三天的时间去解决问题...还好,由世界上热心的网友回报支持 Linux 的无线网卡网站说明,发现这只 USB 是支援 Linux 的喔!如下网址所示。而且,已经有公司将这个网卡编译成 CentOS 6.x 可以使用的 RPM 档案啰!相关网址如下:
这张 USB 无线网卡让鸟哥搞到一个头两个大!基本上,Linux 核心预设不支持的设备,建议不要购买啦! 否则很难处理!鸟哥觉得这个 DWA-140 感觉就是张恶魔卡~好怪~好难搞...
2、关于 AP 的设定:网络安全方面
如果你留心一下图 4.3-1 ,那么就可以发现一件事情,那就是:『如果 AP 不设定任何联机限制,那任何拥有无线网卡的主机都可以透过这个 AP 连接上你的 LAN 』, 要知道,通常我们都会认为 LAN 是信任网域,所以内部是没有防火墙的,亦即是不设防的状态,呵呵! 如果刚好有人拿着笔记本电脑经过你的 AP 可以接收讯号的范围,那么他就可以轻易的透过你的 AP 连接上你的 LAN ,并且可以透过你的 AP 连上 Internet ,如果他刚好是个喜欢搞破坏的 cracker , 哈哈!那么当他使用你的 AP 去攻击别人时,最后被发现的跳板是谁?当然是你的 AP! 那是谁会吃上官司?够清楚了吧?而且你内部主机的数据也很有可能被窃取啊!
所以啦,『无线网络的安全性一定是具有很大的漏洞的』,没办法, 因为无线网络的传输并不是透过实体的网络线,而是透过无线讯号,实体网络线很好控制,无线讯号你如何侦测啊?对吧! 因此,请你务必在你的 AP 上面进行好联机的限制设定,一般可以这样做限制的:
在 AP 上面使用网卡卡号 (MAC) 来作为是否可以存取 AP 的限制:
如此一来,就只有你允许的网络卡才能够存取你的 AP ,当然会安全不少。不过这个方法有个问题, 那就是当有其他主机想要透过这个 AP 联机时,你就得要手动的登入 AP 去进行 MAC 的设定, 在经常有变动性装置的环境中 (例如公司行号或学校),这个方法比较麻烦~
设定你的 AP 联机加密机制与密钥:
另一个比较可行的办法就是设定联机时所需要的验证密钥!这个密钥不但可以在网络联机的数据当中加密,使得即使你的数据被窃听, 对方也是仅能得到一堆乱码,同时由于 client 端也需要知道密钥并且在联机阶段输入密钥, 因此也可以被用来限制可联机的用户啊!
当然,上面两种方法你可以同时设定,亦即不但需要联机的密钥,而且在 AP 处也设定能够存取的 MAC 网卡, 嘿嘿!这样一来,就更安全的多了(注5)。底下让我们来介绍一下 AP 里面经常要了解的数据, 那就是 ESSID/SSID 啰!
(1)关于 ESSID/SSID
想一想,如果你有两部 AP 在同一个局域网络内,那么请问一下,当你的无线网卡在上网时,他会透过哪一个 AP 联机出去呢?很困扰,对吧!其实每部 AP 都会有一个联机的名字,那就是 SSID 或 ESSID,这个 SSID 可以提供给 client 端, 当 client 端需要进行无线联机时,他必须要说明他要利用哪一部 AP ,那个 ESSID 就是那时需要输入的数据了!在鸟哥的案例当中,我将我的 AP 设定为 vbird_tsai 这个名字, 并且给予一个密钥密码,设定的方法如同下图所示:
图 4.3-2、无线网络 AP 的 SSID 设定项目
如上图,在登入了 AP 的设定项目后,依序 (1)先选择无线网络里面的『无线网络设定』,然后在右边的窗口当中 (2)填写正确的 SSID 号码,然后按下 (3)储存即可。之后就是密码项目啦!密码项目的设定画面如下:
这仅是个范例说明! AP 设定就到此为止,如果您的设定有不同的地方,请自行查询您 AP 的操作手册呦!
3、利用无线网卡开始联机
无线网卡有很多模式,鸟哥选择的是 USB 无线网卡,所以想要知道有没有捉到这张网卡,就得要使用 lsusb 来检查, 如果核心预设不支持,还得要自行编译驱动程序才行!如前所述,我们的驱动程序已经捉在 /root 底下了! (1)检查无线网卡的硬件装置:
使用 USB 无线网卡的检查方式如下:
[mw_shl_code=applescript,false]
[root@www ~]# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 07d1:3c0a D-Link System DWA-140 RangeBooster
N Adapter(rev.B2) [Ralink RT2870]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# 是有捉到的!只是,有加载吗?不知道呢!继续往下检查看看![/mw_shl_code]
(2)察看模块与相对应的网卡代号:(modinfo 与 iwconfig)
知道核心侦测到这张网卡,但是能不能正确的加载模块呢?来瞧瞧:
[mw_shl_code=applescript,false][root@www ~]# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
# 要出现名为 wlan0 之类的网卡才是有捉到喔!所以没有加载正确模块啦![/mw_shl_code]
因为没有加载正确的驱动程序,现在让我们来安装刚刚下载的 RPM 驱动程序吧!请先将 USB 拔出来, 然后再安装 RPM 档案。安装的方法不要说你忘记了!
[mw_shl_code=applescript,false][root@www ~]# rpm -ivh kmod-rt3070sta* rt2870-firmware*
# 这个动作会进行很久,似乎程序在侦测硬件的样子!
# 这个咚咚做完之后,请将 USB 网卡插入 USB 插槽吧!
[root@www ~]# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
ra0 Ralink STA[/mw_shl_code]