在一台服务器上用 docker 跑了三个服务,A 服务端口 500、B 服务端口 600、C 服务端口 700 ; 这台服务器有三张网卡,都有固定的公网 IP ; 现在需求是使用同一个端口去访问这三个公网 IP,实现 IP1 访问到 A:500,IP2 访问到 B:600,IP3 访问到 C:700 ; 我写了下面的 iptables 规则还是没法访问,各位老哥问题出在哪儿?
iptables -t nat -I PREROUTING -i eth1 -p udp --dport 80 -j DNAT --to-destination 127.0.0.1:500
iptables -t nat -I PREROUTING -i eth2 -p udp --dport 80 -j DNAT --to-destination 127.0.0.1:600
iptables -t nat -I PREROUTING -i eth3 -p udp --dport 80 -j DNAT --to-destination 127.0.0.1:700
iptables -t nat -A POSTROUTING -p udp -d 127.0.0.1 --dport 500 -j SNAT --to-source 1.1.1.1
iptables -t nat -A POSTROUTING -p udp -d 127.0.0.1 --dport 600 -j SNAT --to-source 2.2.2.2
iptables -t nat -A POSTROUTING -p udp -d 127.0.0.1 --dport 700 -j SNAT --to-source 3.3.3.3
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.