我正在使用 iptables 创建 NAT:
计算机 A:eth0(dhcp)+ eth1(静态 ip 192.168.0.1 - 网关)计算机 B:eth1(静态 ip 192.168.0.2,使用计算机 A 作为网关)
我知道如何阻止 ICMP 传出请求(-A 输出 -p icmp --icmp 类型 echo 请求 -j DROP),但这会阻止来自计算机 A 的 ICMP 请求,但不会阻止来自计算机 B 的 ICMP 请求(事实上,仅针对计算机 A - 计算机 B 可以继续执行这些请求)。
我尝试使用相同的命令,但添加了 -oeth1,但根本就不会阻塞。有什么想法吗?
答案1
您需要将其添加到 FORWARD 表中。(-A FORWARD
)。
INPUT
用于到达主机的数据包(以主机为目的地的数据包,因此在您的情况下,数据包的目的地是主机 A)OUTPUT
表示从主机发出的数据包(源自主机 A,前往其他地方)FORWARD
表示转发数据包到其他主机(本例中为 B)和另一台主机(无论您在 ping 什么,在互联网的某个地方)。由于这些数据包只是转发给其他人,因此FORWARD
这里使用表。