使用 NAT 和 iptables 阻止到目的地

Blocking the to-destination with NAT and iptables

我有以下配置:

服务器A:192.168.168.200
服务器B:172.23.10.10

它们被我试图配置为 NAT 设备的 RedHat 盒子隔开。 盒子配置如下:

eth0: 172.23.10.1
eth1: 192.168.168.254
eth1:0: 192.168.168.10

我试图让 ServerA 仅使用 192.168.168.10 地址与 ServerB 通信,该地址应通过 NAT 映射到 172.23.10.10 地址。

ServerA (192.168.168.x) <-NAT ServerB (172.23.10.x)

我只在 RedHat 机器上配置了以下 iptables 规则:

iptables -t nat -A PREROUTING -d 192.168.168.10 -j DNAT --to-destination 172.23.10.10

这似乎成功地实现了 NAT 转换。例如,当我从 ServerA ping 192.168.168.10 时,它在其 172.23.10.10 接口上成功到达 ServerB(并收到响应)。

问题 是 ServerA 仍然能够直接通过 172.23.10.10 到达 ServerB,我想禁止这样做。

如何在阻止对实际目标地址的访问的同时保留此 NAT 映射?

您没有粘贴完整的 iptables 输出 (iptables -vL -n nat),所以这是一个猜测,但我敢打赌,因为它是 RHEL ,您的 PREROUTING table 具有默认的 "ACCEPT" 策略,因此流量正在跳过 NAT 线路,符合策略并被接受。

尝试: iptables -n nat -P PREROUTING DROP