Iptables NAT 的 ICMP echo_request,DNAT 错误

Iptables NAT 的 ICMP echo_request,DNAT 错误

在 VirtualBox 上,我有 3 个虚拟机、一个路由器和两个主机。路由器有 3 个接口,其中 2 个与主机相连,另一个与真实主机(我的笔记本电脑)的物理接口相连。两个主机可以互相 ping 通,路由器转发已启用,现在我想在第三个接口(称为 enp0s9)中执行 NAT 操作,以向远程服务器(在 Internet 中)执行 ping 请求。因此,我使用 iptables 和以下命令:

    sudo iptables -t nat -A POSTROUTING -s 192.168.1.2 -p icmp --icmp-type any -o enp0s9 -j SNAT --to-source 192.168.1.6:25000
    sudo iptables -t nat -A PREROUTING -d 192.168.1.6:25000 -p icmp --icmp-type any -i enp0s9 -j DNAT --to-dest 192.168.1.2

其中 192.168.1.2 是两个主机之一,192.168.1.6 是 enp0s9 IP 地址(我对另一个主机接口、交换端口做了同样的事情)。我收到的错误是

未找到主机/网络 192.168.1.6:25000

如何修复 DNAT 操作的错误?

相关内容