设备是 UBNT 的设备,网络拓扑结构类似于下面这张图,所以这里借用一下别人的示意图片。
主要的关注点在 VLAN10 ,VLAN40 和 LAN 。 在 unifi 控制器的界面中,图中 VLAN10 ,VLAN40 是设置成企业 VLAN 。因此 LAN ,VLAN10 是可以双向互通的。连接到 VLAN40 的网络设备的 DHCP 网关是旁路由 192.168.40.2 而不是 192.168.40.1 ,所以现状是VLAN40 下的网络设备可以 ping 通 LAN 、VLAN10 和 VLAN40 的设备。但是,LAN 或者是 VLAN10 下的设备只能 ping 通 VLAN40 下的 udm pro 网关 192.168.40.1 以及 openwrt 旁路由 192.168.40.2 ,无法 ping 通 VLAN40 下的其他网络设备。
家里例如 Apple TV 4K 和 NAS 既要科学上网, 又想着说要被 LAN 、VLAN10 下的设备访问到。我查了 iptables ,VLAN 设置的资料还是束手无策,因此来 V2 求教诸位是否有办法同时满足小弟的需求,应该如何设置。万分感谢🙏
解决问题,目前ping ssh web smb等服务跨网段均正常 iptables如下
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
iptables -I FORWARD -i eth0 -j ACCEPT
iptables -I FORWARD -o eth0 -j ACCEPT
iptables -t nat -I POSTROUTING -j MASQUERADE
# LAN网段
iptables -t nat -I POSTROUTING 1 -d 192.168.1.0/24 -j ACCEPT
参考帖子在此 https://www.v2ex.com/t/744450。 十分感谢站内大佬们提供的各种思路和方案!
1
lqs 2021-11-23 21:28:44 +08:00 1
看起来像是旁路由上做了 SNAT ,导致 VLAN40 下的设备响应来自其他网段的 TCP 握手时的源地址被改成了 192.168.40.2 。可以在旁路由上抓包验证一下
|