为了改进简单性和安全性,您可能希望试验一下我为用户提供的一种方法。我获得了每台客户机的 MAC 地址,因此只有那些已知的 MAC 地址才允许连接到这个无线网络上。我为每台客户机都分配了一个固定的 IP 地址,这样只有那些已知的 IP 地址才能通过路由器。将这些客户机的信息保存在某个地方要比同步并复制配置文件容易得多。我在 /etc/hosts 中为每台客户机的 IP 地址都分配了一个容易记忆的名字,并在同一行中写下了该客户机的 MAC 地址。例如:
192.168.168.198 wet11two 00:0C:41:BE:BF:B0
清单 2. 分配一个主机名和 MAC 地址
请参阅参考资料中 /etc/hosts 的一个示例实现。
networkingrestart:networkingrestart 脚本负责启动网络,并对所有有效的客户机进行身份验证。它将读取 /etc/hosts 文件,然后将这个 MAC 地址添加到无线访问控制列表中。
gethost:在向 gethost 脚本传递一个 IP 地址、主机名或 MAC 地址时,它就会从 /etc/hosts 文件中返回所有这三种内容。countlog、pingscan 和 scanap 脚本都会使用 gethost 脚本,也可以在命令行中直接使用此脚本。
scanap:scanap 脚本的作用是显示 IP 地址、MAC 地址、主机名,以及客户机与 AP 之间的连接的质量。它会对 Wireless Tools 的 iwlist 的输出结果重新进行格式化,并添加 MAC 地址的信息,这样就可以在每一行中对每台客户机的状态进行总结。它的输出结果如下所示:
MAC Address...... Quality Signal Noise. IP Address....... Name 00:0C:41:BE:BF:B0 238/92 -29 -35 192.168.168.198 wet11two
清单 3. scanap 脚本的输出
管理带宽
WISP 要负责处理有线网络中的所有复杂问题,以及特定于无线环境的一些问题。下面这些脚本可以确保您所提供的带宽既稳又快。
errors:errors 脚本会对 Linux 的 /proc/net/ 中的信息进行统计,并给出这个访问点的所有传输错误率的快照。它还将输出结果写入一个表格文件,供以后处理使用。它的输出结果如下:
13 22:20 TX Octets: 294080 TX errors: 1665 TX error ratio: 176 13 22:20 RX Octets: 893539 RX errors: 3225913 RX error ratio: 0
清单 4. errors 脚本的输出结果
这个例子说明第一次成功传送的报文的数量比需要重新传送的报文的数量多 176 倍,还说明发送报文时出现的错误远远多于接收报文的错误。这些数字仅仅是我们需要观察的一些指标,因此如果这些数字并不一致,也不用担心。使用情况会对这些比率值造成非常大的影响。如果不使用网络,就不会有成功的报文,因此这个比率就是 0。如果很少使用网络,那么这个比率就会很低。随人们越来越多地使用网络,这个比率可能会极其高。
pingscan:pingscan 脚本负责测量网络的延时,它将说明客户机是否具有最快、最可靠的吞吐量。它向客户机发送 4 个短的 ping 包(每个是 56 个字符)和 4 个长的 ping 包(每个是 1,024 个字符),然后返回以下信息,每行的内容如下:
● 客户机的主机名和 IP 地址。 ● 时间戳。 ● 接收到短 ping 包的响应的个数。 ● 接收到长 ping 包的响应的个数。 ● 对短 ping 包响应超过 1 秒的个数。 ● 对长 ping 包响应超过 1 秒的个数。
它还要将结果记录到一个电子表格文件中,便于以后进行分析。在如清单 5 所示的结果中,这个主机目前执行得很好。这些响应来自 4 个短的 ping 包和长的 ping 包。没有一个响应超过 1 秒。
wet11two,2005-03-18,23:59,4,4,0,0
清单 5. pingscan 脚本的输出
下一个示例输出清单是在一天后执行的。在这一天中,同一台主机上丢失了一些响应信息 —— 4 个短 ping 包中只有一个收到了响应,4 个长 ping 包中只有 3 个收到了响应。
wet11two,2005-03-19,23:59,1,3,0,0
清单 6. 示例 pingscan 脚本的输出
如果其他客户机都运行良好(4,4,0,0),那么就是这台主机目前出现了问题。另一方面,如果多台客户机上都丢失了响应信息,那么问题就可能在于访问点上。
|