使用 iptables 将 PREROUTING 到 LXC 容器

使用 iptables 将 PREROUTING 到 LXC 容器

我已经用lxd设置了两个容器,一个用haproxy,用nginx指向另一个容器。

我希望我的服务器在端口 80 上的传入流量通过 haproxy 进入容器。这是我为 iptables 提供的规则,但我仍然无法从笔记本电脑上的本地网络访问我的服务器(将服务器的本地 ip 提供给浏览器)。

-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.148.218.95:80

我也试过

$ curl http://127.0.0.1:80 curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused

$ curl http://192.168.100.5:80 curl: (7) Failed to connect to 192.168.100.5 port 80: Connection refused

在服务器本身上。

有人可以启发我吗?

答案1

我明白了(尽管我还不确定为什么):

-A PREROUTING  -d 192.168.100.5/32 -j DNAT --to-destination 10.148.218.95
-A OUTPUT      -d 192.168.100.5/32 -j DNAT --to-destination 10.148.218.95
-A POSTROUTING -s 10.148.218.95/24 -d 10.0.4.30/32 -j MASQUERADE

相关内容