2017 05 01 tplink router settings - hanyong/note GitHub Wiki
TP-LINK WDR6500 路由器设置笔记
2017-05-01
一直钟爱有线网络的速度与激情, 直到朋友们纷纷要求手机连 wifi, 直到用了轻薄的联想 yoga 笔记本, wifi 开始走进生活。 之前使用华为 HG8240 光猫拨号上网, 外加一只迷你无线路由桥接有线网络做 wifi, 但总感觉访问局域网资源不够流畅, 由于决定换一个千兆无线路由, 购买了 TP-LINK WDR6500 千兆版路由器。 商品链接: https://item.jd.com/3342186.html 。
稍加摸索得知此路由器设计的目标应用场景如下:
路由器内部有外网 WAN 和内网 LAN 两个端口, 内网设备 (包括 wifi 和有线连接) 通过 NAT 访问外网资源。
路由器出厂设置默认分配了内网 IP 并开启了 DHCP 和 DNS 服务, PC 等网络设备连接上路由器 LAN 端后, 访问 http://tplogin.cn/ 时自动解析到路由器内网 IP (通常为 192.168.1.1), 即进入路由器设置界面。 这是个设计得比较人性化的地方。
路由器设置中 "上网设置" 即是外网 WAN 口设置, 通常使用宽带账号拨号上网。
该路由器有两个功能引起了我的注意, "无线桥接" 和 "DDNS"。
"无线桥接" 当前没有需求, 具体可参考官方文档: [TL-WDR6500 V5-V6] 无线桥接(WDS)如何设置 。 初步了解要使用 DDNS 必须配置 WAN 口上网。
TP-LINK WDR6500 路由没有光纤入口, 只能从 HG8240 接入 WAN 口连接。 HG8240 在 WAN 设置取消绑定 LAN 端口, LAN 设置取消选择 LAN 端口, 对应的 LAN 口接入的设备即能使用宽带拨号上网。
这样设置接入 WDR6500 WAN 端口后可以拨号上网, 但是 HG8240 和 WDR6500 的内网却无法互通, 逻辑结构如下:
一个想法是拉一根网线将两个 LAN 打通, WDR6500 做主路由器, HG8240 做从交换机。
由于 HG8240 在客厅, WDR6500 在卧室, 这样卧室就需要拉两根网线到 HG8240, 一根 WAN 入口, 一根 LAN 出口。 可是卧室却只能接通一根网线, 要么再拉一根网线爬墙进来, 这样就把房间搞得很乱很不方便。
另一个办法就是两者交换一下, HG8240 做主路由器, WDR6500 做从交换机, 这样就可以省一根网线。 此时没有使用 WDR6500 的 DNS 了, 访问管理界面需要输入 IP 地址, 而不能使用 tplogin.cn 这个域名了。
随后看到官方文档也描述了这种用法: [TL-WDR6500 V5-V6] 接在其他路由器下怎么使用 。 同时官方文档也指出, 此时 TP-LINK ID 无法登录, 因此 DDNS 也无法使用。 究其原因, 是路由器只使用 WAN 口访问外网, 尽管此时 LAN 已经可以访问外网了。
将 HG8240 的 LAN 接到 WDR6500 的 WAN 口, 使其通过 HG8240 访问外网:
此时 WAN 不能拨号, 可配置 IP 作为 HG8240 LAN 的一员。
之后 DDNS 果然可以工作了, 并且其绑定的 IP 是 HG8240 真实外网 IP (而不是 WDR6500 WAN 口配置 IP)。
此时 WDR6500 的 LAN 端依然只能在另一个内网通过 NAT 上网 (其设计的工作场景即是如此)。 并且 NAT 的访问是单向的, HG8240 的内网不能访问 WDR6500 的内网。 有没有办法配置路由规则打通两个 LAN 的相互访问呢, 摸索了下两个路由器都不支持自定义路由规则配置。 并且即使打通了, 本质上还是两个 LAN, 不能使用 zeroconf 或 windows 局域网名互相访问, 还是有不方便。
HG8240 的 LAN 还是接回 WDR6500 的 LAN 。 再想到, 既然 WDR6500 路由器不会自动使用 LAN 访问外网, 能不能桥接其 WAN 和 LAN, 手动配置 WAN 通过 LAN 访问外网呢。
WDR6500 路由器的 WAN 口虽然桥接到了 LAN 口, 路由器却限制 WAN 口与 LAN 口不能配置同一个子网的 IP, 同样这与其 NAT 使用场景的设计有关。 若将 WAN 口配置另一个子网 IP, 则 WAN 口还是无法上网, 原因是虽然 WAN 口配置使用 HG8240 路由上网, HG8240 却无法路由 WAN 的子网 IP, 前面提到无法自定义路由规则。 解决办法是在 LAN 中为 WDR6500 WAN 口子网添加一个路由, 这个路由依然通过 HG8240 上网, 以使 DDNS 暴露出 HG8240 的公网 IP。
即同一个链路层两个 LAN, 其中 LAN2 又是一个子 LAN。 经测试可行, 但如此复杂的结构只是为了让 WDR6500 的 WAN 能上网且跟 LAN 不在一个子网。
这时又想到, WDR6500 做从交换机时, DHCP 和路由规则都由 HG8240 决定, 属于 HG8240 的 LAN。 WDR6500 除了配置管理要通过 LAN 口 IP 访问外, 其 LAN 口配置其实已经无关紧要。 与其大费周折地给 WAN 换一个子网, 不如直接把 LAN 换一个子网 (这个子网能不能上网都无所谓), 这样就能省一个路由。
最终配置即是 WDR6500 做从交换机, 并桥接其 WAN 和 LAN, 将其 WAN 口配置为 HG8240 LAN 的一个成员。
当需要访问 WDR6500 的管理界面时, 只需要给当前机器加一个 WDR6500 LAN 子网的 IP 即可。
sudo ip addr add dev br0 192.168.1.30/24