Linksys 蓝盒子路由器 HOWTO

Eric Steven Raymond

修订历史
修订版 2.32006-08-12修订者:esr
小更新。宣布 HOWTO 维护结束。
修订版 2.32006-05-19修订者:esr
修订了开放固件发行版列表,以及其他小修正。
修订版 2.22005-12-01修订者:esr
删除了关于因 Lynn 解雇事件抵制思科的建议,因为诉讼似乎已以令人满意的条款解决。添加了关于购买 WRTG54l 的建议。
修订版 2.12005-07-28修订者:esr
添加了关于因 Lynn 解雇事件抵制思科的建议。
修订版 2.02005-01-18修订者:esr
重大更新,以反映 2.x 和 3.x 固件的更改。描述了更多固件替换。删除了 Hansen Online,因为它已经很久没有更新了。
修订版 1.62004-02-26修订者:esr
添加了 Link-n-Log
修订版 1.52003-07-31修订者:esr
添加了 Seattle wireless.net 链接。
修订版 1.42003-07-03修订者:esr
Linksys 已发布源代码。
修订版 1.32003-06-08修订者:esr
添加了关于 SNMP 安全问题、机箱改装、Linksys 技术支持的注释。Linksys 原来内部装有 Linux。
修订版 1.22003-04-29修订者:esr
错别字更正。
修订版 1.12003-04-25修订者:esr
添加了 linksysmon 项目的链接。更多配置技巧。
修订版 1.02003-04-09修订者:esr
初始版本,由 LDP 审核。

Linksys 生产一系列廉价、普及的路由器/防火墙设备(型号 BEFSR41 及更高版本,包括 WRT54G),非常适合用于家庭 DSL 连接,并在 Linux 黑客中很受欢迎。本 HOWTO 提供了从 Linux 系统管理 Linksys 路由器的提示和技巧,包括固件升级程序。

本 HOWTO 不再积极维护,因为截至 2006 年 10 月 12 日,作者不再是 Linksys 用户。 时间和技术不断发展,我现在地下室里有一个更高级的路由器,它是我的光纤服务附带的。如果您有资格并有兴趣接手,请联系我。


目录
1. 简介
1.1. 本文档的目的?
1.2. 本文档的新版本
1.3. 许可和版权
2. 如何以及在何处部署
3. 手册丢失了?
4. 配置提示
5. 升级固件
6. 硬件破解
7. 软件破解
8. 实用程序
9. 故障排除技巧
9.1. 偶尔的僵死和癫痫
9.2. 1.38 及更早版本固件下的 Mozilla 界面怪癖
10. 相关资源

1. 简介

1.1. 本文档的目的?

Linksys 生产一系列廉价、普及的路由器/防火墙设备,非常适合用于家庭 DSL 或有线连接,并在 Linux 黑客中很受欢迎。本 HOWTO 提供了从 Linux 系统管理 Linksys 路由器的提示和技巧。

这里描述的具体方法来自长期使用 BEFSR41(4 端口路由器/防火墙设备)的经验。我还配置过 BEFW11S4v2(带 80211b 无线的 4 端口路由器)和 WRT54G(与 BEFW11S4v2 相同的设备,但带有 80211g);我目前正在使用 WRT54G。所有这些蓝色盒子上的 Web 界面都非常相似,大多数建议都应该具有通用性。

在 2004 年底,Linksys 固件经历了重大升级,升级到 2.x 版本(识别此版本的一个简单方法是右下角的思科徽标)。我只见过 WRT54G 运行新的界面,但如果 BEFSR41 和类似型号没有运行新界面,我会感到惊讶。这些更改主要是外观上的。早期版本中的一些有问题的功能已被删除。

本 HOWTO 描述了 Linksys 固件版本 v2.02.7。在撰写本文时(2005 年 1 月),当前的 Linksys 固件版本是 v.3.01.3。我不建议升级! 我收到一份报告,称在此版本上启用 WEP 会导致盒子无法通过网线与 Linux 机器通信。

