我需要在充当网关的 Linux 计算机 CentOS 上隔离子网。我有以下场景。中央操作系统
eth0 pub ip addres
eth0.1 192.168.1.1
eth0.2 192.168.2.1
现在 eth0.1 和 eth0.2 可以通信,但我需要禁用它。我无法使用 VLAN,因此我需要禁用与 IPtables 的通信。任何想法 ?
答案1
这有点棘手。你可以隔离仅有的通过您的网关的流量。
例如,您可以使用该规则:
iptables -I FORWARD -s 192.168.1.0/24 -d 192.168.2.0/24 -j DROP
iptables -I FORWARD -d 192.168.1.0/24 -s 192.168.2.0/24 -j DROP
或者:
iptables -I FORWARD -i eth0.1 -o eth0.2 -j DROP
iptables -I FORWARD -o eth0.1 -i eth0.2 -j DROP
两个子网都位于同一物理接口上,因此只要您可以控制所有主机/设备,它看起来就不错。否则有人可以绕过网关。有很多方法可以做到这一点。例如:
- 更改 IP 以成为另一个子网的成员
- 将 IP 更改为上面列出的任何其他 IP
- 设置到另一个子网的静态直接路由
- 使用 IPv6
- 运行 DHCP 服务器...
简短的回答是,不能那样做。