OpenVZ - SMTP - telnet - 连接超时

OpenVZ - SMTP - telnet - 连接超时

我的 OpenVZ 容器中的 SMTP 出现问题。

我在 OVH 的专用服务器上通过 Proxmox 创建了 OpenVZ 容器。此容器将用作邮件服务器。因此,我创建了“母服务器”规则以将端口传递到容器(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

我可以接收邮件,但不能发送。我只能发送到本地域 - 为了进行测试,我使用 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

答案1

化装舞会规则是错误的:

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

相关内容