财年末,按惯例升级工作相关的设备,今年着重解决家里的网络问题。

出口带宽的问题是解决了,详见 From ADSL2+ to Cable,但送的 NetGear CG3000v2 Cable Modem 的固件实在太差(硬件参数是不错),烂到了无法忍受的地步,最终把它改成了 Bridge 模式接了个破 TP-Link TL-WR1043ND 暂时用着,该有的功能都有了(比如保留 IP 地址,无线 MAC 地址过滤,端口转发等),但 802.11n 300Mbps 的性能实在是差了点,必须升级了。

做过一点功课 Asus RT-AC68U 就成了不二之选,关于这个路由器的配置和功能就不多说了,说它是性价比最好的个人消费级路由器,估计没有人会不同意。

当时是在

  1. Asus RT-AC68U
  2. TP-Link Archer C9
  3. 小米路由器

这三个中选,当中那个性价比太差了,小米的话因为官方固件烂,折腾吧系统稳定性就成问题,且大部分与墙内服务相关的功能于我完全无用,用 NAS 和树莓派替代可以了,无意义,所以做选择很容易 A$209 包邮的价格已经非常好了(京东强卖1599人民币,屮)。

注意:实际上 RT-AC87U 更好(废话,贵了 40% 多,但功能上完全一样,只是无线的最大功率高一些 802.11ac 理论最高速率 2400Mbps 罢了。功能和性能的提升不值这差价,所以没选。打算用两年卖掉,换该系列更新更强的型号 ;-D

关于 RT-AC68U 的参数,功能和评测就不废话了,请自行搜索。在家庭网络中 RT-AC68U 放在 bridge 模式运行的 Cable Modem 之后作为主无线路由器。以下是本人使用后的感受和一些测试结果。

RT-AC68U 用后感 / 测试结果

简单说 RT-AC68U 是我迄今为止用过最强悍的路由器(其实我也没用过什么上档次的高端路由器),没时间精力折腾刷 OpenWrt / DD-WRT 又想要功能强大性能好稳定的路由器,那么这个系列就是不二之选了。

对普通用户来说 RT-AC68U 功能和性能都过剩了,有点 overkill 的感觉。不过就有喜欢拥有过剩的性能功能的人,我就是。比如经常被说:你想买 STI 做什么,不上赛道不跑拉力赛,要三把锁 DCCD 放着看?难道没事就调节前后轴扭矩分配,一会体验转向不足,一会儿甩个尾?答曰:就想要!

两个对用户友好,非常实用的设计: RT-AC68U 面板上的状态指示 LED 灯可以用背后的按钮自由开关(反正我觉得黑暗中蓝色 LED 闪烁看着很不爽),侧面还有个按钮可以快速开关 Wi-Fi 用。

注意:发现稳定版固件 3.0.0.4.378_4585 bug 一枚,面板上指示灯是关闭状态下,改设置会导致两个无线频率和电源指示灯亮,其它还是关闭状态。以下两种情况触发问题:1. 之后在无线 MAC 地址过滤里加了个迷你 USB Wi-Fi 再手动给它保留个静态 IP 之后应用 2. 根据 MAC 地址手动分配 IP 地址,添加设备后应用 解决方法是用背后的开关打开之后再关掉。

Nexus 5 通过 5GHz 频段连接,无线连接速度达到了前所未见的 433Mbps 如图

同样的位置(离开路由器八九米,无障碍物) MacBook Air 可以达到 867Mbps iperf 测试实际的带宽大概在 600Mbps 左右

Asus RT-AC68U Wi-Fi bandwidth test 500~600Mbps

RT-AC68U 同时支持6个 Guest 无线网络 2.4GHz 5GHz 频率各3个,连接上之后可访问互联网,但默认是与本地局域网隔离(也可设置为允许),客户无线网络还可以设置在一定时长后销毁。这样有访客来需要使用网络时,远程操作创建一个这样的无线网络即可。

RT-AC68U GbE 千兆以太网 iperf 测试带宽结果是 882Mbits/s 上下,好像一般。这可能和两端的网卡及其驱动有关,两边都是 Fedora 22 NIC 都是 Broadcom NetXtreme / tg3 v3.137 驱动 -_-z

RT-AC68U 的高级功能 1. Dual WAN 支持两条线路 failover 或 load balance (支持 USB 连接 3G/4G 设备) 2. 内置 VPN 服务 PPTP / OpenVPN 即开即用 3. 交换机支持 Jumbo Frame 这个只能呵呵了 4. 内置了 Wake on LAN

RT-AC68U 的用户界面叫 ASUSWRT 非常高端大气上档次,稳定且强大。大部分设置更改都不需要重启路由器,这个太重要了,动不动就要重启的路由器就是渣。但改无线网络设置(如 MAC 地址过滤允许列表)会导致无线设备失去连接。

ASUSWRT 界面里提供的 Adaptive QoS 功能也是很屌的,不过一般家庭用户真用不上。包括流量监控(各种图表),流量分析,带宽监控器(可对每个局域网客户端设置上下行流量优先级),智能/传统 QoS 设置等等。但 web 浏览历史和父母控制里内容过滤根据 MAC 地址做互联网访问时间管理的功能还是非常实用的。

RT-AC68U 内部工作原理探究

自己的求知欲还挺强,买了个 RT-AC68U 后花了点时间把内部网络工作原理摸透了,周末加班时还和俄罗斯小伙儿讨论了半天,解了点惑还学到了新知。小时候要是能在充满父母鼓励和好的教育体制之下成长起来的话,应该比现在更有前途,成就也不止于此吧(其实就是比现在富有的意思…)。

SSH 到 RT-AC68U  内核基于 2.6.36 用到了 bridge-utils 和大量高级 iptables 用法来实现其功能。光看 brctl / ip / ifconfig 输出只能猜出大概的工作方式。路由器管理 IP 分配在 br0 上 / WAN IP 分配在 eth0 上 / vlan{1,2} 是 eth0 之上的 VLAN 接口 / eth1 是无线模块的接口 / brctl 显示 eth{1,2} vlan1 桥接了 / br0 eth0 eth1 vlan1 vlan2 有同样的 MAC 地址。

理解其其内部工作原理还得从理解经典的 WRT54G / DD-WRT 内部工作原理开始

有幸找到一张非常好的示意图(来源

见识过 XenServer 的网络后端 Bridge / Open vSwitch 以及 NetScaler 之后这种程度都不是儿 ;-D

RT-AC68U Internals

RT-AC68U 内部有三大组成部分 1. SoC - 路由器 2. 一个6口交换机 3. 无线模块

交换机端口划分成 port 0-3 (路由器上的 LAN 端口编号不一样)是本地局域网端口 port 4 是 WAN 端口。交换机的 port 5 和路由器的 eth0 连接。

为了隔离 WAN / LAN 流量,交换机使用了 VLAN 本地局域网流量为 vlan1 互联网 WAN 流量为 vlan2

ip link show 输出来看 vlan1 and vlan2 是 eth0 的 vlan 接口 vlan1@eth0 / vlan2@eth0

交换机 port 5 和路由器 eth0 之间的连接叫做 trunk - 允许多个 VLAN 流量通过的连接。

两个 VLAN 之间的流量是由路由器通过 iptables 和 ip route 命令来控制的,所有从 LAN 进出到 WAN 的数据包会通过路由器。

无线模块的接口 eth1 (不是交换机的一部分),通过 Linux Bridge - br0 和 vlan1 桥接起来,可以看作是交换机<=>虚拟交换机<=>无线模块,流量视为本地局域网流量处理。

备注: Linux Bridge 可以认为是虚拟交换机,在二层做包的转发,转发是基于 Ethernet addresses 而非 IP 地址(比如路由器)。

Source: www.dd-wrt.com/phpBB2/viewtopic.php?p=431294#431294