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