如何将两个子网相互隔离但允许每个子网访问 Internet

如何将两个子网相互隔离但允许每个子网访问 Internet

我有一台服务器作为网关运行,在自己的网络上具有三个接口:

  • enp1s0- DHCP 到互联网
  • enp2s0- 172.16.0.1/12 工作局域网
  • enp3s0- 10.0.0.1/8 用于访客无线

我想要enp2s0enp3s0访问enp1s0(互联网),并且我想阻止enp3s0(无线)访问enp2s0.有没有办法做到这一点firewalld?如果没有,用iptables?

这行得通吗?

iptables -I FORWARD -s 10.0.0.0/255.0.0.0 -d 172.16.0.0/255.240.0.0 -j DROP

我也需要吗?

iptables -A FORWARD -s 10.0.0.0/255.0.0.0 -d 0.0.0/0.0.0.0 -j ACCEPT

对于firewalld我可以使用

--add-rich-rule='rule family=ipv4 source address=10.0.0.0/8 destination address=172.16.0.0/12 drop'

我也需要吗?

--add-rich-rule='rule family=ipv4 source address=10.0.0.0/8 destination address=0.0.0.0 accept'

通过这些规则,我仍然可以从 10.0.0.0/8 ping 172.16.0.0/12 网络中的服务器。我希望从 10.0.0.0/8 网络中看不到任何东西,只有 enp1s0 互联网可见。

答案1

# sudo iptables -I FORWARD -i ens3s0 -o ens2s0 -j DROP

这意味着所有流量都来自恩斯3s0注定要ENS2S0将被丢弃。

相关内容