另请注意,如果您现在要购买其中一款,请务必购买 WRT54GL — 请注意 L 后缀。在 5 及更高版本中,普通的 WRT54G 是不同的硬件,RAM 更少,运行专有的 VxWorks 操作系统。


1.2. 本文档的新版本

您还可以在万维网上查看本 HOWTO 的最新版本,网址为 http://www.tldp.org/HOWTO/Linksys-Blue-Box-Router-HOWTO.html


1.3. 许可和版权

版权所有 (c) 2003, Eric S. Raymond。

根据 GNU 自由文档许可证 1.2 版或自由软件基金会发布的任何后续版本的条款,允许复制、分发和/或修改本文档;不包含不变部分,不包含封面文本,不包含封底文本。许可证副本位于 www.gnu.org/copyleft/fdl.html

欢迎将有关本 HOWTO 的任何问题或意见发送至 Eric S. Raymond,。但请不要问我如何排除您一般的网络问题;如果您这样做,我只会忽略您。


2. 如何以及在何处部署

Linksys BEFSR41、BEFW11、WRT54G 及其同系列产品旨在用作家庭以太网上的网关设备。通常,您会将其中一个连接到 DSL 或有线调制解调器,调制解调器将自动切换到桥接模式,并在您的 ISP 路由器和 Linksys 设备之间简单地传递数据包。

如果您想使用运行 Linux 的通用 PC 作为防火墙,请随意尝试 — 但这些小盒子效率更高。它们最棒的地方在于它们运行固件,并且假设您采取了我们描述的基本预防措施,它们太笨了,无法被破解。此外,它们不会产生风扇噪音或热量。最后,它们内部运行 Linux,可以以有用的方式进行自定义和破解。

Linksys 设备过去在可靠性方面享有盛誉。思科在 2003 年 3 月收购该公司后,他们的质量控制出现了一些问题;不到一年,我就有两台设备无声无息地坏掉了,并且我听到其他人抱怨类似的问题。不幸的是,当我尝试其他低端品牌(Belkin、Buffalo)时,它们被证明存在严重的设计缺陷。Belkin 的防火墙规则存在逻辑错误,干扰了本地 SMTP,而 Buffalo 会间歇性地拒绝连接,原因不明。因此,我重新选择了 Linksys,希望我的 WRT54G 不会在几个月内变成一块砖头。截至 2006 年年中,我已经正常使用了约 24 个月。

(制造这些小玩意儿并非火箭科学。我只能推测,竞争压力正在迫使制造商通过雇用最底层的程序员,并将制造工作外包给印度尼西亚或其他地方的一些低端合同制造商来削减成本。唉,结果往往是不稳定的垃圾。买者自负。)

注意思科收购的另一个后果:Linksys 现在是营销人员所说的侧翼卫士,这是一个低端品牌,旨在保护思科商业级网络产品的利润和品牌形象。这意味着 Linksys 设备不再获得新的固件功能,并且一些旧功能(如状态数据包检测)几乎肯定不会回归。如果您可以接受这些限制,这实际上是好事;更简单的固件更稳定。而且,在任何情况下,如果您需要这些功能和复杂性,开源替代固件都可以为您提供。

至少,一个正常工作的 Linksys 设备将为您执行以下操作

  1. 充当以太网路由器。 您可以将所有线路和集线器以及主机插入其中,以便即使您的外部链接断开,也可以交换数据包。

  2. 充当智能网关。 当您为 Linksys 配置公共静态 IP 地址(或告诉它在启动时从您的 ISP 获取动态 IP 地址)时,它将在您的专用网络和 Internet 上的主机之间充当网关,执行路由流量所需的所有 IP 地址伪装和地址转换。

  3. 防火墙您的连接。 您可以告诉它阻止除您需要的最少服务通道之外的所有通道。您可以分别为每项服务指定流量应路由到您的哪些内部机器。

