1

Возможный дубликат:
Как настроить Linux для использования другого DNS-сервера для определенного домена?

Прямо сейчас у меня есть несколько серверов имен, определенных в моем /etc/resolv.conf, но все они используются для всех поисков.

Я хотел бы указать, какой сервер домена используется для какого домена, например.

nameserver .com 1.2.3.4
nameserver .local.site 2.3.4.5
nameserver * 3.4.5.6

Есть ли способ сделать это в Linux?

1 ответ1

1

Обычной практикой является наличие для группы доменов одного мастера и нескольких вторичных серверов, которые выполняют передачу зон от мастера. Другими словами, я бы так не поступил.

На практике вы выполняете эту настройку в файлах конфигурации DNS-демона - ищите делегирование зоны.

resolv.conf предназначен для клиентской части, клиент должен сообщить любому серверу имен, к какому серверу имен обращаться для запросов о конкретных доменах. Вы абсолютно не должны пытаться настроить знания о делегировании домена в конфигурации клиента.


Пример конфигурации DNS с частным и общедоступным разрешением DNS

options {
        directory "/var/named";
        forward only;                      // ISP doesn't permit bypass
        forwarders { 1.2.3.4; 5.6.7.8; };  // ISP's DNS servers
};


zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};

zone "example.com" IN {
        type master;
        file "example.com";
        allow-update { none; };
};

zone "0.0.10.in-addr.arpa" IN {
        type master;
        file "10.0.0";
        allow-update { none; };
};

zone "129.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.129";
        allow-update { none; };
};

В этом случае файл «example.com» содержит имена и адреса компьютеров, которые не видны внешнему миру. Общедоступный интернет видит совершенно другой набор DNS-серверов для example.com (предоставляемый провайдером хоста / регистратора домена), которые имеют совершенно разные записи. Вы должны дублировать внешние записи в файле внутренней зоны, но обычно их немного (может быть, просто запись A для www.example.com).

Другие внутренние DNS-серверы были бы простыми вторичными серверами для всех тех же зон.

Директива forwarders выполняет "перенаправление", которое вы ищете. Все внутренние компьютеры имеют resolv.conf, которые указывают только на внутренние DNS-серверы. Именно эти серверы предоставляют информацию как об отдельных внутренних, так и о внешних мирах. Внутренним компьютерам не нужно ничего знать об этом внутреннем / внешнем разделении пространства имен DNS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .