无法将邮件发送到 postfix /w iptables linux 代理

无法将邮件发送到 postfix /w iptables linux 代理

我有两台独立的服务器,都运行 Ubuntu 8.04。

服务器 1 有我们网站的真实域名,我们将其称为example.com。服务器 2 是我用 postfix/courier 设置的邮件服务器。该服务器的主机名是mail.example.com

我在服务器 1 上设置了 iptables,将端口 25 上的所有流量转发到服务器 2。我使用了这个脚本(除了我将目标 IP 地址和端口从 80 更改为 25)。

当我发送电子邮件时,[email protected]它可以正常工作。但是,当我尝试从 Gmail 发送电子邮件时[email protected],我收到此错误: 550 550 #5.1.0 Address rejected [email protected] (state 14)

/var/log/mail.log发生这种情况时,不会显示新行。

奇怪的是,它可以与我本地机器上的 telnet 一起使用。例如:

$ telnet example.com 25
220 VO13421.localdomain SMTP 后缀
EHLO 示例.com
250-VO13421.本地域名
250-流水线
250-尺寸 10240000
250-ETRN
250-STARTTLS
250-增强状态代码
250-8BITMIME
250 DS
邮件发件人:[电子邮件保护]
250 2.1.0 确定
收件地址:[电子邮件保护]
250 2.1.5 确定
数据
354 请开始邮件输入。
您好,用户...您最近怎么样?
250 邮件排队等待投递。
辞职
221 正在关闭连接。再见。

/var/log/mail.log显示成功(并且电子邮件发送到 maildr):

2 月 24 日 09:47:36 VO13421 postfix/smtpd[2212]: 从 81.208.68.208.static.dnsptr.net[208.68.xxx.xxx] 连接
2 月 24 日 09:48:01 VO13421 postfix/smtpd[2212]: 警告:'permit' 之后的限制 'smtpd_data_restrictions' 被忽略
2 月 24 日 09:48:01 VO13421 postfix/smtpd[2212]: 65C68120321: 客户端=81.208.68.208.static.dnsptr.net[208.68.xxx.xxx]
2 月 24 日 09:48:29 VO13421 postfix/smtpd[2212]: 警告:'permit' 之后的限制 'smtpd_data_restrictions' 被忽略
2 月 24 日 09:48:29 VO13421 postfix/smtpd[2212]: 6BDFA120321: 客户端=81.208.68.208.static.dnsptr.net[208.68.xxx.xxx]
2 月 24 日 09:48:29 VO13421 postfix/cleanup[2216]: 6BDFA120321: message-id=
2 月 24 日 09:48:29 VO13421 postfix/qmgr[2042]: 6BDFA120321: from=, size=395, nrcpt=1 (队列活跃)
2 月 24 日 09:48:29 VO13421 postfix/virtual[2217]: 6BDFA120321: to=, reply=virtual, delay=0.28, delays=0.25/0.02/0/0.01, dsn=2.0.0, status=sent (已送达 maildir)
2 月 24 日 09:48:29 VO13421 postfix/qmgr[2042]: 6BDFA120321: 已删除
2 月 24 日 09:48:30 VO13421 postfix/smtpd[2212]: 断开与 81.208.68.208.static.dnsptr.net[208.68.xxx.xxx] 的连接

iptables -L -n -v --line在 example.com 上得到以下结果。有人知道查看端口转发的 iptables 命令吗?此外,它似乎接受所有流量,这可能很糟糕,对吧?;]

数据包数量 字节数 目标 协议 选择加入 退出 源 目标
1 14041 1023K 接受全部 -- * * 0.0.0.0/0 0.0.0.0/0

链转发(策略接受 0 个数据包,0 字节)
数据包数量 字节数 目标 协议 选择加入 退出 源 目标
1 338 20722 接受全部 -- * * 0.0.0.0/0 0.0.0.0/0

