需求
租住房子的网是 symmetric NAT(无法更改),家里新安装的电信宽带发现也是 symmetric NAT 。有台式机远程桌面的需求(相互远程),期望用 zerotier 打洞成功后相互间能直连。
环境
- 电信千兆光猫 (1 个千兆 LAN 、3 个百兆 LAN - 其中一个是 IPTV 口) (放在弱电箱),有管理员账号,公网 IP
- 电信送的 IPTV 盒子(放在客厅电视墙处)
- AC86u 路由器 (放在客厅电视墙处)
- 水星最便宜的 5 口千兆交换机 (无 vlan 支持)(放在弱电箱)
- 弱电箱到客厅电视墙埋了2 根网线
- 台式机 (放在卧室)
起初的网络配置
电信师傅过来装好后,起初如下图配置。光猫拨号,LAN1 接交换机,交换机出来一个到卧室的台式机、一个到客厅的路由器。光猫 IPTV 口出来到客厅的 IPTV 盒子。

后面问电信师傅要了猫的管理员账号,登录后发现没有改为 full cone NAT 的选项。经测试:
- 开启DMZ,转发任意流量到台式机,可以打洞成功,但台式机暴漏在公网,不安全
- 开启端口映射,映射 rdp 端口,也不安全;而且从家里无法远程租住的房子。
然后
AC86u 支持更改 NAT 类型为 full cone ,故考虑由其拨号。故打电话 10000 询问了宽带账号密码,并将光猫改为了桥接。此时还未做任何 vlan 配置
尝试了下图方法:

光猫 lan1 直接接路由器 wan 。路由器 lan1 出来接弱电箱的交换机、lan4 接 iptv 盒子。然后台式机和光猫 IPTV 口接交换机。尝试此接法是想奢望:IPTV 盒子数据不经过路由器 wan ,而是直接经交换机到光猫 IPTV 口。
没想到居然可以工作 --- 至少开始一段时间。一段时间后,发现网络断掉了,只有 iptv 还可以观看。
Question1: 这里我好奇为什么开始可以工作,一段时间为何又不行了呢?
再然后
配置vlan 单线复用。因为光猫支持配置简单的 vlan ,AC86U 也支持 IPTV vlan 选项。故没打算额外购买 2 个支持 vlan 的交换机。如下配置 (vlan 41 是网络、vlan 43 是 iptv):

光猫 lan1 改为 trunk 口,绑定 vlan 41 和 43 ;路由器配置对应 vlan id 。光猫 iptv 口什么也不接。结果:
- 可以拨号上网
- 可以 iptv 观看直播
- 但路由器无法再访问光猫 192.168.1.1
正常,ac86u 拨号+DHCP 可以获取 2 个 ip ,一个公网 IP 和一个光猫 DHCP 的 192.168.1.x ip 。但这里 DHCP 失败了,ac86u wan 的第 2 个 ip 是 169.254.x.x。
但,偶尔访问 192.168.1.1 居然可以打开一个另一个型号的光猫登录界面, 注意不是我的光猫,不知哪里的。
Question2: 为什么 DHCP 会失败,为什么有时会打开另一个光猫的登录界面?
最后
后面尝试 vlan 这么改后,全好了,DHCP 成功:

如上图,网络 vlan 41 在光猫和路由器这边都不做配置,留空。
Question3: 这就奇怪了,这时 DHCP 为什么又会成功呢?
推测: 按我理解,配置 vlan 后,路由器 wan 和光猫 lan1 都是trunk 口了。路由器 wan 发出的链路帧可能有:
- Tag 了 vid 43 的 iptv 数据
- Tag 了 vid 41 的网络数据(路由器配置了网络 vid 的话)
- 未 Tag 的网络数据 (路由器未配置网路 vid 的话)
光猫 lan1 肯定需允许接受它们并打上 tag (光猫里我没有找到配置端口 pvid 的选项,假设 lan1 的 pvid 为 1 ,光猫光纤出口 pvid 也为 1 吧),对应上面:
- 接受 Tag 了 vid 43 的 iptv 数据 并做交换转发
- 接受 Tag 了 vid 41 的网络数据 并做交换转发
- 接受未 Tag 的网络数据,Tag 上 PVID 1 后 做交换转发
如上,光猫 lan1 进来的链路帧应都打上了 vid 的,为什么打了 vid 41 的无法 DHCP 成功,打了 pvid 1 的却可以呢?
最后想确定下,光猫光纤出去到 ISP 的网络的链路帧应该没打 tag 的吧?
谢谢~