Почему в Ubuntu IPv6-адрес / 128 назначается через DHCPv6?
Я тестирую реализацию IPv6 в Ubuntu. Мой Linux-клиент Ubuntu правильно получает RA с сервера и настраивает адрес в объявленном префиксе. Затем он получает другой адрес через DHCP, который имеет /128
маска.
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f8:a9:63:0c:3c:cb brd ff:ff:ff:ff:ff:ff
inet6 2001:xxxx:1f15:yyyy::9/128 scope global
valid_lft forever preferred_lft forever
inet6 2001:xxxx:1f15:yyyy:faa9:63ff:fe0c:3ccb/64 scope global dynamic
valid_lft 82162sec preferred_lft 10162sec
inet6 fe80::faa9:63ff:fe0c:3ccb/64 scope link
valid_lft forever preferred_lft forever
Я заинтригован /128
маска для этого адреса, которая подразумевает двухточечную ссылку. Почему маска /128
и нет, скажем /64
?
Это нормальное поведение DHCPv6 или что-то связанное с настройкой моего DHCP-сервера?
1 ответ
Да, это нормальное поведение. Серверы DHCPv6 выдают адреса (с опцией IA_NA), но ничего не говорят клиенту о подсети. Поэтому клиент просто настраивает отдельный адрес на интерфейсе. Любые маршруты в подсеть предоставляются РА. Если RA объявит префикс без опции автоконфигурации, тогда клиент не настроит адрес автоматически, но добавит маршрут для локальной подсети.
Такое разделение обязанностей является намеренным. Серверы DHCPv6 имеют полномочия назначать адреса (среди прочего), но не имеют полномочий говорить о состоянии сети. Часто серверы DHCPv6 даже не находятся в локальной подсети и обмениваются данными с клиентом через реле. Устройства, с которыми клиент общается напрямую, являются маршрутизаторами. Поэтому в IPv6 маршрутизаторы сообщают клиентам о состоянии сети (префикс, шлюз по умолчанию, маршруты и т. Д.), Используя RA. Дополнительные параметры конфигурации и, необязательно, назначения адресов выполняются с сервера DHCP.
Таким образом, клиент может быстро реагировать на изменения в сети, в то же время получая более долгоживущую информацию от DHCPv6.