给 Netgear R8000 装上了 OpenWrt

这半年实在太忙了。上次把 Netgear R8000 恢复出厂设置,将原来安装的 AdvancedTomato 换成了 OpenWrt 18.06.5。只来得及整理了「从 AdvancedTomato 恢复到 Netgear 原厂固件」这一部分记录。今天把刷机 OpenWrt 和配置整理一下吧。我的便签本都要破没了,怕以后需要的时候还得从头来。

其实 AdvancedTomato 用着挺好的,但是那阵子不知道为什么经常需要重启路由器才能通过 Web 界面或者 SSH 来连接到路由器。特别是,在外面的时候通过 VPN 也连不到路由器了。

刷 OpenWrt 固件

给恢复了原厂固件的 Netgear R8000 刷 OpenWrt 还是非常轻松的。到 OpenWRT 的固件列表里下载最新的固件,最新的已经是 19.07.0 了,直接通过 R8000 默认的网页管理界面上传并刷机即可。网页管理界面位于「Advanced 高级」标签页里面的「Administration 管理」栏目下的「Router Update 路由器更新」页面。浏览定位到下载的那个固件文件,然后单击「Upload 上传」并「Apply 应用」,等待几分钟后重启路由器即可(不需要重置)。

OpenWRT 的确是要比 AdvancedTomato 原始多了。用它的感觉就像刚开始用 Linux 操作系统一样。幸好我已经有了多年使用 Linux 的经验,很多地方可以借用。而且之前使用 AdvancedTomato 的配置经验也可以作为参考。

连接与登录

连接网线之后,如果有必要就修改电脑网卡的地址为 192.168.1.2,掩码 255.255.255.0。通过浏览器访问 192.168.1.1 即可打开默认的网页管理界面 LuCI。因为是首次登录,根据提示去设置管理员密码。

默认的界面很清爽,登录之后首先看到的是「Status 状态」页面,列出了路由器硬件和系统信息。设置操作的关键在页面顶部导航条里面的各项内容。导航条从左至右如下所示,

路由器名称 | Status | System | Network | Logout

我们需要配置的部分就在「System 系统」和「Network 网络」这两个下拉菜单里面。还是像到了一个新家一样各个角落里都看看吧。很快就会发现它只是布局不一样,内容跟 AdvancedTomato 还是大同小异的。大概是按着顺序配置下去就可以了。

系统配置

在导航栏的 System 下拉菜单里面有多个条目。简介如下。

      • System
        • General Settings 里面的时间、主机名和时区。
        • Time Synchronization 里面配置自动从网络服务器同步设置时间。
        • Language and Style 里面选择网络管理界面的语言(但是如果没有安装是没得选的)和风格。
      • Administration
        • Router Password 设置路由器的访问密码。
        • SSH Access 里可以选择 SSH 服务器端要监听的网卡(虚拟)和端口。服务器端运行的是 Dropbear。
        • SSH-Keys 标签页可以添加自己的公钥,从而让你可以不需要密码就能 SSH 进入路由器。可以参「配置 SSH 服务以使用证书登录 Linux 服务器」,因为它们本质上是一样的。只是这里不需要通过命令行来添加公钥而已。
      • Software 可以更新可用的软件列表、上传软件包来安装或者配置软件管理器 opkg 的配置选项。
      • Startup 开机自启动的系统服务。暂时不用管。
      • Scheduled Tasks 计划任务。但是这个是跟 Linux 系统中的 cron 一样的东西。需要按照格式提供重复时间和需要运行的指令。格式如下,
        # 格式
        # * * * * * 要运行的指令
        # - - - - -
        # | | | | |
        # | | | | ----- 星期几 (0 - 6) (星期天 =0)
        # | | | ------- 月份 (1 - 12)
        # | | --------- 日期 (1 - 31)
        # | ----------- 小时 (0 - 23)
        # ------------- 分钟 (0 - 59)
        # 例如下面这个(注意行首的 # 表示该行仅仅是注释)
        */15 * * * * sh /home/bash/cron_per_15min.sh
        # 表示每 15 分钟运行一次
    • LED Configuration 配置 LED 指示灯。暂时不用管。
    • Backup / Flash Firmware 备份、恢复、刷固件。
    • Reboot 没得说,重启路由器。

网络配置

