1

Мой компьютер находится в локальной подсети, где я работаю. Некоторые локальные DNS настроены в подсети как *.workdomain .
У меня также есть VPN (openvpn), с личным DNS-сервером, как *.persodomain .
.workdomain и .persodomain не могут конфликтовать с любым DNS через Интернет.

Проблема в том, что я хотел бы, чтобы обе зоны работали на моем локальном компьютере с Linux.

Есть ли способ сказать моему компьютеру "для *.persodomain , спросить ns.persodomain , а для чего-нибудь еще спросить ns.workdomain ?"
В настоящее время он запрашивает первый NS /etc/resolv.conf , и, если это неправильный домен, он останавливается, когда получает ответ, что запрашиваемое имя не существует.

Есть ли решение, кроме установки локального DNS-сервера на все мои компьютеры, подключенные к обеим этим сетям? Сначала я ищу способ для своих компьютеров с Linux, но у меня есть и компьютеры под управлением Windows.

3 ответа3

1

Вы не можете указать своему DNS-клиенту связаться с разными серверами имен в зависимости от домена. Но DNS-серверы могут связываться с различными DNS-серверами в зависимости от имени домена (Forward Zones).

В идеале вы должны настроить оба DNS-сервера так, чтобы они знали друг друга. В вашем случае, я думаю, вы не можете, потому что у вас нет доступа к рабочему DNS-серверу. Но вы все равно можете настроить зону пересылки на своем персональном DNS-сервере и использовать только персональный DNS-сервер. Но это имеет тот недостаток, что вам всегда нужно переходить от VPN к поиску DNS.

Другим решением может быть настройка собственного DNS-сервера на работе, который перенаправляет только на оба DNS-сервера !?

1

Локальный демон DNS, такой как dnsmasq может быть настроен двумя способами. Обычно вы настраиваете его для предоставления своего личного домена и поиска других доменов через офисные DNS-серверы. У него есть опция, которая указывает сервер для различных доменов, поэтому вы можете настроить его на использование вашего провайдера для большинства поисков и связываться с указанными серверами для каждого из двух ваших локальных доменов.

bind может быть настроен аналогично. Вам нужно будет определить соответствующие зоны и указать соответствующие серверы для пересылки запроса.

Я бы настроил dnsmasq качестве вашего DNS-сервера для вашего linux-сервера и настроил ваш офисный server следующим образом:

server=/office.example.com/2.0.192.in-addr.arpa/192.0.2.4

Соответствующая зона bind будет выглядеть так:

zone "office.example.com" {
    type static-stub;
    server-addresses {
         192.0.2.4;
    };
};

Ваша конфигурация resolv.conf будет указывать ваш сервер dnsmasq или bind качестве первого nameserver .

0

Вы действительно заинтересованы в наличии отдельных наборов DNS или просто спрашиваете, как настроить несколько поисковых доменов?

Первое не может быть легко сделано, второе может: вставить эту строку (как sudo) в ваш файл /etc/resolv.conf

 search persdomain.com workdomain.com 

или как они там называются. В этом случае имена компьютеров first ищутся в ваших личных доменах, а then в вашем рабочем домене.

Если вместо этого вы действительно хотите использовать несколько наборов DNS-серверов, вам придется настроить Linux-контейнер (LXC). Это позволит иметь совершенно отдельные сообщения на вашем персональном компьютере. Но это требует немного больше работы.

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