使用 iptables 或 rinetd 重定向电子邮件流量不起作用,但 http 流量有效

使用 iptables 或 rinetd 重定向电子邮件流量不起作用,但 http 流量有效

初始情况:我有一个共享的 cpanel 托管帐户(网站 + 电子邮件)。我们将其命名为 mydomain.com,ip 为:abcd

DNS 记录如下:

mydomain.com A a.b.c.d
mail.mydomain.com A a.b.c.d

mydomain.com MX 0:mydomain.com
mail.mydomain.com MX 10:mydomain.com

一切正常。

然后,我们用 Python 重建了我们的网站,并将其托管在 DigitalOcean(IP:efgh)上,并更新了 DNS 记录,如下所示:

mydomain.com A e.f.g.h
mail.mydomain.com A a.b.c.d

mydomain.com MX 0:mail.mydomain.com
mail.mydomain.com MX 10:mail.mydomain.com

现在电子邮件只能在 mail.mydomain.com 域上使用,并且由于技术原因(数百台发送每月页面索引的打印机已配置为使用 mydomain.com(而不是 mail.mydomain.com)发送电子邮件,所以我们也绝对需要让 mydomain.com 正常工作)。

为此,我们使用 iptables 将电子邮件流量从 digitalocean droplet 转发到 cpanel 服务器,使用以下规则(端口:110、143、993、25、465、587):

iptables -t nat -A PREROUTING -p tcp --dport <port> -j DNAT --to-destination a.b.c.d:<port>
iptables -t nat -A POSTROUTING -p tcp --dport <port> -j MASQUERADE


/etc/sysctl.conf:
net.ipv4.ip_forward = 1 # is enabled

现在一切都运行正常,直到昨天 droplet 重新启动,因为我不知道 iptables 设置不是持久的,所以我必须保存它们。

现在我尝试使用相同的设置,但重定向不再起作用。我尝试刷新 iptables 并再次添加规则。我使用了多个电子邮件客户端,如果我使用 mail.mydomain.com,电子邮件可以正常工作,但如果使用 mydomain.com 作为邮件服务器,则显示设置不正确。

然后我使用以下命令清除了所有 iptables 设置:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

并安装了 rinetd。这是我的 rinetd 配置文件:

# bindadress    bindport  connectaddress  connectport
# SMTP
0.0.0.0         25        a.b.c.d   25
# Secure SMTP
0.0.0.0         465        a.b.c.d   465
# POP3
0.0.0.0        110        a.b.c.d  110
# IMAP
0.0.0.0        143        a.b.c.d  143
# STARSSL
0.0.0.0        587        a.b.c.d  587
# IMAP over TLS
0.0.0.0        993        a.b.c.d  993
# POP3 over TLS
0.0.0.0        995        a.b.c.d  995

这是我尝试使用 thunderbird 连接电子邮件时的日志:

25/Apr/2020:08:14:30    x.x.x.x 0.0.0.0 993 a.b.c.d 993 0   0   opened
25/Apr/2020:08:14:37    x.x.x.x 0.0.0.0 143 a.b.c.d 143 0   0   opened
25/Apr/2020:08:14:37    x.x.x.x 0.0.0.0 143 a.b.c.d 143 0   0   opened
25/Apr/2020:08:14:37    x.x.x.x 0.0.0.0 587 a.b.c.d 587 0   0   opened
25/Apr/2020:08:14:37    x.x.x.x 0.0.0.0 25  a.b.c.d 25  0   0   opened
25/Apr/2020:08:14:37    x.x.x.x 0.0.0.0 587 a.b.c.d 587 0   0   opened
25/Apr/2020:08:14:37    x.x.x.x 0.0.0.0 25  a.b.c.d 25  0   0   opened

Thunderbird 仍然说找不到任何设置。

然后我尝试使用 rinetd 将端口 80 上的 http 流量重定向到另一个网站,它工作正常,因此 rinetd 正在工作。我认为只有电子邮件流量被卡在某个地方。

编辑:已解决,谢谢帮助。转发成功,但 CPANEL 托管公司将我的 IP(efgh)列入黑名单,原因是流量太大。他们现在将其列入白名单。

相关内容