如何从 DHCPv6 服务器获取适当的前缀长度?

如何从 DHCPv6 服务器获取适当的前缀长度?

我有两台装有 Ubuntu Server 20.04 的虚拟机。其中一个虚拟机是 DHCPv6 服务器,另一个是客户端。我能够在客户端上设置 IPv6 地址,但无法 ping 通该地址。ip -6 route显示此地址,但前缀长度为 128。我希望前缀长度等于 64,与服务器 IP 地址相同。当我将从服务器获得的客户端 IP 地址添加到路由表时,前缀长度等于 64,我可以在虚拟机之间 ping 通。

这是我/etc/dhcp/dhcpd6.conf在服务器上的文件:

default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";
option dhcp6.info-refresh-time 21600;

authoritative:
subnet6 fdaa:a:a:a::/64 {
   range6 fdaa:a:a:a::100 fdaa:a:a:a::199;
}

最后三行是我添加的。

这是我/etc/netplan/00-installer-config.yaml在客户端上的文件:

network:
   ethernets:
      ens3:
         dhcp4: false
         dhcp6: true
   version: 2

预先感谢您的任何帮助。

答案1

根据DHCPd 文档

在正常运行的系统中,客户端应使用长度为 128 的前缀并从路由器的 RA 获取任何链接信息。

由于您使用的是两台虚拟机,并且我假设没有支持 IPv6 的虚拟路由器连接到该虚拟网络,所以没有人发送这些 RA,因此您的客户端无法获取正确的子网掩码。

查看链接以获取更多信息。

相关内容