我有主机 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
前缀(例如),而是设置为。/24
192.168.1.4
192.168.1.4
peer