首先,我想请求大家暂时不要讨论双栈。任何只能处理 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 发送)。