Настройка одновременной работы с несколькими внутренними доменами


Если вы подключены по VPN сразу к нескольким внутренним доменам (например поддерживаете несколько компаний использующи Active Directory и внутренние домены) и хотели бы работать с ними с использованием внутренней DNS-адресации, то вы можете настроить локальный DNS-сервер Bind и настроить пересылку DNS-запросов к серверам которые обслуживают эти внутренние зоны, если имена этих внутренних доменов конечно не пересекаются.

Настройка одновременной работы с несколькими внутренними доменами

Теперь рассмотрим на практическом примере как это сделать и первым делом мы определяем DNS-сервера обслуживающие внутренние доменные зоны:

# dig NS maximo.local | grep A

Запрос мы проводили из локальной сети компании с сервера которому уже назначены основными DNS-серверами сервера Active Directory и в результате мы получаем IP-адреса DNS-серверов внутри VPN-сети:

main-fs.maximo.local.   3600    IN      A       10.1.1.200
secondary-fs.maximo.local. 3600 IN      A       10.1.1.201

Так как домен у нас .local, то для Ubuntu-linux я рекомендую использовать мою статью: "Устранение проблем с разрешением DNS-имен для домена .local в современенных дистрибутивах Linux".

Как вы наверное догадались, я буду использовать DNS-сервер Bind. Это классика и если вам не надо чего-то уж очень специфичного, то лучше использовать именного его:

# aptitude install bind9

Настраиваем форвард внутреннего домена к заданным DNS-серверам:

zone "maximo.local" IN {
    type forward;
    forwarders { 10.1.1.200; 10.1.1.201; };
    forward only;
};

Можно настроить сколько угодно внутренних доменов и переадресовывать им обращения, после чего перезапускаем локальный Bind9-сервер командой:

# /etc/init.d/bind9 restart

Проверяем разрешение имен из зоны .local:

# nslookup esxi-01.maximo.local

При перенаправлении запросов к Windows-серверам в логах может появиться ошибка:

Jun 17 12:03:41 gita-dev-v named[32413]: insecurity proof failed resolving 'maximo.local/A/IN': 10.1.1.201#53
Jun 17 12:03:41 gita-dev-v named[32413]: validating maximo.local/A: got insecure response; parent indicates it
should be secure

В этом случае, мы просто отключим проверку dns-sec в конфигурационном файле /etc/bind/named.conf.options при помощи опции:

dnssec-validation no;

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