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

本文由 极客范 - 钟益强 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

好吧,OpenWrt是什么?它是一个适用于路由器的Linux发行版。和其他Linux发行版一样,它也内置了包管理工具,你可以从一个软件仓库里直接安装软件。OpenWrt可以用在所有需要嵌入式Linux的地方,它有众多功能,比如SSH服务器,VPN,流量整形服务,甚至是BitTorrent客户端。
OpenWrt并不适合所有人。大多数人对自己的路由器自带固件已经很满意了,但许多高级用户则会使用像DD-WRT这样的嵌入式替代方案。但OpenWrt更灵活——本质上它是一个可安装于各种路由器的嵌入式Linux系统。OpenWrt有一个web交互界面,但如果你需要的只是一个有更多特性的web界面,还有其他一些路由器固件的替代方案会让你感觉更好。
和DD-WRT一样,OpenWrt基于Linux而且比一些路由器自带的固件更稳定,要知道有些路由器一旦遇到大量连接就会比较让人捉急了。

OpenWrt的用处

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

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

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

安装OpenWrt

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

终端及web接口

一旦OpenWrt安装好以后,你就可以通过SSH客户端(比如Windows下的PuTTY,或者Linux和Mac 里边自带的ssh命令行)访问它的BusyBox shell。BusyBox是一个在嵌入式Linux里被广泛使用的shell,OpenWrt还提供了常用程序(比如vi)以供文件编辑。和其他Linux系统一样,你可以运行许多脚本,还可以建立定时任务,按时间表执行指令。
OpenWrt使用opkg软件包管理工具从软件源中安装成千上万的包。它同样使用UCI(Unified Configuration Interface)来配置系统。OpenWrt已经置备了各种你需要的信息。

然而你并不需要懂得所有这些东西。OpenWrt有LuCI,一个用于配置你的路由器的web交互接口。这个web接口包含大量不同的配置页面,其中一个是软件包管理页面,使得你可以浏览、搜索和安装可用的软件包。 你可以安装多少包,取决于你的路由器存储空间有多大。肯定没有足够的空间让你把所有东西都安装上去,OpenWrt的模块化属性允许你选择你想要安装的特性,然后装配你的路由器操作系统。
一些软件包同样有LuCI配置页面,安装完后你可以在此很方便地配置它们。注意不是所有的软件都有LuCI界面,所以有些软件你可能不得不亲自去终端配置它们。

你是否使用过OpenWrt或者其他第三方路由器固件?你用它们来做什么?在评论里分享你的经历或者你学到的小技巧吧。



原文链接: Chris Hoffman 翻译: 极客范 - 钟益强

译文链接: http://www.geekfan.net/2344/

[ 转载请保留原文出处、译者和译文链接。]

翻译圈新手,请多指教~

9 评论

  1. chiawei  /  2013 年 7 月 16 日, 上午 11:02 回复

    Hidden due to low comment rating. Click here to see.

    Poorly-rated. Like or Dislike: Thumb up 0 Thumb down 4

  2. banglang  /  2013 年 7 月 17 日, 上午 9:05 回复

    不错的路由器系统,已经接触1年多了,在包括系统,应用等各方面开发都积累了不少经验. …

    Thumb up 5 Thumb down 0

    • 陈舸  /  2013 年 7 月 17 日, 下午 5:01 回复

      可以分享一下经验吗,比如应用方面的?

      Thumb up 1 Thumb down 0

    • hansir111  /  2013 年 7 月 18 日, 下午 8:51 回复

      请问能留个互相交流的信息吗或者留一个博客地址什么的?我想试试openwrt,有几个问题需要请教请教。

      Thumb up 0 Thumb down 0

  3. Akagi201  /  2013 年 9 月 12 日, 上午 12:37 回复

    本菜业余时间在玩OPENWRT, 感兴趣的点我的ID可以访问我的博客, 可以交流一下

    Thumb up 0 Thumb down 0

  4. alpha  /  2014 年 1 月 13 日, 上午 5:20 回复

    当初是因为尝试单线多拨才开始接触openwrt的,渐渐了解到这个基于路由器的linux还是能玩出各种linux上的各种应用。
    还是有那么几个论坛可以参考:
    http://www.openwrt.org.cn
    http://Www.right.com.cn 里的openwrt版块

    Thumb up 0 Thumb down 0

    • 陈舸  /  2014 年 1 月 13 日, 上午 10:05 回复

      欢迎你把自己的心得或玩法分享到这里来~

      Thumb up 0 Thumb down 0

  5. Wandy  /  2014 年 1 月 26 日, 上午 8:56 回复

    最近一直在看LuCI界面,基本了解了框架。目前在看Lua源代码。好多哦。

    Thumb up 0 Thumb down 0

  6. Roger  /  2014 年 5 月 10 日, 上午 10:44 回复

    我小白买了一个极路由1s,想学open w RT 编译,但是网上教材还是不能看懂。。。。。。

    Thumb up 0 Thumb down 0

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">