是否可以使用仅支持 IPv6 的 MTA?

joe*_*joe 22 smtp postfix ipv6 ipv4

有没有人尝试过运行仅支持 IPv6 的 SMTP 引擎?几乎每个人都为主要的前端服务器配置了 IPv6。我很好奇是否有人尝试运行仅支持 IPv6 的 MTA 并收到任何连接错误。

IPv6-only 是一个可行的解决方案吗?我可以期待一些挥之不去的连接问题吗?或者是不是有一个魔法仙女降临到互联网上,让 25 端口上的 IPv6 到 IPv4 像魔法一样在直接连接上工作?

Law*_*w29 27

简短回答:从技术上讲,它会起作用,但是您将有很多无法投递的邮件。

长答案:拿你的 SMTP 日志。发送您发送邮件的所有域名。检查他们是否有 IPv6 DNS 和 MX。一旦您获得 100%(您不会,这十年内任何时候都不会),那么您可以尝试 IPv6 IP 是否真的有效。

我手头没有任何有趣的生产日志(我拥有的那些没有足够的域值得关注),但我从https://gist.github 获取了提供免费电子邮件服务的域列表。 com/tbrianjones/5992856

在前 536 个中,173 个似乎没有任何 MX 解析为 IP,7 个 MX 解析为 IPv4 和 IPv6 MX 地址,其余 356 个只有 IPv4 MX。在具有 MX 的域中,即使在实际尝试 IPv6 地址以查看它是否有效之前,也只有不到 2% 是可以的。即使承认列表中的域在任何意义上都不是 Internet 电子邮件域的大多数,我认为这还不足以运行您实际期望使用的邮件服务器。

编辑:由于超过 3600 个免费电子邮件提供商的随机列表中按字母顺序排列的第 536 个不是很有代表性,我检查了一些大名域,这里是那些没有 IPv6 MX 的域(请记住 IPv6-accessible需要DNS ):

  • microsoft.com/hotmail.com/outlook.com
  • 邮箱
  • gmx.net
  • icloud.com / mac.com
  • comcast.com
  • 收件箱
  • zoho.com
  • 美国在线
  • 橙色.fr
  • 推特网

您要注册域名吗?

  • Godaddy.com
  • networksolutions.com
  • 注册商网站

或者 。. . 你想要来自这个网站的邮件吗?

  • stackexchange.com

(当然)gmail.com 和 google.com 有 IPv6,Facebook.com 也有。

对于那些感兴趣的人,我使用了这一行 bash 脚本的祖先:

for i in $(cat domains.txt) ; do
  echo $(
    echo $i
    echo \;
    for j in $(dig +short mx $i) ; do
      dig +short a $j
      dig +short aaaa $i         
    done \
    | sed -r -e 's/[^;:\.]//g' \
             -e 's/^:+$/v6/'  \
             -e 's/^\.+$/v4/' \
    | sort -u
  )
done \
| sed 's/ v4 v6/ v4+v6/' \
| sed -r 's/^([^;]+); *([^;]*)$/\2;\1/' \
| sed 's/^;/none;/' \
| sort '-t;' -k 1,1 \
| tr ';' '\t'
Run Code Online (Sandbox Code Playgroud)

这当然是可以改进的,但大多数奇怪的事情都是让输出更漂亮。

  • 我认为很少有管理员会等待其潜在通信伙伴 100% 支持 IPv6,然后再自行关闭 IPv4。截至目前,所有已部署系统并未 100% 支持 IPv4,并且仍然有许多管理员选择仅进行 IPv4 部署。无论这些管理员今天出于什么原因选择仅使用 IPv4,一旦只剩下足够的仅使用 IPv4 的系统,他们就可以选择仅使用 IPv6。IPv4 不会在本世纪末消亡,但很可能已被 IPv6 取代。 (2认同)
  • @Sebb没问题。我从 `ping6 -nc2 ff02::1%eth0` 开始,然后我可以看到路由器的链路本地地址是什么。另外,即使路由器尚未配置其网络堆栈,这种情况也可以工作,如果路由器“永远”等待 ISP 发送配置数据,则可能会发生这种情况。 (2认同)

kas*_*erd 22

答案取决于您的成功标准。但很可能不会

如果您经营的企业中任何未送达的邮件都意味着可衡量的成本。那么答案是否定的,仅 IPv6 尚不可行。

有许多提供商,包括一些仍在仅运行 IPv4 的大型提供商。我所知道的最大的支持双栈的提供商是 Gmail,但我经常看到 Gmail 拒绝通过 IPv6 的递送尝试,然后通过 IPv4 重试时成功。因此,即使使用双堆栈将邮件递送给提供商,您也不会体验到可靠的递送。

如果您的主要目标不是为您的用户提供可靠的邮件服务,而是让 IPv4 看起来不太可行。如果您只需要足够高的成功率,当您将交付失败归咎于仅运行 IPv4 的人时,不会让所有人都嘲笑您,那么答案是仅 IPv6 在今天几乎可行。

希望再过两年,大多数管理员会同意仅 IPv4 不再可行,并且需要双栈。

  • 我还看到了发送到 Gmail 的邮件首先尝试 IPv6 但失败的行为。在这种情况下,它没有设置反向 PTR,但是当它被修复时,地址由于 RA/ND 而不断变化,Gmail 保持灰名单(稍后重试)每次地址更改时的投递尝试 (3认同)