Автонастройка DNS на клиентах посредством RA

RFC 6106 - IPv6 Router Advertisement Options for DNS Configuration описывает опцию пакетов с информацией об IPv6-маршрутизаторе (route advertisements), позволяющую включать в них адрес используемого в локальной сети рекурсивного DNS-сервера.

До появления этой опции, единственным способом автоматически передавать такую информацию на клиентские машины было использование в дополнение к RA служб DHCPv4 или DHCPv6. И во многих случаях, именно она оказывается «последним кусочком мозаики», позволяющим (при желании) обойтись в IPv6-сети одними только RA, и отказаться от использования DHCP.

Серверная часть

При использовании radvd, достаточно вставить в /etc/radvd.conf пустую секцию RDNSS, содержащую в заголовке IPv6-адрес DNS-сервера, который должны использовать клиенты:

interface eth0
{
   AdvSendAdvert on;
   prefix 2001:db8:aaaa:bbbb::/64
   {
       AdvOnLink on;
       AdvAutonomous on;
   };
   RDNSS 2001:db8:aaaa:bbbb::c
   {
   };   
};

Подробности см. в man radvd.conf.

Клиентская часть

GNU/Linux и *BSD

В Debian и производных дистрибутивах достаточно установить пакеты rdnssd и resolvconf, после чего адрес DNS-сервера будет доставаться из рассылок RA и прописываться в /etc/resolv.conf автоматически.

Помимо rdnssd, существует альтернативная реализация RFC 5006, разрабатываемая изначально для FreeBSD:

Windows

Слабым местом всей этой затеи на сегодня является отсутствие поддержки использования DNS-информации из Route Advertisements в ОС семейства Windows, в то время как DHCPv4 (а в современных версиях - и DHCPv6) поддерживается «из коробки». Существует win32-порт RDNSSD, но судя по всему, находится он в начальной стадии разработки:


rdnss-ra.txt · Последние изменения: 2011-10-06 09:22 UTC От rm