关于家庭内部动态 IPv6 使用的问题

关于家庭内部动态 IPv6 使用的问题

首先,我想请求大家暂时不要讨论双栈。任何只能处理 IPV4 的设备都只能停留在那里,如果需要的话,我会稍后再考虑这个问题。所以这次讨论只讨论 IPV6。

我正在使用 Ubiquiti 防火墙/路由器,它目前已设置为带 NAT 的 IPv4(我想保留它)。我想设置 IPV6,但我有很多问题。几年前我玩过 IPv6 隧道,它似乎运行良好。但我不再使用它了。现在我想从我的 ISP(/60)获取 IPV6,在 FW/路由器(/64、Int 1 和 Int 2)处拆分它,并让单独的服务器运行 DHCP/DNS(dnsmasq,用于本地 DNS)。我不确定从哪里开始。我想我有一个 FW/路由器的配置(仍在检查它),但我不确定如何将网络分配到 DHCP 服务器。我在 Linux 服务器上运行 dnsmasq(但我可以切换到其他软件)。我并不关心如何配置 DHCP/DNS,而是关心我应该了解哪些技术(RFC)。有人能指点一下吗?

PS:我的网络实际上更复杂,具有冗余服务,但我会简化为仅 FW/路由器、一个网络和 dnsmasq。

答案1

现在我想从我的 ISP 获取 IPV6 (/60)

对于大多数采用标准消费者计划的 ISP,您的 WAN 路由器将需要运行DHCPv6 协议WAN 端的客户端请求所需大小的“前缀委托”(IA_PD)。

规模较小和/或面向企业的 ISP 也可能执行手动前缀分配,例如通过支持票证。其工作方式与 IPv4 类似。它不需要路由器 WAN 端的任何软件,只需静态地址/路由配置。

最后,如果您拥有多宿主网络(并且至少有 /48),则可能必须使用 BGP 向所有 ISP 通告您的前缀。这也与 IPv4 中的工作方式完全相同。但我怀疑这与您当前的网络无关。

在 FW/路由器上拆分(/64、Int 1 和 Int 2)

如果 ISP 已静态路由 /60 给您,那么只需手动从中挑选两个 /64 并将相应的地址分配给路由器的 LAN 接口。

但是当使用 DHCPv6-PD 时,委托前缀的实际动态程度取决于 ISP - 如果您很幸运,您将永远保留相同的前缀(或者至少只要您的路由器保持相同的 DHCPv6 DUID/IAID,我认为);如果您不幸,前缀甚至每天都会变化。

这意味着一旦 DHCPv6-PD 客户端收到前缀委派租约,它就需要使用一些内部脚本或“钩子”在系统的其他位置自动配置该前缀(即,在路由器的 LAN 接口上分配子网并将它们放入您的 dnsmasq.conf 或 radvd.conf 中)。

我认为 Ubiquiti 路由器固件会自动执行此操作。如果使用dh客户端,一切都将通过dhclient-退出-钩子.d

有一个单独的服务器运行 DHCP/DNS(dnsmasq,用于本地 DNS)

DHCPv6 是 IPv6 中的辅助自动配置协议 - 主要方法是通过ICMPv6 邻居发现协议,特别是路由器通告数据包(可以由 radvd、dnsmasq 或 bird 发送)。

  • 所有系统都可以从 ICMPv6 RA 自动配置自己的地址(即斯坦福直线加速器),但只有一些支持通过 DHCPv6 执行此操作。

  • 获取 DNS 服务器地址的情况则更加复杂 —— 有些系统只能使用 DHCPv6,而有些系统只能使用 ICMPv6 RA(即远程域名服务系统有的人支持这两种观点,有的人则不支持,有的人则不支持这两种观点。

  • 您可以将大多数 DHCPv6 和 ICMPv6 RA 功能移至单独的服务器,但据我所知,路由器必须仍会发送自己的 RA,以宣告自己是“默认网关”。

  • 据我所知,没有与 ICMPv6 RA 等效的“DHCP 中继”——广告必须直接在目标子网内发送。

相关内容