在导航栏的 Network 下拉菜单里面有多个条目。简介如下。

    • Interfaces 路由器上的网络接口,默认的有 LAN (br-lan)、WAN 和 WAN6。虽然选项很多,但是需要设置的并不太多。如果已经将路由器连接到了光猫上,经过下面的设置路由器应该已经可以上网了。
      • LAN 指的就是路由器自己,也就是家庭网关的配置。可通过其右边的 Edit 按钮打开编辑。
        • General Settings 里需要配置地址分配方式 Protocol,可选择静态地址 Static address;然后勾选开机启动 Bring up on boot;网关地址 IPv4 address,比如选用 192.168.1.1;地址掩码 IPv4 netmask 设为 255.255.255.0。其余的不需要修改。
        • Advanced Settings 里面可以勾选启用内置的 IPv6 管理 Use builtin IPv6 management。
        • Physical Settings 里面勾选 Bridge interfaces;然后在下面的 Interface 那里通过下拉菜单勾选 Switch VLAN eth0.1 以及几个无线网络 Wireless Network。这样这几个接口所承载的设备就同在这个网关所统领的局域网 LAN 里面从而可以通过这个 LAN 网关与下面 Switch 里定义的 WAN 通信了。
        • Firewall Settings 里面就将这个设为默认的 lan 区吧。
        • DHCP Server 这里暂时不需要修改。
      • WAN 是需要配置路由器怎么访问互联网的。对于目前郑州联通提供的光纤宽带,如果是按照水景一页之前介绍的方式使用了独立的光猫的话,这里直接设置路由器拨号就可以了。
        • General Settings 里需要配置地址分配方式 Protocol 为 PPPoE;然后勾选开机启动 Bring up on boot;填写对应的用户名 username 和 密码 Password。其余的不需要修改。
        • Advanced Settings 里面勾选启用内置的 IPv6 管理 Use builtin IPv6 management。这样一来,在保存设置的时候 OpenWrt 会自动创建一个新的接口 WAN_6(与前面提到的 WAN6 不一样),用于自动配置 IPv6。剩下的不需要修改。当然如果你愿意,可以在 Use custom DNS servers 填入自己喜欢的 DNS 服务器地址,比如公共 DNS。 以避免宽带提供商 ISP 通过 DNS 污染或劫持来推送广告之类的。
        • Physical Settings 里面不要勾选 Bridge interfaces;然后在下面的 Interface 那里通过下拉菜单勾选 Switch VLAN eth0.2。(eth0.1 和 eth0.2 实际上是同一个物理网卡虚拟出来的两个接口,连接它们的就是路由器本身。)
        • Firewall Settings 里面就将这个设为默认的 wan 区吧。
      • WAN6 因为有了刚才系统自动创建的 WAN_6 的取代而变得没有意义了。可以删除它,也可以不用理会它。
    • Wireless 是用来配置无线热点的。R8000 上有 2 个 5GHz 热点和 1 个 2.4GHz 的,所以我们会看到 radio0、radio1 和 radio2 三个无线信号标识。每个标识下面那一行就是对应的无线热点,可以通过其右则的 Enable 按钮来启用,然后通过 Edit 按钮来编辑其配置。配置好了手机就可以通过无线热点连接到路由器了。这里面也是很多设置都保持默认就好。主要是 General Setup 标签页设置无线热点 Access Point 的名称 ESSID;Network 当然选择 lan 了;然后在无线安全 Wireless Security 标签页选择加密类型 Encryption 为 WPA2-PSK (strong security) 了,加密方式 Cipher 选择 Force CCMP (AES),然后在下面的 Key 那里输入无线访问密码即可。
    • Switch 虚拟交换机
      • 对于 Netgear 来说下表这个简单的配置就是最基本的了。CPU (eth0) 对应的是虚拟网卡,用于将两个 VLAN 桥接到一起。LAN 1 到 LAN 4 就是路由器外面的四个网口,LAN 1 口接了台电脑,其它设备都用无线了。WAN 口就是接到光猫的那个口。
        VLANs on "switch0" (BCM53012)
        -----------------------------------------------------------------------------------
        VLAN ID | CPU (eth0) | LAN 1 | LAN 2 | LAN 3 | LAN 4 | WAN
        -----------------------------------------------------------------------------------
        Port status: | 1000baseT | 1000baseT | no link | no link | no link | 1000baseT
        | full-duplex| full-duplex| | | | full-duplex
        -----------------------------------------------------------------------------------
        1 | tagged | untagged |untagged |untagged |untagged | off
        -----------------------------------------------------------------------------------
        2 | tagged | off | off | off | off | untagged
        -----------------------------------------------------------------------------------
    • DHCP and DNS 这里是配置局域网的地址自动分配和域名解析方式的。暂时不用修改。其中有个 Static Leases 标签页可以用来设定静态地址分配。
    • Hostnames 里面可以为设定了静态地址的局域网设备设定主机名。这样就可以直接叫他的名字而不是通过 IP 地址来访问了。比如给 192.168.1.1 的这个设备,对,就是我们的路由器取个名字叫 router,SSH 访问的时候就可以不用 ssh root@192.168.1.1 而是用 ssh root@router 了。
    • Static Routes 设定局域网 LAN 的静态路由。暂时不需要修改。但是如果后面要配置个 VPN 服务器给手机在外面来连接访问家里的设备的话,这个就需要了。
    • Diagnostics 提供简单的诊断功能,比如 ping、traceroute 和 nslookup。
    • Firewall 就是我们这个路由器里的 OpenWrt 自带的防火墙了。简单情况下没啥好说的,默认的就挺好了。但是要说这两个:
      • Port Forwards 也就是端口转发。可以将某个局域网 LAN 上的设备的某个端口通过路由器转发到公网上,这样在外面就可以通过这个端口来访问这个设备的这个端口了。
      • Custom Rules 里面让我们可以用 iptables 指令来添加自定义防火墙规则。

