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