假设以下场景,如果我有一台本地计算机(A),它使用 B 的内部 IP 请求另一台计算机(B),而不考虑端口。但是 A 和 B 不在同一个网络上,但是 B 有一个公共 IP。我想要做的是,当使用 B 的内部 IP 从机器 A 请求机器 B 时,会发生一些路由并将 B 的内部 IP 转换为其公共 IP。鉴于两台机器的操作系统都是 Ubuntu 14.04,如何实现此功能?
答案1
好的,在与 Yahia Zakaria 闲聊之后,我设法找出了问题所在。该应用程序使用 TCP 以外的方式进行通信,因此正确的 DNAT 应如下所示:
iptables -t nat -A OUTPUT -d 192.168.1.15 -j DNAT --to-destination 54.3.22.1
基本上就是这样。
答案2
将 IP 和适当的主机名/别名添加到 /etc/hosts。