与高级路由器上的“无线隔离”功能的工作方式类似,我想确保有线客户端无法访问 LAN/VLAN 的任何其他成员(但它们应该能够访问互联网)。
有线设备的四个物理端口均已分配静态 IP(如下所示为 xxx66),并且每个端口都位于自己的 VLAN 中。我想确保它们不会影响其 VLAN 中的任何其他设备。
以下是我添加到路由器防火墙脚本的内容:
iptables -I FORWARD -s 10.0.1.66 -d 10.0.1.0/24 -p all -j DROP
iptables -I FORWARD -s 10.0.2.66 -d 10.0.2.0/24 -p all -j DROP
iptables -I FORWARD -s 10.0.3.66 -d 10.0.3.0/24 -p all -j DROP
iptables -I FORWARD -s 10.0.4.66 -d 10.0.4.0/24 -p all -j DROP
不幸的是,它不会阻止我从 10.0.1.66 ping 到 10.0.1.116。我的 iptables 设置的其他一切都按预期工作。
这是完整的 Iptables 输出(请注意 br0-br3 是 VLAN):
iptables -L -n -v
Chain INPUT (policy DROP 21 packets, 2322 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- br3 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- br3 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- br3 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT icmp -- br3 * 0.0.0.0/0 0.0.0.0/0
0 0 REJECT tcp -- br3 * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset
0 0 REJECT all -- br3 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
0 0 ACCEPT udp -- br2 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- br2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- br2 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT icmp -- br2 * 0.0.0.0/0 0.0.0.0/0
0 0 REJECT tcp -- br2 * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset
0 0 REJECT all -- br2 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
0 0 ACCEPT udp -- br1 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- br1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
2 1152 ACCEPT udp -- br1 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT icmp -- br1 * 0.0.0.0/0 0.0.0.0/0
0 0 REJECT tcp -- br1 * 0.0.0.0/0 0.0.0.0/0 reject-with tcp-reset
0 0 REJECT all -- br1 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
34 2951 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
369 49487 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 180 shlimit tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 state NEW
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
102 8187 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br1 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br2 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br3 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT 2 -- * * 0.0.0.0/0 224.0.0.0/4
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4 udp dpt:!1900
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 10.0.4.66 10.0.4.0/24
0 0 DROP all -- * * 10.0.3.66 10.0.3.0/24
0 0 DROP all -- * * 10.0.2.66 10.0.2.0/24
0 0 DROP all -- * * 10.0.1.66 10.0.1.0/24
1456 377K all -- * * 0.0.0.0/0 0.0.0.0/0 account: network/netmask: 10.0.1.0/255.255.255.0 name: lan
6 328 all -- * * 0.0.0.0/0 0.0.0.0/0 account: network/netmask: 10.0.2.0/255.255.255.0 name: lan1
4 160 all -- * * 0.0.0.0/0 0.0.0.0/0 account: network/netmask: 10.0.3.0/255.255.255.0 name: lan2
18 1136 all -- * * 0.0.0.0/0 0.0.0.0/0 account: network/netmask: 10.0.4.0/255.255.255.0 name: lan3
0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br1 br1 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br2 br2 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br3 br3 0.0.0.0/0 0.0.0.0/0
5 200 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
1367 363K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 DROP all -- br0 br1 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br0 br2 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br0 br3 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br1 br0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br1 br2 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br1 br3 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br2 br0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br2 br1 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br2 br3 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br3 br0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br3 br1 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- br3 br2 0.0.0.0/0 0.0.0.0/0
3 147 wanin all -- vlan2 * 0.0.0.0/0 0.0.0.0/0
109 15477 wanout all -- * vlan2 0.0.0.0/0 0.0.0.0/0
107 15377 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
1 60 ACCEPT all -- br1 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br2 * 0.0.0.0/0 0.0.0.0/0
1 40 ACCEPT all -- br3 * 0.0.0.0/0 0.0.0.0/0
3 147 upnp all -- vlan2 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 326 packets, 202K bytes)
pkts bytes target prot opt in out source destination
答案1
我认为您对网络层以及流量传输方式存在误解。
您似乎忽略了同一 LAN 上的设备在第 2 层进行通信。流量不会通过第 3 层路由器,除非从一个网络 (LAN) 传输到另一个网络 (LAN) 时,它会使用第 2 层 (例如 MAC) LAN 地址直接从同一 LAN 上的一个设备传输到另一个设备。
某些交换机可提供您想要的隔离类型。搜索私有 VLAN。您还可以创建单独的 VLAN 并为每个 VLAN 分配地址,然后将设备连接到单独的 VLAN。然后,您可以阻止第 3 层(例如 IPv4 和/或 IPv6)的流量跨越 VLAN。