有没有人尝试过运行仅支持 IPv6 的 SMTP 引擎?几乎所有有常识的人都为主要前端服务器配置了 IPv6。我很好奇是否有人尝试过运行仅支持 IPv6 的 MTA 并收到任何连接错误。
仅 IPv6 是否是一种可行的解决方案?我是否会遇到一些挥之不去的连接问题?或者互联网上是否出现了一个神奇的仙女,让端口 25 上的 IPv6 到 IPv4 在直接连接上像魔术一样发挥作用?
答案1
简短的回答:从技术上讲,它可以起作用,但您会收到大量无法投递的邮件。
详细答案:获取您的 SMTP 日志。用 Sed 删除您发送邮件的所有域名。检查它们是否有 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 的域名中,只有不到 2% 的域名是 OK 的,甚至在实际尝试 IPv6 地址以查看其是否有效之前也是如此。即使承认列表中的域名在任何意义上都不是大多数 Internet 电子邮件域名,我也不认为这足以运行您实际期望使用的邮件服务器。
编辑:由于超过 3600 个免费电子邮件提供商的随机列表中按字母顺序排列的第一个 536 个域名不太具有代表性,因此我检查了一些大牌域名,以下是那些没有 IPv6 MX 的域名(请记住,IPv6 可访问的 DNS 会还被需要):
- microsoft.com/hotmail.com/outlook.com
- 邮件网站
- gmx.net
- icloud.com/mac.com
- 康卡斯特
- 收件箱
- zoho.com
- 美国在线
- orange.fr
- twitter.com
您想注册域名吗?
- 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'
它当然是可以改进的,但大多数奇怪的事情都是为了让输出更漂亮。
答案2
答案取决于你的成功标准。但最有可能的是不。
如果你经营的企业中,任何未送达的邮件都意味着可衡量的成本。那么答案是不,仅 IPv6 还不可行。
很多提供商(包括一些大型提供商)仍在运行仅 IPv4 的版本。据我所知,支持双栈的最大提供商是 Gmail,但我经常看到通过 IPv6 的投递尝试被 Gmail 拒绝,而通过 IPv4 重试时又成功了。因此,即使向使用双栈的提供商投递邮件,您也无法体验到可靠的投递体验。
如果你的主要目标不是为用户提供可靠的邮件服务,而是让仅使用 IPv4 看起来不那么可行。如果你只需要足够高的成功率,以免当你将交付失败归咎于那些仅使用 IPv4 的人时被大家嘲笑,那么答案是仅使用 IPv6 可能几乎今天仍然可行。
希望再过两年大多数管理员会同意仅使用 IPv4 不再可行,而双栈将成为一项要求。
答案3
不,不是真的。我认为只使用 IPv6 并抵制任何不支持 IPv6 的东西是个好主意,但邮件服务器的服务器到服务器端和我桌面上的浏览器是我必须做出例外的两个点,因为仍然有太多仅使用 IPv4 的部署,你根本无法避免。
我有两台服务器。其中一台是双栈服务器,另一台仅支持 IPv6。后者是我的主要边界 MTA,它使用另一台(双栈)服务器作为后备边界 MTA,用于接收任何未直接通过的邮件。另一台服务器也是我的辅助 MX,用于接收仅支持 IPv4 的传入邮件。我甚至将我的两台 DNS 服务器中的一台设为仅支持 IPv6。
几天前,我将 IMAP 和提交 SMTP 服务器设为仅支持 IPv6。我认为这不是什么大问题,因为我的所有邮件客户端都已经支持 IPv6。好吧,我就是这么想的。
我以为我可以简单地默认任何邮件客户端都会支持 IPv6,而无需验证该假设。
事实上,在我使用的 4 个邮件客户端中,有一个缺乏对 IPv6 的软件支持。这一点没有被注意到,因为邮件客户端软件本身的所有东西都是双栈的。当我完成邮件服务器迁移时,突然发现其中一个邮件客户端死机了。
好吧,我现在正在联系开发人员来修复邮件客户端。
因此,简短的回答是:除非您的边界 MTA 仅限于仅支持 IPv6 的特殊用例,否则您不能在 2023 年将您的边界 MTA 设置为仅支持 ipv6。