如何通过iptables映射IP?

如何通过iptables映射IP?

我创建一个网络命名空间

在这个命名空间中,我打开一个nginx

所以现在我可以通过172.17.0.2访问Web服务器

我想要做的是将这个IP映射到127.0.0.1

假设我访问 127.0.0.1,我想连接到 Web 服务器 (172.17.0.2)

我尝试像这样使用 iptables:

iptables -t nat -A PREROUTING -d 127.0.0.1  -p tcp --dport 80 -j  DNAT --to-destination  172.17.0.2:80

iptables -t nat -A PREROUTING -p tcp --dport 80 -j  DNAT --to-destination  172.17.0.2:80

我仍然无法访问127.0.0.1来连接nginx。

那么有什么想法吗?

答案1

该规则应放置在 OUTPUT 链中:

iptables -t nat -A OUTPUT -d 127.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 172.17.0.2:80

查看第 6 章 表和链的遍历

《Iptables 教程》http://rlworkman.net/howtos/iptables/iptables-tutorial.html

通过以下内容还可以轻松确定要使用的链:

http://rlworkman.net/howtos/iptables/images/tables_traverse.jpg

相关内容