Ubuntu 20.04 服务器忽略 IPv4 上的传入后缀连接,接受 IPv6

Ubuntu 20.04 服务器忽略 IPv4 上的传入后缀连接,接受 IPv6

我把我的服务器弄得支离破碎,现在我需要帮助。一切都正常,但我思考当我尝试向此服务器添加 VPN 服务器以测试工作中的某些项目时,这些问题就开始了。该过程添加了 fail2ban 和一些其他内容。

当我检查 /var/log/mail.err 中的邮件错误日志时,什么也没看到。(日志是空白的)/var/log/mail.log 正在写入,但我从未看到与正在发送的电子邮件相关的任何内容。所有托管域上都是这种情况。

我无法从服务器外部远程登录到端口 25,但是我从服务器通过端口 25 进行 telnet 到其自身。Postfix 正在监听 25。

UFW 有允许规则允许 25/tcp 并允许在 IPv4 和 IPv6 上使用 Postfix。

这是运行 Ubuntu 20.04 的 VPS,并定期更新。

我能提供什么来找出问题所在?

更新 1: iptables-save 的结果:https://pastebin.com/REywGKsq

更新 2: 我发现,如果通过 IPv6 连接,测试电子邮件可以正常工作,但使用 IPv4 连接时则失败。

更新 3:

postconf -n 的结果

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
compatibility_level = 2
inet_interfaces = all
inet_protocols = all
mailbox_size_limit = 51200000
milter_default_action = accept
milter_protocol = 6
mydestination = domain1.com, localdomain, localhost, localhost.localdomain, domain2.com, domain3.com, domain4.com
myhostname = box.domain1.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
non_smtpd_milters = inet:localhost:8891
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_milters = inet:localhost:8891
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_loglevel = 1
virtual_alias_domains = domain5.com domain2.com domain3.com domain4.com domain1.com
virtual_alias_maps = hash:/etc/postfix/virtual

netstat -rn 的结果(屏蔽的 IP 地址)

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         AAA.BBB.CCC.1    0.0.0.0         UG        0 0          0 ens3
10.8.2.0        0.0.0.0         255.255.255.0   U         0 0          0 br-5e7471c33f48
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
AAA.BBB.CCC.0    0.0.0.0         255.255.255.0   U         0 0          0 ens3

答案1

你有一个 iptables 链FILTERS


-A INPUT -p tcp -j f2b-sshd
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -j FILTERS
-A FILTERS -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FILTERS -p udp -m state --state NEW -m udp --dport 51820 -j ACCEPT
-A FILTERS -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A FILTERS -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A FILTERS -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A FILTERS -j REJECT --reject-with icmp-host-prohibited

它仅允许 TCP 端口 22、80 和 443,并拒绝所有其他数据包。INPUT 上的所有 ufw 链均处于非活动状态。

答案2

Postfix 配置中的 mynetworks 参数似乎对 IPv4 不正确。它目前仅包含 localhost 和 IPv6 localhost,但缺少 IPv4 localhost 的规范。

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128  192.168.0.0/16

如果 192.168.0.0/16 不同,请将其替换为本地主机的适当 IPv4 子网

相关内容