Iptables 将发往某个 IP 的流量转发到另一个 IP

Iptables 将发往某个 IP 的流量转发到另一个 IP

我有主机 A 192.168.1.1、主机 B 192.168.1.2、主机 C192.168.1.3和主机 D。192.168.1.4主机 D 是网络的路由器。当主机 A 尝试通过 http 访问主机 B 时,我希望主机 A 能够真正访问主机 C。问题是主机 B 实际上不存在,因此无法/sbin/iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 192.168.1.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.3:80工作并且连接超时。当主机 B 存在时,此配置有效。Iptables 只能在主机 D 上运行。有什么方法可以使此设置有效吗?

答案1

可能是因为主机 D 从未被用作所有主机出现位于同一 IP 子网和 LAN 中。

192.168.1.1您可以添加主机路由192.168.1.2 192.168.1.3上的主机路由192.168.1.1,均以192.168.1.4作为网关(via)。(后一条路由用于“反向 NAT”。)

如果你想普遍这样做,你应该避免在主机(除)上配置 IP 时使用非/32前缀(例如),而是设置为。/24192.168.1.4192.168.1.4peer

相关内容