我们知道,我们的 CentOS 服务器默认安装并启用了 IPv6 模块。但我从未使用过它,而且许多文章告诉我们出于性能或安全原因禁用 IPv6 功能。那么,当我的服务器位于 Internet 中时,我应该在什么情况下启用 IPv6?
答案1
简短回答:所有服务器都应启用 IPv6。
较长的回答:五分之三的 RIR 都缺少 IPv4 地址,因此配给制已成为现实。而另一个 RIR 将于明年年初用完,非洲将成为世界上唯一一个不缺 IPv4 地址的地区。
主要内容提供商于 2012 年部署了双栈。此举消除了其他公司继续使用 IPv4 的唯一有效理由之一。
简而言之,如果您在 2012 年没有考虑与所有其他提供商一起启用 IPv6,那么您就落后于计划了。
那时,我认为托管在仅支持 IPv4 的数据中心是暂时不支持 IPv6 的正当理由。但那时,要求托管服务提供商支持 IPv6 是合理的。竞争足够激烈,每个人都应该能够找到支持 IPv6 的提供商。
对于家庭或办公室的连接,情况略有不同。受限于特定位置会限制竞争。竞争有限意味着在许多地区你根本无法切换到竞争对手的提供商。
少数用户的 IPv6 连接性比 IPv4 连接性更好。通过在双栈上托管服务器,您将比仅使用 IPv4 更好地支持这些用户。此外,ISP 以您缺乏 IPv6 支持为借口,不向其客户部署 IPv6。对我来说,这两点足以成为建议尽快部署 IPv6 的理由。
几年前,客户端的 IPv6 连接中断是一个问题,导致内容提供商不愿意部署 IPv6。这个问题基本上已经解决了,但您仍然可以自己做一些事情来确保双栈服务器的用户能够体验到尽可能可靠的连接:
- 调整您的 MSS 设置。在 IPv6 上,建议的设置是 1220。但大多数系统默认为 1440。并不是说使用 1440 有什么问题,而是其他人部署了损坏的网络,这可能会导致原本正确的 MSS 设置 1440 不起作用。
- 部署 6to4 和 Teredo 中继。如果您的服务器有公共 IPv4 地址,您可以部署自己的 IPv4 地址。如果没有,您将依赖不可靠的公共中继与使用上述任一协议的用户进行通信。
- 监控您的服务器。令人惊讶的是,大量站点的 IPv6 地址没有响应。有一次,我向某个提供商指出了这个问题。他们的反应是:1. 说这是故意的。2. 声称他们的网络完全支持 IPv6,运行完美无缺。3. 停止通过 BGP 宣布他们的 IPv6 前缀。4. 在 DNS 中保留 AAAA 记录。5. 让系统保持这种状态多年。您不应该落入同样的陷阱。如果您的 IPv6 地址停止响应,您希望比客户更早知道。