Как настроить DNSv6 в локальной сети без доступа в интернет?

У меня есть локальная сеть с поддержкой IPv6. Я хотел бы настроить Ubuntu в качестве сервера DNSv6 для локальных адресов локальной сети (нет интернета / туннелирования).

Я мог бы вручную отредактировать файл etc / hosts для каждого хоста, но я думаю, что локальный сервер DNSv6 был бы более эффективным. Любое предложение?

РЕДАКТИРОВАТЬ: я обнаружил, что dnsmasq блестяще решает мою проблему; однако, поскольку по умолчанию выполняется с большим количеством параметров, включая -no-resolv (это, вероятно, связано с конфигурацией IPv4 хоста), мне нужно остановить и перезапустить его вручную. Можно ли этого избежать?

0
задан 18 September 2012 в 13:46

1 ответ

Во-первых: вам не нужно запускать отдельный DNS-сервер на IPv6. Вашему DNS-серверу даже не нужно прослушивать запросы через IPv6, чтобы отвечать записями AAAA. Таким образом, вы даже можете использовать DNS и устанавливать соединения IPv6, выполняя все DNS-разрешения по IPv4. Это не более или менее эффективно.

Конечно, на самом деле делать все, включая разрешение по IPv6, гораздо круче: -)

Сделать BIND прослушивать запросы по IPv6 легко (и другие DNS-серверы будут похожими):

options {
    listen-on-v6 {
        any;
    };
};

Затем вам нужно будет сообщить своим клиентам, что они могут выполнять разрешение DNS по IPv6. Обычно вы делаете это с DHCPv6, но вы также можете включить эту информацию в объявления маршрутизатора. То, что будет использовать ваш клиент, зависит от операционной системы, в которой он работает.

DHCPv6 может использоваться двумя способами: с сохранением состояния и без сохранения состояния. Настройка без сохранения состояния предоставляет всем клиентам дополнительную информацию, такую ​​как DNS-преобразователи и т. Д., Фактически не выполняя всю сложную работу, такую ​​как назначение адресов и ведение базы данных аренды. Пример конфигурации для сервера DHCPv6 с дополнительным устройством (опять же, другие серверы DHCP будут аналогичными):

iface eth0 {
    stateless
    option dns-server 2001:db8:0:1::53
    option domain example.com, test1.example.com
}

Затем необходимо сообщить своим клиентам, что в сети доступен сервер DHCPv6 без сохранения состояния. Мы также включаем информацию DNS для клиентов, которые хотят это таким образом, а не через DHCPv6 (да, это раздражает, есть два способа установить одинаковые настройки, но это так). Я использую RAdvD здесь:

interface eth0 {
    AdvSendAdvert on;
    AdvDefaultPreference high;
    AdvManagedFlag off;
    AdvOtherConfigFlag on;
    prefix 2001:db8:0:1::/64 {};
    RDNSS 2001:db8:0:1::53 {};
    DNSSL example.com test1.example.com {};
};

Теперь RA сообщает клиенту настройки DNS (если он может понять их здесь) и сообщает клиенту, что существует сервер DHCPv6 без состояния (управляемый, другой config on), а сервер DHCPv6 также предоставляет настройки DNS (для клиентов, которые ожидают их здесь). DNS-сервер прослушивает как IPv4, так и IPv6 и может отвечать на все запросы по любому протоколу. Ответы (записи A и / или AAAA) говорят клиенту, что они могут использовать для подключения. Большинство клиентов предпочтут IPv6 (ответ AAAA), когда смогут.

PS: Замените 2001:db8:0:1::53 реальным IPv6-адресом вашего DNS-сервера.

0
ответ дан 18 September 2012 в 13:46

Другие вопросы по тегам:

Похожие вопросы: