Объединение DNS-серверов

Объединение DNS-серверов

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

Серверы и другие хосты находятся на моем home.netдомене

Все идет нормально.

Теперь мне нужно подключиться через VPN к сайту клиента ( customer.net), у которого очень похожая настройка (они не используют dnsmasq, но общий эффект тот же).

Я настроил небольшую (виртуальную) машину, работающую в качестве маршрутизатора, перенаправляющего (с NAT) из локальной сети на tunустройство IPSec, и добавил несколько статических маршрутов к (2) хостам, которым необходимо видеть customer.net; я сделал это вручную, вместо того чтобы проталкивать маршруты через dnsmasq.

И это, кажется, работает без проблем.

Теперь у меня последняя проблема, которую я не знаю, как решить:

Я могу получить доступ к машинам в customer.netчастном адресном пространстве, только указав IP-адрес, разрешение DNS недоступно изdns.customer.net

Как я могу получить доступdns.customer.net безтеряете связь с dns.home.net?

ПРИМЕЧАНИЕ: Я могу изменить свои home.netнастройки (я бы предпочел ограничить изменения несколькими хостами, которые действительно задействованы), но я не могу контролироватьcustomer.net

Ситуация, которую я хотел бы иметь:

  • *.home.netадреса должны быть разрешеныdnsmasq
  • Маршрутизируемые адреса Интернета должны разрешаться с помощью dnsmasqпрокси-сервера DNS моего интернет-провайдера.
  • *.customer.netадреса должны быть разрешены dns.customer.net(я могу получить доступ к этому хосту через его немаршрутизируемый IP), возможно, без прохождения через мойdnsmasq

Возможно ли это вообще? Если да, то как?

решение1

После небольшого исследования я выяснил, dnsmasqчто могу сделать то, что мне нужно.

Вот выдержка из стандартной документации (Настройка DNSmasq):

Использование специальных серверов.

Dnsmasq имеет возможность направлять DNS-запросы для определенных доменов на определенные серверы имен вышестоящего уровня. Эта функция была добавлена ​​для использования с VPN, но она полностью общая. Сценарий таков: у вас есть стандартное подключение к Интернету через ISP, и dnsmasq настроен на пересылку запросов на серверы имен ISP, затем вы создаете VPN-подключение к сети вашей компании, предоставляя доступ к хостам внутри брандмауэра компании. У вас есть доступ, но поскольку многие внутренние хосты не видны в публичном Интернете, ваша компания не публикует их в публичном DNS, и вы не можете получить их IP-адрес от серверов имен ISP. Решение заключается в использовании сервера имен компании для частных доменов внутри компании, и dnsmasq позволяет это. Предполагая, что все внутренние компьютеры компании находятся в домене internal.myco.com, а сервер имен компании находится по адресу 192.168.10.1, то опция server=/internal.myco.com/192.168.10.1 направит все запросы во внутреннем домене на правильный сервер имен. Вы можете указать более одного домена в каждой опции сервера. Если есть более одного сервера имен, просто включите столько опций сервера, сколько необходимо, чтобы указать их все.

В конце концов я добавил и «специальный сервер» DNS, и дополнительные статические маршруты к моему основному dnsmasq (на моем брандмауэре), и все заработало как надо, как только виртуальная машина VPN была запущена и запущена.

Фактические строки, добавленные в мой dnsmasq.conf:

server=/customer.net/192.168.20.253
dhcp-option=121,192.168.2.0/24,192.168.7.11,192.168.20.0/24,192.168.7.11

Надеюсь, это поможет кому-то сократить путь.

Связанный контент