仅在eth1中阻止ICMP传出请求

我正在用iptables创build一个NAT

计算机A:eth0(dhcp)+ eth1(静态IP 192.168.0.1 – 网关)计算机B:eth1(静态IP 192.168.0.2,使用计算机A作为网关)

我知道如何阻止ICMP传出请求( -A OUTPUT -p icmp -icmp-type echo-r​​equest -j DROP ),但这会阻止来自计算机A的ICMP请求,但不会阻止来自计算机B的ICMP请求(事实上,只有计算机A – 电脑B可以继续这样做)。

我尝试了相同的命令,但添加了-o eth1 ,但是根本不能阻止。 任何想法?

您需要将此添加到FORWARD表。 ( -A FORWARD )。

  • INPUT是为了进入主机的数据包(主机是目的地的数据包,所以在你的情况下,发往主机A的数据包)
  • OUTPUT是用于从主机发出的数据包(源自主机A,去其他地方)
  • FORWARD是为其他主机(在你的情况下是B)转发到另一个主机(不pipe你在ping,在互联网上的某个地方)。 由于这些数据包只是为其他人转发,所以在这里使用FORWARD表。