使用 iptables 隔离主机网络

使用 iptables 隔离主机网络

我想使用iptables我的 Linux 路由器隔离家庭内联网上的主机。举例来说,我有一台主机,其 IP 地址为10.0.1.50,我希望它能够与 Internet 的其余部分通信,但我不希望路由器允许它与 中的任何其他主机通信10.0.1.0/24。但是,我希望能够仅在主机上未创建连接的情况下允许主机10.0.1.0/24连接到10.0.1.50端口。80我这样做是为了防止10.0.1.50受到损害,因此它无法与我的网络的其余部分通信。

答案1

你很可能做错了。您的路由器无法阻止10.0.1.50与子网的其余部分通信10.0.1.0/24,因为它们位于同一子网。从该子网中的另一台主机发出的数据包10.0.1.50不会通过路由器,因此您无法过滤它。

您需要做的是设置一个单独的子网,例如192.168.0.0/24并放入10.0.1.50该子网中,例如使用新的 IP 192.168.0.50。然后将该子网连接到路由器的单独接口,并将该接口配置为 IP,例如192.168.0.1.然后您可以根据需要设置路由规则:

  • 允许已建立的相关连接
  • 允许10.0.1.0/24连接到互联网
  • 允许192.168.0.0/24连接到互联网
  • 10.0.1.0/24允许从到 的连接192.168.0.50:80
  • 否认其他一切

答案2

为此,您应该在第 3 层而不是第 4 层中禁止,或者如果您在第 4 层中这样做,则应该定义一个新的子网。

相关内容