我给我的 Linksys 设备分配了标准的私有网络网关地址 192.168.1.1。然后,我给我的所有设备分配 192.168.1.x 地址,并告诉它们 Linksys 是它们的网关。一切正常。


3. 手册丢失了?

如果您丢失了手册,或者购买了没有手册的二手设备,请不要担心。在旧版本的“帮助”选项卡下,有指向 PDF 和 Linksys 公司网站的链接。较新版本在固件中内置了参考文档,如果您的网络连接中断,这将是一件好事。

不幸的是,如果您需要 Linksys 技术支持,您就麻烦了。在我致电他们(在 2003 年)的唯一一次,我遇到的第一位技术人员甚至不会说英语,而第二位技术人员的英语也勉强能听懂。他们都是完全的白痴,对任何非同寻常的问题的反应都是让我无限期地等待,同时他们去找其他人咨询 — 然后胡乱地回答。从他们的口音判断,我猜 Linksys 技术支持已外包给第三世界某个特别落后的角落。

我听说他们的电子邮件支持稍微好一些,但我自己没有测试过。


4. 配置提示

为了安全起见,请通过 Linksys Web 界面(可能在您的网络上的 http://192.168.1.1)执行以下操作

  1. 更改您的管理密码。 在 2004 年 6 月 15 日,有广泛报道称,关闭远程管理功能不起作用 — 您仍然可以从无线端访问管理页面。此错误仍然存在于 2004 年 10 月的 2.02 固件中。这意味着,如果您将密码保留为默认密码,任何脚本小子都可以闯入、窃取您的 WEP 并扰乱您的配置。Linksys 的人在这个错误中获得了白痴勋章和橡叶饰。

    (我不知道此错误是否仍然存在于 3.x 固件中。最好检查一下。)

  2. 确保 DMZ 主机功能已禁用,在应用程序+游戏->DMZ 主机下,或在较新版本中)应用程序和游戏->DMZ 主机。它默认为关闭。

  3. 端口转发特定服务,而不是设置 DMZ,并且尽可能少地设置这些服务。一个好的最小集合是 22 (ssh) 和 80 (http)。如果您想接收邮件,请添加 25 (smtp)。如果您需要提供 DNS 查询,请添加 53。要提供 identd,以便远程 MTA 可以验证您的身份,请启用 113。

  4. 禁用通用即插即用。密码下查找。在“密码”选项卡下有一个单选按钮;较新的固件版本将其放在管理+管理下。UPnP 是 Windows 中一个臭名昭著的安全漏洞,并且至少在固件版本 1.44 之前,有很多 Web 传言称 Linksys 的实现不稳定。虽然这不会影响由有能力的人编写的操作系统,但即使是来自一群脚本小子探测的流量也没有必要到达您的网络。

只有较旧的固件版本才需要执行以下两个步骤。如果您拥有 2.x 或更高版本的固件,则可以忽略这些步骤。

  1. 禁用 AOL 家长控制。 确保 AOL 家长控制(在安全下)已关闭(默认情况下为关闭);否则,Linksys 将根本不会为您的 Unix 机器传递数据包。较新版本的固件没有此错误功能。

  2. 禁用状态数据包检测。 如果您想运行服务器并且正在运行 1.42 或更早版本的固件,您还需要确保状态数据包检测已关闭 — 此功能将传入数据包限制为与传出连接相关的数据包,旨在提高仅客户端系统的安全性。在过滤器页面上,确保 SPI 处于关闭状态。如果您没有看到 SPI 的单选按钮,请放松 — 该功能并非存在于所有版本的固件中,实际上在 1.43 中已删除,原因是稳定性问题。


5. 升级固件

在升级之前,这里有一个文档中没有提及的提示:断开所有跳线,只留下从您用于升级设备的机器连接的跳线。在固件加载过程中处理大量其他网络流量可能会损坏固件。

您可以通过三种方式升级 Linksys 固件。

一种方法是单击管理页面上的 “升级固件” 链接。将固件映像下载到您的浏览器运行的机器上,填写标有 “请选择要升级的文件:” 的字段,单击“升级”按钮,然后让正确的事情发生。这是最不容易出错的程序,建议使用。

