Как получить правильную длину префикса от 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, поэтому ваш клиент не может получить правильную маску подсети.

Более подробную информацию можно получить по ссылке.

Связанный контент