Для нашего сетевого курса нас попросили настроить DHCPv6-сервер на виртуальной машине. Я предпочитаю работать на виртуальной машине (на VMware) под управлением Ubuntu Desktop 16.04 и Lubuntu 14.04 в качестве тестового клиента с сетевыми адаптерами, настроенными для конкретной локальной сети. Я начал с настройки isc-dhcp-server для работы с IPv6, как описано в этом Почта и у меня получился работающий dhcpv6 с файлом конфигурации (/etc/dhcp/dhcpd6.conf), содержащим следующие строки:
ddns-update-style none;
default-lease-time 100;
max-lease-time 200;
subnet6 2001:4340:4532:0400::/64{
range6 2001:4340:4532:0400::0004 2001:4340:4532:0400::0006;
}
Я также внес необходимые изменения в сценарий инициализации, чтобы установить .conf, .pid, файл аренды и настроил интерфейс ens33 со статическим адресом, как показано здесь: статический ip установлен через графический интерфейс
Проблема в том, что клиент получает адрес / 128.
После некоторого исследования я обнаружил, что сервер DHCPv6 не предоставляет информацию о длине префикса и что он должен транслироваться с использованием рекламы маршрутизатора. Итак, я установил radvd на ту же виртуальную машину, включил пересылку, отключил ufw и настроил его с помощью этого файла конфигурации:
interface ens33{
#this is important :
AdvSendAdvert on;
MaxRtrAdvInterval 6;
MinRtrAdvInterval 4;
#this is important to :
AdvManagedFlag on;
AdvOtherConfigFlag off;
prefix 2001:4340:4532:400::/64
{
AdvOnLink on;
AdvAutonomous off;
};
И я получаю это на стороне клиента: ifconfig на клиенте Я также использую это в качестве сетевых настроек этого клиента: введите описание изображения здесь. Когда я включаю AdvAutonomous или изменяю настройки в окне редактирования проводного соединения, я получаю адрес / 64 с правильным префиксом через SLAAC, указывающий, что RA получены и работают там, но это не то, что я ищу.
Я застрял в этом на некоторое время, и, пожалуйста, имейте в виду, что я новичок в сети и Linux, поэтому, пожалуйста, простите меня за отсутствие знаний.