另一种方法是使用 Linkys 网站上的固件升级软盘映像。这需要您启动 Windows 或使用 WINE。不建议使用。

第三种方法是使用 tftp。这是我第一次升级固件的方式,在 Linksys 将 “升级固件” 添加到固件之前,我在这里记录它以供完整性参考,即使我现在推荐他们的升级方法。Red Hat Linux 附带了一个 tftp 客户端。要通过这种方式升级固件,请执行以下步骤

  1. 写下您的设置。 固件升级可能会擦除其中一些设置。旧版本会将所有内容恢复为出厂默认设置;较新版本会保留您的基本设置,但会清除一些高级设置。

  2. 下载新固件的副本。 从 Linkys 主页跟踪“下载”链接。请注意,您获得的内容很可能被标记为 “面向 Windows 用户” 并且是 zip 存档。在临时目录中打开它,因为它会在您解压缩它的任何位置粗鲁地创建多个 Windows 文件。您需要的文件将被称为CODE.BIN.

  3. 禁用路由器密码。 请注意,我尝试使用 Mozilla 执行此操作的每次尝试都失败了(在 1.38 和 1.44 下)。Konqueror 工作正常,Firefox 在 2.x 固件下工作正常。转到“密码”选项卡,在两组星号上按退格键,直到“密码”和“确认”字段都为空白,然后单击“应用”。

  4. 祈祷好运并加载固件。 您想要看到的命令会话将如下所示,将您的路由器 IP 地址替换为 192.168.1.1

    tftp 192.168.1.1
    tftp> binary
    tftp> put code.bin
    Sent 386048 bytes in 10.3 seconds
    tftp>
    

    如果客户端在返回之前挂起一段时间,请不要惊慌,并且不要中止传输。该命令正在写入固件,并且 Linksys 没有多少智能。等待它完成。

  5. 重新启用您的路由器密码和其他设置。 您将能够判断升级是否成功,因为固件版本号将已更改。

您已完成。


6. 硬件破解

Linksys 设备具有对串行控制台的固件支持。电路板上有两个串行端口的走线,但您必须进行一些相当认真的改装才能使它们工作。此页面将向您展示如何操作。


7. 软件破解

Linksys 路由器从固件运行 Linux。Linksys 在其网站上提供源代码;在技术支持下查找“GPL 代码中心”。

WRT54G 固件有几个替代品。所有替代品都添加了一些常见的特性,例如 (a) ssh 进入设备上运行的 Linux 的能力,(b) 欧洲 WiFi 频道,以及 (c) VPN 服务。

Wifi-Box

支持 SNMP/mrtg。据说有一个良好的界面,方便家庭使用。

SveaSoft

专为无线 ISP 设计,包含大量用于路由和中继器操作的功能。开源,但您可以购买支持和私有版本订阅。该组织因违反 GPL 而受到抨击,并且显然失去了曾经拥有的良好声誉。

DD-WRT

几年前从 SveaSoft 代码库分叉出来的。

OpenWRT

适用于想要尝试自己的自定义设置的人的工作台。提供一个框架和一组支持特定功能的模块化软件包。

HyperWRT

从 Linksys 3.01.3 固件开始,并添加了一些功能。可能对那些熟悉 Linksys 界面的人有用。

http://www.batbox.org/wrt54g-linux.html

另一个黑客工作台,这个工作台从 RAM 磁盘运行,因此您不必重新刷新设备。因此,不会有损坏路由器的风险。缺点是每次断电重启后都必须重新加载。

可以使用固件升级程序安装这些中的任何一个。

可以在此处此处找到适用于其他 Linksys 硬件(尤其是 WAP54G)的固件。

要了解用于开发这些固件替代方案的技术,请访问 Seattle wireless.net 上关于破解 Wrt54g 的有趣网站。


8. 实用程序

有一个名为 linksysmon 的 Unix 实用程序,它通过 SNMP 与这些设备通信。请查看Linksysmon 项目站点

