OpenVZ – SMTP – telnet – 连接超时

我的OpenVZ容器中的SMTP有问题。

我在OVH的专用服务器上创build了Proxmox的OpenVZ容器。 这个容器将作为邮件服务器。 所以我创build了“母服务器”规则将端口传递给容器(IP:192.168.0.100):

iptables -t nat -A PREROUTING -p tcp --dport 25 -j DNAT --to-destination 192.168.0.100:25 iptables -t nat -A PREROUTING -p tcp --dport 587 -j DNAT --to-destination 192.168.0.100:587 iptables -t nat -A PREROUTING -p tcp --dport 110 -j DNAT --to-destination 192.168.0.100:110 iptables -t nat -A PREROUTING -p tcp --dport 143 -j DNAT --to-destination 192.168.0.100:143 iptables -t nat -A PREROUTING -p tcp --dport 995 -j DNAT --to-destination 192.168.0.100:995 iptables -t nat -A PREROUTING -p tcp --dport 993 -j DNAT --to-destination 192.168.0.100:993 iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE 

我可以收到邮件,但我不能发送。 我只能发送到本地域 – 为了testing我使用calcparty.com。

在/etc/postfix/main.cf我已经设置:

 inet_interfaces = all 

我可以使telnet localhost 25,但我不能让telnet smtp.gmail.com。 从“母服务器”,我可以使telnet smtp.gmail.com 25。

我做错了什么?

 root@mail:~# telnet smtp.gmail.com 25 Trying 64.233.166.108... Trying 64.233.166.109... Trying 2a00:1450:400c:c09::6d... telnet: Unable to connect to remote host: Connection timed out 

文件 – /etc/resolv.conf:

 search mail.calcparty.com nameserver 8.8.4.4 nameserver 8.8.8.8 nameserver 213.186.33.99 

伪装规则是错误的:

 iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE 

这是说, vmbr0接口和192.168.0.0/24 出去的数据包应该被伪装。

但是没有数据包会匹配这个,因为他们不会去vmbr0接口! 相反,他们正在走出你的物理界面。

改变这个来引用物理接口上的数据包,例如:

 iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o enp3s0f0 -j MASQUERADE