为什么 iptables 不对同一个子网进行 DNAT?

为什么 iptables 不对同一个子网进行 DNAT?

我有以下 NAT 设置:

在此处输入图片描述

而主机 1 有一个虚拟机,其 IP 为 10.0.0.3,主机 2 有一个虚拟机,其 IP 为 10.0.0.4。NAT 盒将有一个 NAT 规则,以便将目标 IP 172.24.4.2 更改为 10.0.0.4:

-A PREROUTING -d 172.24.4.2/32 -j DNAT --to-destination 10.0.0.4

当我尝试从 HOST1 中的 VM ping 到 HOST2 中的 VM(目标 IP 为 172.24.4.2)时。不知为何,数据包没有为我执行任何 DNAT。

以下是我在 HOST2 上捕获的内容:

10:15:41.017632 IP 10.0.0.3 > 172.24.4.2: ICMP echo request, id 8705, seq 0, length 64

如果我将 HOST2 中 VM 的 IP 更改为不同的子网,它就可以正常工作。

有人知道为什么吗?

相关内容