无法将 IPv6 地址添加到 sendmail 访问列表

无法将 IPv6 地址添加到 sendmail 访问列表

我在 Slackware 13.37 上运行 Sendmail 8.14.4。我的 /etc/mail/access 文件中有以下内容,它可以正常工作,没有任何错误:

Connect:127                   OK
Connect:10.0.1                RELAY   # Net:  office
Connect:50.116.6.8            RELAY   # Host: glider
Connect:96.126.127.87         RELAY   # Host: kite

上述配置还允许我通过 IPv6 向邮件服务器上的本地用户发送电子邮件。但是,它不允许我的办公室通过 IPv6 进行中继。我尝试了两种将 IPv6 网络添加到我的访问文件的方法。

方法 1:

Connect:127                   OK
Connect:10.0.1                RELAY   # Net:  office
Connect:IPv6:2001:470:b:84a   RELAY   # Net:  office
Connect:50.116.6.8            RELAY   # Host: glider
Connect:96.126.127.87         RELAY   # Host: kite

方法 2:

Connect:127                   OK
Connect:10.0.1                RELAY   # Net:  office
Connect:[IPv6:2001:470:b:84a] RELAY   # Net:  office
Connect:50.116.6.8            RELAY   # Host: glider
Connect:96.126.127.87         RELAY   # Host: kite

但是,每当我尝试使用方法 1 或 2 时,我都无法通过主机中继电子邮件消息。

/var/log/maillog 条目:

May 31 11:57:15 freshsalmon sm-mta[25500]: ruleset=check_relay, arg1=[IPv6:2001:470:b:84a:223:6cff:fe80:35dc], arg2=IPv6:2001:470:b:84a:223:6cff:fe80:35dc, relay=[IPv6:2001:470:b:84a:223:6cff:fe80:35dc], reject=553 5.3.0 RELAY # Net:office

来自 telnet 的测试会话:

syzdek@blackenhawk$ telnet -6 freshsalmon.office.example.com 25
Trying 2001:470:b:84a::69...
Connected to freshsalmon.office.bindlebinaries.com.
Escape character is '^]'.
220 office.example.com ESMTP Sendmail 8.14.4/8.14.4; Thu, 31 May 2012 11:57:15 -0800
HELO blackenhawk.office.example.com
250 office.example.com Hello [IPv6:2001:470:b:84a:223:6cff:fe80:35dc], pleased to meet you
MAIL FROM:[email protected]
553 5.3.0 RELAY # Net:office

向 sendmail 中的访问文件添加 IPv6 地址/网络的正确方法是什么?

更新:显然我的访问文件无论如何都无法正常工作。删除行末的注释似乎已解决问题。以下是有效的行:

Connect:127                                     OK
Connect:IPv6:::1                                OK
# Net: office
Connect:10.0.1                                  RELAY
Connect:IPv6:2001:470:b:84a                     RELAY
# Host: glider
Connect:50.116.6.8                              RELAY
Connect:IPv6:2600:3c01::f03c:91ff:fedf:381a     RELAY
# Host: kite
Connect:96.126.127.87                           RELAY
Connect:IPv6:2600:3c00::f03c:91ff:fedf:52a4     RELAY

答案1

2001:470:b:84a 本身不是有效的 IPv6 地址。至少需要是 2001:470:b:84a:: 来指示尾随的零 - 或 sendmail 在日志中指示的完整地址 (2001:470:b:84a:223:6cff:fe80:35dc)。

一旦您有了地址,您尝试的第一个格式(IPV6:...)就应该可以工作。

答案2

根据配置自述文件,你应该删除括号

相关内容