首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Postfix以4.7.25拒绝来自某些(好的)服务器的邮件,但它们有正确的反向DNS

Postfix以4.7.25拒绝来自某些(好的)服务器的邮件,但它们有正确的反向DNS
EN

Server Fault用户
提问于 2019-08-30 10:32:29
回答 1查看 1.3K关注 0票数 1

场景:

这是一个生产邮件服务器,4年来,在大约50个域上有大约2000个邮箱,并且与几乎任何其他邮件服务器都能很好地工作。日志不断地被关注,下面的问题最近出现了。

Edit 1:UButntu16.04.6-后缀(3.1.0-3ubuntu0.3)

问题:

有一个邮件服务器似乎无法将邮件发送到此系统。

当4.7.25客户端主机被拒绝时,它会失败。

代码语言:javascript
运行
复制
NOQUEUE: reject: RCPT from unknown[159.135.224.3]: 450 4.7.25 Client host rejected: cannot find your hostname, [159.135.224.3]

这就是我如何配置后缀,因为我希望避免中继没有反向dns记录。

代码语言:javascript
运行
复制
root@mail:~# grep restrictions /etc/postfix/main.cf
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_rbl_client zen.spamhaus.org, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf, check_policy_service unix:private/policy-spf
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, check_helo_access regexp:/etc/postfix/blacklist_helo
smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re, reject_unknown_sender_domain, reject_unknown_reverse_client_hostname, check_client_access hash:/etc/postfix/client_access, reject_unknown_client_hostname
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

但是它有一个有效的方法,在mailserver上本地测试exectued:

159.135.224.3DNS测试

代码语言:javascript
运行
复制
root@mail:~# nslookup 159.135.224.3
Server:         1.1.1.1
Address:        1.1.1.1#53

Non-authoritative answer:
3.224.135.159.in-addr.arpa      name = relay.teamgioia.it.

Authoritative answers can be found from:

root@mail:~# dig 159.135.224.3

; <<>> DiG 9.10.3-P4-Ubuntu <<>> 159.135.224.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23656
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;159.135.224.3.                 IN      A

;; AUTHORITY SECTION:
.                       10165   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2019083000 1800 900 604800 86400

;; Query time: 6 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Fri Aug 30 12:18:21 CEST 2019
;; MSG SIZE  rcvd: 117

<#>In解析器:

代码语言:javascript
运行
复制
nameserver 1.1.1.1
nameserver 1.0.0.1

问题:

为什么reject_unknown_client_hostname没有像我预期的那样工作呢?

如果这不是服务器的错误,而是发件人的错误,我如何白名单一些发件人,以避免他们的邮件被拒绝?

你也能解释或推测他们的错吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-08-30 12:48:23

IP地址与域查找不匹配。

引用文献资料的话:

当1)客户机IP地址->名称映射失败或名称->地址映射失败或<#>3)名称->地址映射与客户端IP地址不匹配时,拒绝请求。

如果查找客户端IP地址,则再次查找已解析的DNS名称,并比较这些名称:

代码语言:javascript
运行
复制
$ nslookup 159.135.224.3
3.224.135.159.in-addr.arpa      name = relay.teamgioia.it.
$ nslookup relay.teamgioia.it.
Non-authoritative answer:
relay.teamgioia.it      canonical name = mailgun.org.
Name:   mailgun.org
Address: 52.2.180.207
Name:   mailgun.org
Address: 52.4.250.90

您可以看到,原始IP地址与DNS解析地址不匹配。这就是为什么它不能通过检查。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/981289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档