论如何在桥接模式下将电信天翼光猫作为WiFi热点使用

顺带实现网关转发中国电信的e-link协议

背景

我原先的网络里,网关是UBNT ER-X桥接垃圾光猫拨号,然后两个水星WiFi5路由器关闭DHCP桥接到LAN上做热点。

而最近免费升级了电信的1000M光纤,送了一个HN8145X6光猫和一个SIM路由器,这两个都是自带WiFi6的,比我两三年前买的水星WiFi5姿势水平高多了,于是打算在UBNT作为网关的基础上,不花一分钱将水星WiFi5全部替换为白送的WiFi6。


光猫作为热点

SIM路由器可以直接桥接作为热点使用。关键问题在于如何在不使用光猫拨号的前提下,将光猫的作为热点使用?

最后我的方案:

仅在光猫LAN1口启用拨号服务,剩下LAN3-LAN4和WiFi则移除所有服务。如图:


光猫关闭DHCP。可选项是设定静态IP为UBNT的局域网DHCP段内的一个IP,方便以后管理。

光猫LAN1口和光猫LAN3口均接入UBNT路由器,只不过LAN1口用于UBNT拨号上网,LAN3口接入UBNT的SWITCH,用于桥接光猫的WiFi使用。

这样,连接光猫WiFi即相当于连入了UBNT同一局域网中,并且和IPTV等电信服务有所隔离。

如果不在乎隔离,应该可以只需要光猫1个LAN口接入UBNT路由器,不过我没有进一步尝试。


网关转发中国电信的e-link协议

e-link协议用于同步局域网内所有热点的SSID和密码。正常情况下,光猫的WIFI设置是可以同时管理送的SIM路由器的WIFI功能的。但在前面一波设置后,光猫就无法检测到SIM路由器的存在了。

这是因为e-link协议要求设备主动与所在子网的网关进行TCP通信,如下图所示,子路由会连接网关的32768端口:

当桥接到UBNT局域网后,网关自然而然就成为了UBNT路由器,所以光猫无法感知到SIM路由器的存在。

一个简单的思路是在UBNT路由器上监听32768的TCP端口,并将流量全部转发到光猫的IP地址即可。

例如我的网络是192.168.3.0/24,UBNT路由器是192.168.3.1,给光猫设置了192.168.3.3。SSH登录UBNT路由器:

sudo -i
iptables -t nat -A PREROUTING -d 192.168.3.1 -p tcp --dport 32768 -j DNAT --to-destination 192.168.3.3:32768
iptables -t nat -A POSTROUTING -d 192.168.3.3 -p tcp --dport 32768 -j SNAT --to 192.168.3.1

静候一段时间,进入光猫WEB界面,可以看到已经正确识别了SIM路由器。

称谓(*)
邮箱
留言(*)