OpenWrt——适用于路由器的Linux系统

jopen 11年前

OpenWrt是什么?它是一个适用于路由器的Linux发行版。和其他Linux发行版一样,它也内置了 包管理工具,你可以从一个软件仓库里直接安装软件。OpenWrt可以用在所有需要嵌入式Linux的地方,它有众多功能,比如SSH服务器,VN,流量整形服务,甚至是BitTorrent客户端。

OpenWrt并不适合所有人。大多数人对自己的路由器自带固件已经很满意了,但许多高级用户则会使用像DD-WRT这样的嵌入式替代方案。但 OpenWrt更灵活——本质上它是一个可安装于各种路由器的嵌入式Linux系统。OpenWrt有一个web交互界面,但如果你需要的只是一个有更多 特性的web界面,还有其他一些路由器固件的替代方案会让你感觉更好。
和DD-WRT一样,OpenWrt基于Linux而且比一些路由器自带的固件更稳定,要知道有些路由器一旦遇到大量连接就会比较让人捉急了。

OpenWrt的用处

在路由器上安装模块化的Linux发行版,如果这个主意一丁点儿没让你感到兴奋的话,你可能读错了文章。除了可以作路由器,我现在就列出OpenWrt其他一些比较酷的功能。

  • SSH隧道:OpenWrt包含了一个SSH服务器所以你可以访问它的终端。把它的SSH服务暴露在网络下之后(别忘了用密钥验证而非弱密码的方式给它加密),你就可以远程连接并使用SSH隧道加密访问它。这使得在国外的你可以通过公共Wi-Fi访问一些只有在国内能访问的网站。
  • 搭建VN:SSH隧道和V*N在很多方面很相像,但你还是可以在OpenWrt路由上搭建适合自己的V*N。</li> </ul>
    • 安装BitTorrent客户端:如果有特定的网络附加存储器(NAS),或者一个附带了USB端口的路由器和一个USB设备,你就可以把路由器当作一个BitTorrent客户端了。
    • 运行服务器软件:OpenWrt的软件源包含了可以让它作为web服务器的软件包,比如IRC server,BitTorrent tracker,等等。你可能正在使用路由器,那为什么不干脆把这台路由当作一台服务器来用?路由器耗电比计算机少得多,所以把它当作一个轻量级服务器是 很聪明的做法。
    • 流量整形服务:OpenWrt让你可以对经过路由的包进行数据包整形并检测其服务质量,将合适的数据包优先分配。你甚至可以将指定数据包优先分配给指定计算机,而对分配给其他计算机的包暂缓处理。
    • 捕获并分析网络流量:你可以使用tcpdump来记录所有经由你路由器的数据包。然后可以分享到网络或者使用类似Wireshark的工具来打开它,进而分析你的网络流量与行为。
    </blockquote>

    以上列出的并不完整,还差得远呢。但它应该让你开始思考OpenWrt还能做的其它事。它是个有大量软件包的嵌入式Linux系统,在许多方面它就跟计算机上的Linux系统一样灵活——虽然它对硬件的约束要高得多。

    安装OpenWrt

    OpenWrt最初由Linksys WRT54G开发出来,但现在它已经支持许多路由器模式。你可以在其官方网站找到这串支持的模式列表。OpenWrt的wiki同样提供了如何安装OpenWrt的说明。要注意的是,安装OpenWrt意味着你把路由器的自带固件替换成了OpenWrt操作系统。
    OpenWrt——适用于路由器的Linux系统

    终端及web接口

    一旦OpenWrt安装好以后,你就可以通过SSH客户端(比如Windows下的PuTTY,或者Linux和Mac 里边自带的ssh命令行)访问它的BusyBox shell。BusyBox是一个在嵌入式Linux里被广泛使用的shell,OpenWrt还提供了常用程序(比如vi)以供文件编辑。和其他 Linux系统一样,你可以运行许多脚本,还可以建立定时任务,按时间表执行指令。
    OpenWrt使用opkg软件包管理工具从软件源中安装成千上万的包。它同样使用UCI(Unified Configuration Interface)来配置系统。OpenWrt已经置备了各种你需要的信息。
    OpenWrt——适用于路由器的Linux系统
    然而你并不需要懂得所有这些东西。OpenWrt有LuCI,一个用于配置你的路由器的web交互接口。这个web接口包含大量不同的配置页面,其中一个 是软件包管理页面,使得你可以浏览、搜索和安装可用的软件包。 你可以安装多少包,取决于你的路由器存储空间有多大。肯定没有足够的空间让你把所有东西都安装上去,OpenWrt的模块化属性允许你选择你想要安装的特 性,然后装配你的路由器操作系统。
    一些软件包同样有LuCI配置页面,安装完后你可以在此很方便地配置它们。注意不是所有的软件都有LuCI界面,所以有些软件你可能不得不亲自去终端配置它们。
    OpenWrt——适用于路由器的Linux系统
    你是否使用过OpenWrt或者其他第三方路由器固件?你用它们来做什么?在评论里分享你的经历或者你学到的小技巧吧。


    原文链接: Chris Hoffman 翻译: 极客范 - 钟益强
    译文链接: http://www.geekfan.net/2344/