两台ipips端口之间的iptables端口在同一台服务器上出现问题

服务器有两个IP地址A和B(默认网关是B)我想转发端口443到IP C:443,所以我可以连接A:443 —-到— C:443

如果我使用(A:443 NAT到C:443),它不起作用

-A PREROUTING -d A/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination C:443 -A POSTROUTING -d C/32 -p tcp -m tcp --dport 443 -j SNAT --to-source A:443 

如果我使用(B:443 NAT到C:443),我可以连接B:443,但这不是我想要的

  -A PREROUTING -d B/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination C:443 -A POSTROUTING -d C/32 -p tcp -m tcp --dport 443 -j SNAT --to-source B:443 

即使我使用也不行(A:443 NAT到B:443 B:443到C:443)

 -A PREROUTING -d A/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination B:443 -A POSTROUTING -d B/32 -p tcp -m tcp --dport 443 -j SNAT --to-source A:443 -A PREROUTING -d B/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination C:443 -A POSTROUTING -d C/32 -p tcp -m tcp --dport 443 -j SNAT --to-source B:443 

所以我该怎么做,谢谢

如果我理解你是正确的(如果你想将端口443从A转发到C),你应该像这样configuration你的iptables:

 *nat -A PREROUTING -d A/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination C:443 -A POSTROUTING -p tcp -m tcp --dport 443 -j MASQUERADE 

你也应该检查你的iptablesconfiguration规则-A FORWARD -j REJECT --reject-with icmp-host-prohibited它禁止转发。 你应该在sysctl启用net.ipv4.ip_forward