链输出(策略接受 419K 数据包,425M 字节)
数据包数量 字节数 目标 协议 选择加入 退出 源 目标
1 13711 2824K 接受全部 -- * * 0.0.0.0/0 0.0.0.0/0

postconf -n结果是:

别名数据库 = 哈希:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
append_dot_mydomain = no
biff = 没有
配置目录 = /etc/postfix
延迟警告时间 = 4 小时
disable_vrfy_command = 是
inet_interfaces = 全部
本地收件人地图 =
邮箱大小限制 = 0
masquerade_domains = mail.example.com mail1.example.com
masquerade_exceptions = root
最大退避时间 = 8000 秒
最大队列寿命 = 7d
minimal_backoff_time = 1000s
我的目的地 =
我的网络 = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks_style = 主机
myorigin = example.com
readme_directory = 否
收件人分隔符 = +
中继主机 =
smtp_helo_timeout = 60 秒
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $我的主机名 SMTP $邮件名称
smtpd_client_restrictions = rejection_rbl_client sbl.spamhaus.org,reject_rbl_client blackholes.easynet.nl,reject_rbl_client dnsbl.njabl.org
smtpd_delay_reject = 是
smtpd_hard_error_limit = 12
smtpd_helo_required = 是
smtpd_helo_restrictions = permit_mynetworks,warn_if_reject rejection_non_fqdn_hostname,reject_invalid_hostname,允许
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = rejection_unauth_pipelining,permit_mynetworks,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_destination,允许 smtpd_data_restrictions = rejection_unauth_pipelining
smtpd_sender_restrictions = permit_mynetworks,warn_if_reject,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_unauth_pipelining,允许
smtpd_soft_error_limit = 3
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = 是
未知本地收件人拒绝代码 = 450
virtual_alias_maps = mysql:/etc/postfix/mysql_alias.cf
virtual_gid_maps = mysql:/etc/postfix/mysql_gid.cf
虚拟邮箱库 = /var/spool/mail/virtual
虚拟邮箱域 = mysql:/etc/postfix/mysql_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_mailbox.cf
virtual_uid_maps = mysql:/etc/postfix/mysql_uid.cf

答案1

550 550 #5.1.0 Address rejected [email protected] (state 14)不是后缀消息,这可以解释“发生这种情况时,/var/log/mail.log 不显示新行。”;也许您没有连接到您认为的位置。

此外,取决于父域名与子域名匹配, 无论在 postfix 中配置在哪里,*.example.com 都会匹配“example.com”。

虽然有点奇怪,但我们也需要查看 virtual_alias_domains 和 virtual_mailbox_* 表的内容。[email protected] | [email protected]

答案2

Server2:/etc/postfix/main.cf 中的变量mydestination设置是什么?除了您可能遇到的其他问题外,我相信如果mydestination包含example.com,那么邮件将被接受。如果您需要更多帮助,请评论或更新问题。

答案3

aliases也许我的mysql表有问题?

+------+------------------------+----------------------+---------+
| pkid | 邮件 | 目的地 | 启用 |
+------+------------------------+----------------------+---------+
| 1 | postmaster@localhost | root@localhost | 1 |
| 2 | sysadmin@localhost | root@localhost | 1 |
| 3 | webmaster@localhost | root@localhost | 1 |
| 4 | abuse@localhost | root@localhost | 1 |
| 5 | 根@localhost | 根@localhost | 1 |
| 6 | @localhost | root@localhost | 1 |
| 7 | @localhost.localdomain | @localhost | 1 |
| 8 | @mail.example.com | @example.com | 1 |
| 9 |[电子邮件保护]| postmaster@localhost | 1 |
| 10 |[电子邮件保护]      | 滥用@localhost | 1 |
| 11 |[电子邮件保护]       |[电子邮件保护]     | 1 |
+------+------------------------+----------------------+---------+

答案4

您能否查看 example.com 的 MX 记录是否设置正确。因为如 adaptr 所述,/var/log/mail.log 中没有出现错误消息。

相关内容