Linux 断开两个子网

Linux 断开两个子网

我有一个带有 3 个网卡的路由器(一个是全局的,两个是内部的),我想知道我是否在路由器中启用了 nat.ipv4.ip_forward = 1,那么子网 1 上的主机是否可以到达子网 2 上的主机?

如果是这样,我怎样才能禁止两个子网互相看到,但仍能到达全球互联网。

我正在使用Linux。

谢谢

答案1

通常是net.ipv4.ip_forward=1在 中/etc/sysctl.conf,启用它将允许路由器从任何网络路由到任何其他网络,除非有限制。

实现所需限制的最简单方法是使用iptablesFORWARD 规则。

例如,如果子网 1 的网络接口分别是子网 1eno1和子网 2 eno2,则可以在 FORWARD 规则集的最开头添加这两个 iptables 规则:

iptables -I FORWARD 1 -i eno1 -o eno2 -j DROP
iptables -I FORWARD 2 -i eno2 -o eno1 -j DROP

翻译:

  • 转发数据包的规则#1:如果数据包传入eno1并且将通过 出去eno2,则将其丢弃。
  • 转发数据包的规则#2:如果数据包传入eno2并且将通过 出去eno1,则将其丢弃。

由于您没有指定在路由器中使用的 Linux 发行版,因此将这些基本形式的iptables规则集成到您可能拥有的任何高级防火墙管理工具(firewalldufw、许多其他工具)的问题必须留作练习。读者。

相关内容