到这里,一个基本的家用路由器功能就配置好了,并不需要自己安装额外的软件。所以实际上 OpenWrt 也还是挺完善的 :D

安装软件

既然刷 OpenWrt 固件,那就意味着上面介绍的基本路由器功能是不够的。不过其实水景一页额外需要的第一个也就是 SS 了,第二个是 OpenVPN。第二个真要是没有的话,问题也不大。安装完 OpenWrt 之后,除了上面提到的内容,剩下的水景一页是把它当成了一个小的 Linux 服务器来用了,就不在这里介绍了。

安装软件有两个方法,一个是前面在系统设置部分提到过的 Software 那一页,另一个就是通过命令行指令 opkg 来安装。水景一页因为使用命令行管理服务器这么多年已经习惯了,除了搞不懂的地方,比如网络部分的配置,还是喜欢用 SSH 连接到路由器然后通过命令行来安装。

命令行安装的话,先将可用软件列表拉过来,

root@Router:~# opkg update

然后安装。

比如增加 USB 存储器支持的软件包,

root@Router:~# opkg install block-mount e2fsprogs kmod-fs-ext4 kmod-usb-storage kmod-usb2 kmod-usb3

安装完成后在网页管理界面 LuCI 的 System 下拉菜单中会出现一个 Mount Points 的菜单项,里面可以配置挂载插上去的 USB 设备。

还有比如网络唤醒工具,

root@Router:~# opkg install etherwake

等等。

其它的这里先不介绍细节了。以后有时间再慢慢整理吧。该准备回家国年了。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/install-openwrt-on-netgear-r8000/>。转载请保留此信息及相应链接。

6 条关于 “给 Netgear R8000 装上了 OpenWrt” 的评论

  1. 引用通告: 升级 OpenWRT 18.06.5 到 19.07.0 | 水景一页

  2. 引用通告: 在 OpenWrt 中配置使用 vim 代码高亮和文件比较编辑 | 水景一页

  3. Mr Zeng
    我也刚把家里的R8000装上了Openwrt 19.07.2
    发现几个问题,尤其严重的问题是原先的2个5G,1个2.4G,只能开1个5G,另一个网卡怎么都激活不了。是否你的也是一样的?还是我刷的最新的固件有问题?
    另外,如果想从openwrt刷回官方固件,有什么好的文档可参考的吗?

    • 是的,有一个 5G 网卡启动不了了。你不说我还真没注意,因为觉得用不上,所以一直都是只开了一个 5G 网卡。
      恢复原厂固件好像是直接刷就可以了吧?我没有试过。

      • 再用两天我试试刷回官网固件。
        这个版的openwrt,2.4G的网特别感觉也不如官网固件稳定。
        5G的网还不能设成AC,只能N模式,不然搜不到信号。
        我另一个用老的buffalo搭了个openwrt的透明代理倒是很舒服。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)