我想将整个家庭网络迁移到 IPv6。这是可能的,但在撰写本文时禁用计算机上的 IPv4 以支持 IPv6 实施是否可行?我观察到的第一个影响是大多数网站停止工作。可能是因为他们的域名没有 AAAA 记录?
我家里还有一些私人服务,目前这些服务依靠路由器的 DNAT(端口转发)来工作。IPv6 明确禁止 NAT,因为网络前缀始终是 64 位,为主机地址留下了足够的 64 位。出于某种原因,我的 ISP 为我的路由器分配了动态 IPv6 地址 - 每次重启后它都会更改,甚至第一个 48 位路由前缀也会更改。他们甚至懒得告诉我有多少个 16 位子网可供使用。
在目前的情况下,如果我将 PC 和服务器迁移到 IPv6,这可行吗?如果可行,我应预期什么后果?
答案1
IPv6 明确禁止 NAT
它并没有完全禁止 NAT,而是让 NAT 变得没有必要。(大多数情况下。)不过 NAT 可以以相同的方式实现,而且实际上已经在 Linux netfilter(iptables/nft)中实现。1:1 NAT 甚至是一种常见的多宿主方法。
几种 v4-v6 互操作机制也基于 NAT,特别是 NAT64(与典型的“伪装”不同,但仍然是一种 NAT)。
确实,由于地址空间较大,IPv6 中 1:多 NAT 和“端口转发”的使用场景非常少,但不幸的是有时在与不太称职的提供商打交道时,这实际上是两害相权取其轻。
因为网络前缀始终是 64 位
不,只有 SLAAC 地址自动分配才需要这样做,而不再是所有实现都需要这样做(RFC 7721 删除了在 SLAAC 中强制这样做的主要原因)。具有静态或 DHCPv6 地址分配的网络(或仅限 L3 的 VPN)可以使用任意前缀长度。
由于某种原因,我的 ISP 为我的路由器分配了动态 IPv6 地址 - 每次重启后它都会发生变化,甚至第一个 48 位路由前缀也会发生变化
一些 ISP 这样做 – 是为了“隐私”或因为他们想在商业计划中对静态前缀收取额外费用。
但是,请确保这不是路由器的故障——它必须在重启时记住自己的 DHCP DUID(“客户端 ID”)。
他们甚至懒得告诉我有多少个 16 位子网可供使用。
通常来说,要么全有,要么全无:
如果您使用 DHCPv6 前缀委派来获取 /48,那么您可以使用整个 /48(除了路由器 WAN 端使用的单个子网 - 这取决于 ISP)。并且 /48 中的 /64 数量始终正好是 2^(64-48)。
如果您通过 DHCPv6-PD 获得较小的前缀(例如 /56 或 /60),那么您可以仅有的使用该前缀 – /48 的其余部分根本不属于您。就此而言,甚至可能没有一个不同的 /48 – ISP 可以在其想要的任何边界进行路由。
如果 ISP 静态为您分配了前缀,那么您也可以使用整个前缀。
如果您没有使用 DHCPv6-PD 或其他明确的安排,那么您根本没有 LAN 前缀。
在目前的情况下,如果我将 PC 和服务器迁移到 IPv6,这可行吗?如果可行,我应预期什么后果?
首先,由于许多网站至今仍仅使用 IPv4,因此您将无法访问互联网的很大一部分,最终您将不得不使用 NAT64 或类似的过渡机制。
NAT64 意味着你的 PC 和实际 LAN 的其余部分能保持纯粹的 IPv6,但您仍然需要一台可以执行 IPv4 的网关机器。
可能是因为他们的域名没有AAAA记录?
是的,而且在很多情况下,他们的托管服务提供商一开始就不提供 IPv6 连接。(不过,有些网站通过使用 Cloudflare 作为前端来解决这个问题。)
答案2
IPv4 到 IPv6 的过渡设计为不需要关闭 IPv4。预计大多数人在可预见的未来都会同时使用这两种网络。预计 IPv6 的使用将增长,而 IPv4 的使用将减少,最终 IPv4 将“夭折”,不再被使用,因此即使人们从未“关闭”过 IPv4,他们也不会注意到自己很长时间没有发送或接收 IPv4 流量。
目前仍有许多仅支持 IPv4 的站点和服务。如果不能访问仅支持 IPv4 的站点,互联网就无法使用。
如果您真的想从 LAN 中消除 IPv4,那么您将需要在您的 LAN 和 IPv4 Internet 之间安装一个 NAT64 网关。NAT64 是一种过渡机制,允许 LAN 上仅支持 IPv6 的设备通过为它们进行转换的 NAT64 网关盒访问 Internet 上仅支持 IPv4 的主机。
美国的 T-Mobile 仅为您的智能手机提供 IPv6 地址,但他们已安装 NAT64 网关,因此您永远不会注意到您的智能手机正在“仅使用 IPv6”,因为它仍然会通过 NAT64 网关访问仅使用 IPv4 的主机。