我是一群在私有和公有IP的云中的主机。 到现在为止,我可以公开地以任何方式公开访问所有主机。 现在,我想禁止从外部访问所有这些主机,并build立一个VPN。
我创build了一个VPN服务器,一切工作正常 – 我可以很容易地看到我的内部networking。 这是我目前面临的这个问题。 所有的主机都通过公共DNS访问,这个DNS拥有所有主机的公有IP地址。
我想要一种将所有公共IP转换为私有IP的方法。 例如,假设我有两台主机,其IP地址如下:
Host 1: Private IP: 10.1.0.5 Public IP: 1.2.3.4 Host 2: Private IP: 10.1.0.6 Public IP: 5.6.7.8
如果我访问5.6.7.8(1.2.3.4),我想让服务器把它翻译成10.1.0.6(10.1.0.5)。
是否可以通过iptables? 到目前为止,我尝试了以下内容,但没有任何改变
iptables -t nat -A OUTPUT -d 5.6.7.8 -j DNAT --to-destination 10.1.0.6
拦截stream量并使用iptables路由到IP
iptables -t nat -I PREROUTING -d 5.6.7.8 -j DNAT --to-destination 10.1.0.6 iptables -t nat -I PREROUTING -d 1.2.3.4 -j DNAT --to-destination 10.1.0.5 iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE
在你的例子中,你试图在OUTPUT规则OUTPUT由stream量,并且在路由决定中为时已晚。 在这个例子中,我假设你的出站接口是eth1。 如果您通过configuration错误或缺乏在我们之间交换的信息而locking自己,请确保您拥有对此设备的控制台访问权限。