# 4.3 无线网络--以笔记本电脑为例
## 4.3 无线网络--以笔记本电脑为例
除了使用实体 RJ-45 线路来连接网络之外,由于现在笔记本电脑渐渐广为使用,因此在笔记本电脑上面的无线网络 (Wireless Local Area Network, WLAN) 也越来越重要啰~针对无线网络所提出的标准中,早期是 IEEE 802.11b / 802.11g 较为重要,其中 802.11g 这个标准的传输速度已经可以达到 54Mbps 的水平。不过,近期以来还有新的标准,那就是 802.11n ([注3](#ps3)) ,这个标准的理论传输速度甚至可达 300Mbps 哩!所以啰,我们也得稍微介绍一下无线网络啦!
**Tips:** 无线网络的机制非常多,我们现在常听到的主要有 Wi-Fi (可想成是 802.11 相关标准) 以及 WiMAX (802.16, [注4](#ps4)) 等, 在底下我们主要介绍的是目前使用较广泛的 Wi-Fi 相关无线网卡喔!可不要搞错啰!
![](https://box.kancloud.cn/2016-05-13_5735736501917.gif)
- - - - - -
### 4.3.1 无线网络所需要的硬件: AP、无线网卡
我们知道在 RJ-45 的以太网络联机环境中,以 switch/hub 以及网络卡与网络线最重要,该架构中主要以 switch/hub 串接所有的网络设备。那么在无线网络中,当然也需要一个接收讯号的装置,那就是无线基地台 (Wireless Access Point, 简称 AP) 了!另一个装置当然就是安装在计算机主机上面的无线网卡啰!
其实无线基地台本身就是个 IP 分享器了,他本身会有两个接口,一个可以与外部的 IP 做沟通,另外一个则是作为 LAN 内部其他主机的 GATEWAY 啰!那其他主机上面只要安装了无线网卡,并且顺利的连上 AP 后,自然就可以透过 AP 来连上 Internet 啦!整个传输的情况可以用下图来示意:
![](https://box.kancloud.cn/2016-05-13_5735da4d276de.png)
图 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 档案啰!相关网址如下:
- 网友们热心提供:[http://linux-wless.passys.nl/query\_part.php?brandname=D-Link](http://linux-wless.passys.nl/query_part.php?brandname=D-Link)
- 帮我们打包成 RPM 的公司:<http://rpm.pbone.net/index.php3>
- Ralink 官网的下载处:<http://www.ralinktech.com/support.php?s=2>
鸟哥最终由上面第二个网址下载的两个档案是:kmod-rt3070sta-2.5.0.1-2.el6.elrepo.x86\_64.rpm, rt2870-firmware-22-1.el6.elrepo.noarch.rpm。鸟哥将他放置于 /root 底下,等一下再来安装。
**Tips:** 这张 USB 无线网卡让鸟哥搞到一个头两个大!基本上,Linux 核心预设不支持的设备,建议不要购买啦! 否则很难处理!鸟哥觉得这个 DWA-140 感觉就是张恶魔卡~好怪~好难搞...
![](https://box.kancloud.cn/2016-05-13_5735736501917.gif)
- - - - - -
### 4.3.2 关于 AP 的设定:网络安全方面
如果你留心一下[图 4.3-1](#fig4.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](#ps5))。底下让我们来介绍一下 AP 里面经常要了解的数据, 那就是 ESSID/SSID 啰!
- 关于 ESSID/SSID :
想一想,如果你有两部 AP 在同一个局域网络内,那么请问一下,当你的无线网卡在上网时,他会透过哪一个 AP 联机出去呢?很困扰,对吧!其实每部 AP 都会有一个联机的名字,那就是 SSID 或 ESSID,这个 SSID 可以提供给 client 端, 当 client 端需要进行无线联机时,他必须要说明他要利用哪一部 AP ,那个 ESSID 就是那时需要输入的数据了!在鸟哥的案例当中,我将我的 AP 设定为 vbird\_tsai 这个名字, 并且给予一个密钥密码,设定的方法如同下图所示:
![](https://box.kancloud.cn/2016-05-13_5735da4d48186.gif)
图 4.3-2、无线网络 AP 的 SSID 设定项目
如上图,在登入了 AP 的设定项目后,依序 (1)先选择无线网络里面的『无线网络设定』,然后在右边的窗口当中 (2)填写正确的 SSID 号码,然后按下 (3)储存即可。之后就是密码项目啦!密码项目的设定画面如下:
![](https://box.kancloud.cn/2016-05-13_5735da4d5f418.gif)
图 4.3-3、无线网络 AP 的密钥设定项目
我们先选择 (1)无线网络加密设定,然后在右边窗口 (2)点选 WPA-PSK/WPA2-PSK 的加密方式,然后 (3)输入加密的密钥长度,鸟哥这里填写的算是简单到爆炸的密码,小朋友不要学喔!填完后按下储存即可。 这个时候我们就会有底下两个数据:
- SSID: vbird\_tsai
- 密钥密码: 123456789aaa
这仅是个范例说明! AP 设定就到此为止,如果您的设定有不同的地方,请自行查询您 AP 的操作手册呦!
- - - - - -
### 4.3.3 利用无线网卡开始联机
无线网卡有很多模式,鸟哥选择的是 USB 无线网卡,所以想要知道有没有捉到这张网卡,就得要使用 lsusb 来检查, 如果核心预设不支持,还得要自行编译驱动程序才行!如前所述,我们的驱动程序已经捉在 /root 底下了!
1. 检查无线网卡的硬件装置:
使用 USB 无线网卡的检查方式如下:
```
[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
# 是有捉到的!只是,有加载吗?不知道呢!继续往下检查看看!
```
2. 察看模块与相对应的网卡代号:(modinfo 与 iwconfig)
知道核心侦测到这张网卡,但是能不能正确的加载模块呢?来瞧瞧:
```
[root@www ~]# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
# 要出现名为 wlan0 之类的网卡才是有捉到喔!所以没有加载正确模块啦!
```
因为没有加载正确的驱动程序,现在让我们来安装刚刚下载的 RPM 驱动程序吧!请先将 USB 拔出来, 然后再安装 RPM 档案。安装的方法不要说你忘记了!
```
[root@www ~]# rpm -ivh kmod-rt3070sta* rt2870-firmware*
# 这个动作会进行很久,似乎程序在侦测硬件的样子!
# 这个咚咚做完之后,请将 USB 网卡插入 USB 插槽吧!
[root@www ~]# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
ra0 Ralink STA
```
这个 iwconfig 是用在作为无线网络设定之用的一个指令,与 ifconfig 类似!不过,当我们使用 iwconfig 时,如果有发现上述的特殊字体,那就代表该网络接口使用的是无线网卡的意思啊!虽然有时你会看到无线网卡为 wlan0 之类的代号,不过这张网卡却使用 ra0 作为代号,挺有趣的!
3. 利用 iwlist 侦测 AP :
好了,接下来要干嘛?当然是看看我们的无线网卡是否能够找到 AP 啊!所以,首先我们要启动无线网卡,就利用 ifconfig 即可:
```
[root@www ~]# ifconfig ra0 up
```
启动网卡后才能以这个网卡来搜寻整个区域内的无线基地台啊!接下来,直接使用 iwlist 来使用这个无线网卡搜寻看看吧!
```
[root@www ~]# iwlist ra0 scan
ra0 Scan completed :
Cell 01 - Address: 74:EA:3A:C9:EE:1A
Protocol:802.11b/g/n
ESSID:"vbird_tsai"
Mode:Managed
Frequency:2.437 GHz (Channel 6)
Quality=100/100 Signal level=-45 dBm Noise level=-92 dBm
Encryption key:on
Bit Rates:54 Mb/s
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
....(底下省略)....
```
从上面可以看到 (1)这个无线 AP 的协议,并且也能够知道 (2)ESSID 的名号是没错的!当然啦,(3)连加密的机制是 WPA2-PSK 也是能够得知的!这与前一小节的 AP 设定是相符合的!(4)使用的无线频道是 6 号,接下来呢?就得要去修改配置文件,这部份很麻烦,请参考如下的网页来设定:
- <https://wiki.archlinux.org/index.php/Rt2870>
```
[root@www ~]# ifconfig ra0 down && rmmod rt3070sta
[root@www ~]# vim /etc/Wireless/RT2870STA/RT2870STA.dat
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=TW <==台湾的国码代号!
ChannelGeography=1
SSID=vbird_tsai <==你的 AP 的 ESSID 喔!
NetworkType=Infra
WirelessMode=9 <==与无线 AP 支持的协议有关!参考上述网址说明
Channel=6 <==与 CountryRegion 及侦测到的频道有关的设定!
....(中间省略)....
AuthMode=WPAPSK <==我们的 AP 提供的认证模式
EncrypType=AES <==传送认证码的加密机制啊!
WPAPSK="123456780aaa" <==密钥密码!最好用双引号括起来较佳!
....(底下省略)....
# 鸟哥实际有修改的,就是上面有特别说明的地方,其余的地方都保留默认值即可。
# 更奇怪的是,每次 ifconfig ra0 down 后,这个档案会莫名其妙的修改掉 @_@
[root@www ~]# modprobe rt3070sta && ifconfig ra0 up
[root@www ~]# iwconfig ra0
ra0 Ralink STA ESSID:"vbird_tsai" Nickname:"RT2870STA"
Mode:Auto Frequency=2.437 GHz Access Point: 74:EA:3A:C9:EE:1A
Bit Rate=1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=100/100 Signal level:-37 dBm Noise level:-37 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
```
如果顺利出现上面的数据,那就表示你的无线网卡已经与 AP 接上线了~再来则是设定网络卡的配置文件啰!^\_^
4. 设定网络卡配置文件 (ifcfg-ethn)
因为我们的网络卡使用的代号是 ra0,所以也是需要在 /etc/sysconfig/network-scripts 设定好相对应的档案才行啊!而由于我们的这块卡其实是无线网卡, 所以很多设定值都与原本的以太网络卡不同,详细的各项变量设定你可以自行参考一下底下的档案:
- /etc/sysconfig/network-scripts/ifup-wireless
至于我的网络卡设定是这样的:
```
[root@www ~]# cd /etc/sysconfig/network-scripts
[root@www network-scripts]# vim ifcfg-ra0
DEVICE=ra0
BOOTPROTO=dhcp
ONBOOT=no <== 若需要每次都自动启动,改成 yes 即可!
ESSID=vbird_tsai
RATE=54M <== 可以严格指定传输的速率,要与上面 iwconfig 相同,单位 b/s
```
要注意的是那个 ONBOOT=no 的设定,如果你想要每次开机时无线,网卡都会自动启动, 那就将他设定为 yes 吧!否则就设定为 no 啰!要启动再以 ifup ra0 来启动即可! 呼呼!到此为止,你的无线网卡已经可以顺利的给他启动了喔!很快乐吧! ^\_^
**Tips:** 其实上面那个配置文件的内容都是在规划出 iwconfig 的参数而已,所以你除了可以查阅 ifup-wireless 的内容外,可以 man iwconfig ,会知道的更详细喔!而最重要的参数当然就是 ESSID 及 KEY 啰! ^\_^
![](https://box.kancloud.cn/2016-05-13_5735736501917.gif)
1. 启动与观察无线网卡
要启动就用 ifup wlan0 来启动,很简单啦!要观察就用 iwconfig 及 ifconfig 分别观察,底下你自己瞧瞧就好啊! ^\_^
```
[root@www ~]# ifup ra0
Determining IP information for ra0... done.
```
整个流程就是这么简单喔!一般来说,目前比较常见的笔记本电脑内建的 Intel 无线网络模块 (Centrino) 适用于 Linux 的 ipw2200/ipw21000 模块,所以设定上也是很快!因为 CentOS 6.x 预设就有支持,你不必重新安装无线网卡驱动程序! 那直接透过上述的方式来处理你的无线网络即可!很快速又方便吧!本章结尾的参考数据处, 鸟哥还是列出许多与无线网卡有关的连结,你可以自行前往查阅与你的无线网卡有关的信息喔([注6](#ps6))! ^\_^
- - - - - -
- 鸟哥的Linux私房菜:服务器架设篇 第三版
- 第一部份:架站前的进修专区
- 作者序
- 第一章、架设服务器前的准备工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架设服务器流程
- 1.3 自我评估是否已经具有架站的能力
- 1.4 本章习题
- 第二章、基础网络概念
- 2.1 网络是个什么玩意儿
- 2.2 TCP/IP 的链结层相关协议
- 2.3 TCP/IP 的网络层相关封包与数据
- 2.4 TCP/IP 的传输层相关封包与数据
- 2.5 连上 Internet 前的准备事项
- 2.6 重点回顾:
- 2.7 本章习题
- 2.8 参考数据与延伸阅读
- 第三章、局域网络架构简介
- 3.1 局域网络的联机
- 3.2 本书使用的内部联机网络参数与通讯协议
- 第四章、连上 Internet
- 4.1 Linux 连上 Internet 前的注意事项
- 4.2 连上 Internet 的设定方法
- 4.3 无线网络--以笔记本电脑为例
- 4.4 常见问题说明
- 4.5 重点回顾
- 4.6 本章习题
- 4.7 参考数据与延伸阅读
- 第五章、 Linux 常用网络指令
- 5.1 网络参数设定使用的指令
- 5.2 网络侦错与观察指令
- 5.3 远程联机指令与实时通讯软件
- 5.4 文字接口网页浏览
- 5.5 封包撷取功能
- 5.6 重点回顾
- 5.7 本章习题
- 5.8 参考数据与延伸阅读
- 第六章、 Linux 网络侦错
- 6.1 无法联机原因分析
- 6.2 处理流程
- 6.3 本章习题
- 6.4 参考数据与延伸阅读
- 第二部分:主机的简易资安防护措施
- 第七章、网络安全与主机基本防护:限制端口, 网络升级与 SELinux
- 7.1 网络封包联机进入主机的流程
- 7.2 网络自动升级软件
- 7.3 限制联机埠口 (port)
- 7.4 SELinux 管理原则
- 7.5 被攻击后的主机修复工作
- 7.6 重点回顾
- 7.7 课后练习
- 7.8 参考数据与延伸阅读
- 第八章、路由观念与路由器设定
- 8.1 路由
- 8.2 路由器架设
- 8.3 动态路由器架设:quagga (zebra + ripd)
- 8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
- 8.5 重点回顾
- 8.6 本章习题
- 8.7 参考数据与延伸阅读
- 第九章、防火墙与 NAT 服务器
- 9.1 认识防火墙
- 9.2 TCP Wrappers
- 9.3 Linux 的封包过滤软件:iptables
- 9.4 单机防火墙的一个实例
- 9.5 NAT 服务器的设定
- 9.6 重点回顾
- 9.7 本章习题
- 9.8 参考数据与延伸阅读
- 第十章、申请合法的主机名
- 10.1 为何需要主机名
- 10.2 注册一个合法的主机名
- 10.3 重点回顾
- 10.4 本章习题
- 10.5 参考数据与延伸阅读
- 第三部分:局域网络内常见的服务器架设
- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
- 11.1 远程联机服务器
- 11.2 文字接口联机服务器: SSH 服务器
- 11.3 最原始图形接口: Xdmcp 服务的启用
- 11.4 华丽的图形接口: VNC 服务器
- 11.5 仿真的远程桌面系统: XRDP 服务器
- 11.6 SSH 服务器的进阶应用
- 11.7 重点回顾
- 11.8 本章习题
- 11.9 参考数据与延伸阅读
- 第十二章、网络参数控管者: DHCP 服务器
- 12.1 DHCP 运作的原理
- 12.2 DHCP 服务器端的设定
- 12.3 DHCP 客户端的设定
- 12.4 DHCP 服务器端进阶观察与使用
- 12.5 重点回顾
- 12.6 本章习题
- 12.7 参考数据与延伸阅读
- 第十三章、文件服务器之一:NFS 服务器
- 13.1 NFS 的由来与其功能
- 13.2 NFS Server 端的设定
- 13.3 NFS 客户端的设定
- 13.4 案例演练
- 13.5 重点回顾
- 13.6 本章习题
- 13.7 参考数据与延伸阅读
- 第十四章、账号控管: NIS 服务器
- 14.1 NIS 的由来与功能
- 14.2 NIS Server 端的设定
- 14.3 NIS Client 端的设定
- 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
- 14.5 重点回顾
- 14.6 本章习题
- 14.7 参考数据与延伸阅读
- 第十五章、时间服务器: NTP 服务器
- 15.1 关于时区与网络校时的通讯协议
- 15.2 NTP 服务器的安装与设定
- 15.3 客户端的时间更新方式
- 15.4 重点回顾
- 15.5 本章习题
- 15.6 参考数据与延伸阅读
- 第十六章、文件服务器之二: SAMBA 服务器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服务器的基础设定
- 16.3 Samba 客户端软件功能
- 16.4 以 PDC 服务器提供账号管理
- 16.5 服务器简单维护与管理
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考数据与延伸阅读
- 第十七章、区网控制者: Proxy 服务器
- 17.1 什么是代理服务器 (Proxy)
- 17.2 Proxy 服务器的基础设定
- 17.3 客户端的使用与测试
- 17.4 服务器的其他应用设定
- 17.5 重点回顾
- 17.6 本章习题
- 17.7 参考数据与延伸阅读
- 第十八章、网络驱动器装置: iSCSI 服务器
- 18.1 网络文件系统还是网络驱动器
- 18.2 iSCSI target 的设定
- 18.3 iSCSI initiator 的设定
- 18.4 重点回顾
- 18.5 本章习题
- 18.6 参考数据与延伸阅读
- 第四部分:常见因特网服务器架设
- 第十九章、主机名控制者: DNS 服务器
- 19.1 什么是 DNS
- 19.2 Client 端的设定
- 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
- 19.4 DNS 服务器的详细设定
- 19.5 协同工作的 DNS: Slave DNS 及子域授权设定
- 19.6 DNS 服务器的进阶设定
- 19.7 重点回顾
- 19.8 本章习题
- 19.9 参考数据与延伸阅读
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服务器之三: FTP 服务器
- 21.1 FTP 的数据链路原理
- 21.2 vsftpd 服务器基础设定
- 21.3 客户端的图形接口 FTP 联机软件
- 21.4 让 vsftpd 增加 SSL 的加密功能
- 21.5 重点回顾
- 21.6 本章习题
- 21.7 参考数据与延伸阅读
- 第二十二章、邮件服务器: Postfix
- 22.1 邮件服务器的功能与运作原理
- 22.2 MTA 服务器: Postfix 基础设定
- 22.3 MRA 服务器: dovecot 设定
- 22.4 MUA 软件:客户端的收发信软件
- 22.5 邮件服务器的进阶设定
- 22.6 重点回顾
- 22.7 本章习题
- 22.8 参考数据与延伸阅读