玩转路由之 AsusWRT-Merlin 与 Entware

时间:2024-10-11 21:54:05

2019独角兽企业重金招聘Python工程师标准>>>

AsusWRT-Merlin

AsusWRT-Merlin 是基于华硕路由器固件的一个嵌入式 Linux 系统,它号称是“增强版”的华硕固件。并且它不仅限于安装在华硕设备上,例如我自己的网件(Netgear)路由器(R7000)也能完美的使用。

跟 Merlin 类似的还有大名鼎鼎的 OpenWRT 以及其衍生项目,例如 LEDE、DD-WRT 等等。相比几乎完全随意读写的 OpenWRT,Merlin 并没有那么*,它的文件系统多数都是只读的(这点在之后会有解释)。
由于某些原因(下面会解释)我的路由器不能用 OpenWRT,而显然 OpenWRT 是最适合我的。但是,不能随意读写文件系统的 Merlin 不表示就扼杀了 Linux 的开放性,这也是我最终依旧选择 Merlin 的理由。

PS:Merlin 固件在国内,很多路由器党都亲切的叫它:梅林。

项目地址:/RMerl/asuswrt-merlin

Entware

Entware 是一个嵌入式 Linux 设备的软件仓库集成工具,也就是传统 Linux 上的包管理工具,例如 Debian 的 dpkg、CentOS 的 yum 等。
它们可以通过网络在远程仓库上拉取并安装所需要的包,同时自动解决依赖问题,是系统上不可或缺的一部分。典型的例子就是:

在 Debian/Ubuntu 上,这样安装仓库软件:

apt install vim

使用本地安装包:

dpkg -i 

Entware 也提供这样的 CLI 工具,它就是 opkg,从名字就能看出来模仿的是 dpkg。opkg 类似于 apt 和 dpkg 的结合,它既能管理本地包也能安装远程仓库的包。例如:

opkg install vim
opkg install ./

介绍完了主要的两大角色,就要开始一步一步来配置环境了。

安装 Merlin

  1. 确认 Merlin 是否支持设备

    这里搜索你的路由器型号足以确认。为了保险起见,建议再去谷歌和百度搜索“路由器型号+梅林”字眼看下是否有坑,例如我当初就没有搜索借鉴下前人的经验,冲着 OpenWRT 去买的 R7000 到头来发现却是存在大坑的。如果我在这之前调查过,应该也不会买这个路由器了。

  2. 从官方固件刷入梅林

    假如你是 Netgear 的路由器,当你在下载好固件压缩包以后,解压出来,有两个文件是可能用到其一的。一个是从官方升级到梅林的 .chk 后缀的文件。 路由器 WEB UI 上选择「管理」-「路由器升级」页面。 选择 .chk 刷入,即成功。

  3. 从梅林固件升级

    如果你已经是梅林固件,不要设置任何东西,直接选择 .trx 升级就是。 路由器 WEB UI 上选择「系统管理」,切换到「固件升级」页面。完成即成功。

注意:很多论坛上的教程都是普通玩家一传十,十传百流下来的内容。其实很多都是错误的。例如,升级之前和之后他们强调恢复出厂设置各一次,其