设置如下:

设置如下:

我在 proxmox 中正确配置网络时遇到了一些问题。

简而言之,从容器中,我可以访问外部的任何 Web 服务器(例如:google.com),但我无法访问容器上的 Web 服务器。Web 服务器可从互联网访问。

设置如下:

DNS :mydomain.example -> xxxx/32

主持人

vmbr0: xxxx venet0:(路由到各个容器)

Iptables 规则:

iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 80 -i vmbr0 -j DNAT --to-destination y.y.y.z:n
iptables -t nat -A POSTROUTING -o vmbr0 -s y.y.y.0/24 ! -d y.y.y.0/24 -j MASQUERADE

容器

venet0: yyyz

问题

从容器执行的命令:

ping google.com:好的
ping mydomain.example:好的
获得http://google.com 好的
获得http://mydomain.example击倒

Resolving mydomain.example... x.x.x.x
Connecting to mydomain.example|x.x.x.x|:80... failed: Connection refused.

我遗漏了什么?您需要更多信息吗?
谢谢

答案1

您应该-i在规则中删除该选项prerouting

这里,请求来自venet0接口,因此您的实际DNAT规则不适用。

相关内容