我一直在尝试根据几个示例/指南将外部 IP(例如 debianIP1)上的 HTTPS 流量 NAT 到内部 IP(例如 debianIP2),例如:
http://jensd.be/343/linux/forward-a-tcp-port-to-another-ip-or-port-using-nat-with-iptables
不幸的是,我无法让它工作。这是我在 debianIP1 上所做的:
/etc/sysctl.conf 文件,net.ipv4.ip_forward = 1(启用 IPv4 端口转发)
命令:
iptables -t nat -A POSTROUTING -o venet0:0 -j MASQUERADE
iptables -t nat -A PREROUTING -i venet0:0 -p tcp --dport 443 -j DNAT --to debianIP2:443
iptables -A FORWARD -i venet0:0 -p tcp --dport 443 -d debianIP2 -j ACCEPT
当我在 debianIP1 上时,我执行:
telnet debianIP2 443 - 我可以看到我已连接
telnet localhost 443 - 我收到拒绝连接的消息
使用 venet0:0 是因为这是唯一显示外部 IP 的接口(其他是 venet0 和 lo)。将 venet0 包含在 venet0:0 中可获得相同的结果。
有人能告诉我我错过了什么吗?
答案1
尝试--to-destination
不一样--to
答案2
根据下面的答案,我添加了 --to-destination 而不是 --to,但不幸的是,这并没有解决问题。连接被拒绝。