Board logo

标题: 用 Linux 脚本简化无线网络的管理(1) [打印本页]

作者: look_w    时间: 2018-5-18 20:44     标题: 用 Linux 脚本简化无线网络的管理(1)

使用现有的无线路由器创建一个小型的无线网络非常简单。但是为办公室、公寓或邻居提供符合业界标准的无线链接就是另外一回事了。在构建好无线网络之后,就可以运行无线 Internet 服务提供者(WISP)服务。要运行 WISP,则需要回答以下问题:
在本文中,您将学习如何使用 Linux 脚本来回答这些问题。在开始之前,首先需要设置服务器。
无线服务器硬件我之所以成为一名无线 Internet 服务提供者,是因为我的邻居没有 DSL 或其他 Internet 接入服务。另外一个 WISP 从附近的一个山顶上提供了一条(昂贵的)连接,因此我决定购买这个服务,与邻居们共享带宽,并共同承担费用。访问点的无线卡会生成一个非常微弱的信号,因此,为了将信号丢失的情况降至最低,我希望能够将天线做得尽可能的短。还希望能够架设一条户外天线,这样就可以让更多的邻居可以访问这个无线链接。这两种设备让我可以将服务器设置在户外的天线上( 的链接中给出了一张图片,还提供了有关此文中讨论的产品和包的信息)。这个示范性的服务器是一个现有的无线访问点(WAP),它安装在一个防水的 Pelican 箱子中。它并不是非常可靠,因此我常常需要爬上屋顶来解决问题。我需要使用一架梯子来帮助我爬上爬下,以后还需要将这个访问点升级成一个更可靠的系统。下一代的硬件将会:
我购买了一块很便宜的系统板(Soekris Engineering 的 net4521),它可以完全满足这些需求,并且可以使用一块 Compact Flash Card,而不必再使用硬盘。这块系统板不用制冷风扇就可以在温度变化很大的环境中使用。
无线卡芯片确定了该系统板是 Linux 友好的, Intersil/Conexant Prism2/3 芯片也对 Linux 提供了很好的支持。
Linux 软件Pebble Linux 是一个专门为嵌入式无线应用程序设计的发行版。为其取名 Pebble 就是因为它非常小,并且很简单。这个系统中包含了一些很好的特性,例如:
Pebble Linux 包括很多可用的无线包,利用 Debian 的 apt-get 很容易添加其他包。您可能希望通过在另外一台服务器上放置一些包(例如 ntop)来共享工作负载。这些包可以在一块系统板上与 10 台客户机很好地运行,而不会过度浪费处理器或内存。以下是我推荐的几个开源包:
在中,可以找到这些工具的链接。
所需要的 Linux 无线管理脚本这些包提供了一些基本的工具来启动无线网络并运行 Linux。从现在开始,要使这些工具一直顺利运行可能是一件头疼的事情;也可能非常简单,但需要使用一些工具来帮您实现以下功能:
为了满足这些需求,我编写了很多脚本;所有这些脚本都可以从一个命令行中直接使用。Linux 具有一个很好的安全 shell(SSH)服务器的实现,因此我可以从任何具有 Internet 连接的地方来对服务器进行管理。
管理服务器Linux 发行版本通常包括一些简单的管理工具,不过这些工具的功能却很强大。没有以下这些工具,我几乎无法生活:
我的 WAP 在内存中有一个只读的文件系统,用于为文件和日志提供服务。这样就可以将一个 Compact Flash Card 的文件系统一直作为只读模式使用。我编写了一些脚本来管理这些有限的空间。
bigfiles:bigfiles 脚本会判断应该删除哪些文件来防止出现空间用尽的情况。它对三种级别的空间利用情况进行了总结:
输出结果如下:
清单 1. bigfiles 脚本的输出结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
------------------------------------------------------------------------------
Filesystem Size Used Avail Use% Mounted on
tmpfs 10M 952k 9.0M 10% /rw
Finding big files in /rw filesystem...
916k ./var
4.0k ./usr
0 ./tmp
8.0k ./root
24k ./etc
0 ./dev
952k .
952k total
./var/log/router
./var/log/messages
------------------------------------------------------------------------------




checkspace
checkspace 脚本每小时运行一次,负责在这个读写的文件系统上维护最少的可用空间。如果文件系统的利用率达到 80%,那么 checkspace 就会运行 logrotate,后者会根据需要压缩和删除日志文件。
aptgetupgrade:aptgetupgrade 脚本检查包的新版本,并进行必要的更新。这个脚本对 Debian apt-get 命令进行了简单的封装,可以通过 /etc/cron.daily 运行该命令,从而帮助您更新各种补丁。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0