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 網路添加到我的訪問文件的方法。
方法一:
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
方法二:
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:syzdek@example.com 553 5.3.0 RELAY # Net:office
將 IPv6 地址/網路添加到 sendmail 中的訪問文件的正確方法是什麼?
更新:顯然我的訪問文件無論如何都不起作用。刪除行尾的註釋似乎已經解決了這個問題。這是有效的行:
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
2001:470:b:84a 本身不是有效的 IPv6 地址。至少需要 2001:470:b:84a:: 來指示尾隨零 - 或 sendmail 在日誌中指示的完整地址 (2001:470:b:84a:223:6cff:fe80:35dc) .
獲得地址後,您嘗試的第一種格式 (IPV6:…) 應該可以工作。
根據配置自述文件中的範例,您應該刪除括號