Linksysmon 是一种用于在 Linux 和其他类 Unix 操作系统下监控 Linksys BEFSR41 和 BEFSR11 防火墙的工具。它接受来自 Linksys 的日志消息,并将消息记录到/var/log/linksys.log。它处理标准活动日志以及 “秘密” 扩展日志记录,并且可以处理来自多个防火墙的日志。使用扩展日志记录时,它可以检测外部 IP 地址更改(如果您使用 DHCP 或 PPPOE),并且可以调用外部程序来处理更改。

Link-n-Log 是一个类似的工具,它包含 GUI 并记录到 SQL 数据库。详情请访问 Link-n-Log 项目页面


9. 故障排除技巧

9.1. 偶尔的僵死和癫痫

Linksys 设备偶尔会冻结(每隔几个月一次),必须断电重启。如果您的外部 Web 访问突然停止工作,请怀疑是这种情况;ping Linksys 设备进行检查。

这些僵死发作可能与电源不良有关;至少,它们似乎在雷暴和电压骤降期间更频繁地发生。如果您认为发生了这种情况,只需拔下设备背面的电源连接器,然后再插回去即可。Linksys 应该会在 30 秒左右的时间内自行重启。

还有一种更严重的故障模式,我只见过一次;它更像是癫痫发作而不是僵死,并且涉及 Link、Collision 和 100Mbit 诊断指示灯上的奇怪闪烁模式(100Mbit 指示灯通常不应闪烁)。

如果发生这种情况,断电重启 Linksys 将不足以解决问题;您必须硬重置它。某些版本(如 BEFSR41)有一个重置针孔,您可以用回形针末端通过前面板上标有“Reset”的小孔戳进去。某些版本(如 BEFW11S4 和 WRT54G)背面有一个重置按钮。您必须按住这些按钮约三十秒钟才能硬重置非易失性 RAM。这将丢失您的配置设置。


9.2. 1.38 及更早版本固件下的 Mozilla 界面怪癖

Linksys 蓝色盒子在其固件中嵌入了一个 Web 服务器。管理它的正常方法是将浏览器指向您网络上的 IP 地址。您可以通过填写 HTML 表单来对设备进行编程。

这是一个不错的设计,巧妙地避免了使用特定于操作系统的客户端软件。但是,某些旧版本的 Web 服务器固件有一个怪癖,它与 Mozilla 中的一个错误(至少在 1.0.1 版本中)相互作用,使得界面几乎无法使用。幸运的是,恢复过程很简单。已知此错误在 1.40 版本中仍然存在,并且还会干扰 Netscape;它在 1.44 版本中已不存在,并且是升级的一个充分理由。我们收到一份报告称 Mozilla 1.3 在 1.43 版本中失败,因此修复该问题的更改很可能是在 1.44 版本中引入的。

您可能看到的症状是每个页面的左上角都有一个损坏的图像图标。损坏的图像是一系列文件文件夹选项卡,用于图像地图。该图像地图是您访问其他网页的方式。

您可以通过右键单击损坏的图像图标来恢复。选择 “查看图像”,然后返回。这将正确构建图像地图。

您几乎总是需要在第一页上执行此操作,但它通常不会在以后的页面加载中触发。

以下是正在发生的事情。Mozilla 尝试在其与之通信的 Web 服务器上流式传输多个并发请求,以加快页面加载速度。Linksys 中迟钝的小固件 Web 服务器是单线程的,并且不处理并发请求。因此存在竞争条件。当您恰好点击窗口时,您会收到一个中止的请求和一个损坏的图形。

大多数其他浏览器都对这个问题免疫。Konqueror 不会触发它。Internet Explorer 也不会。


10. 相关资源

LinksysInfo.org 上有一个大型用户社区网站。它包括新闻、支持论坛和自定义固件下载。

有一个 Linksys 提示和技巧 FAQ;它主要是 Windows 内容,但一些战争故事可能有用。