3

Немного предыстории: у меня есть рабочий ноутбук с Ubuntu 9.10. У меня дома есть небольшая сеть, где я уже несколько лет пользуюсь некоторыми базовыми услугами (для себя / своей семьи). В моей домашней сети есть сервер имен (Fedora) под управлением Bind 9 с двумя "представлениями". Один вид - это внешний вид, который обеспечивает разрешение имен (для Интернета в целом) для электронной почты, вики и пары блогов. Представление "изнутри" обеспечивает разрешение имен (для внутренних адресов RFC1918 этих серверов), а также для всех внутренних узлов, сетевого оборудования и т.д.

Я подключаюсь с клиентом openvpn к моей домашней сети извне (например, на работе). То, что я хотел бы сделать, это разрешить имена во внутренней сети через эту VPN (так что я получаю ответы RFC1918 "изнутри"), не меняя полностью мой преобразователь на DNS-сервер.

Например, если я подключаюсь к VPN с работы, я могу изменить свой преобразователь (отредактировав resolv.conf) на DNS-сервер в моем доме (через VPN), а затем успешно разрешить все внутренние DNS-имена в моей домашней сети. , Проблема, с которой я столкнулся, заключается в том, что теперь я больше не могу разрешать "внутренние" имена, предоставленные DNS-серверами моей работы (потому что я использую свой домашний DNS-сервер).

Кроме того, я могу подключиться к VPN и получить доступ к своим домашним серверам напрямую через IP-адреса, но это неудобно и вызывает проблемы с хостингом на основе имен Apache (среди прочего).

В итоге, эффект, который я пытаюсь достичь, заключается в следующем:

  1. Когда я подключаюсь к VPN, я автоматически начинаю отправлять запросы DNS для * .myhomedomain.com на мой домашний сервер имен, но любые другие запросы продолжают отправляться на сервер имен, который я использовал ранее (тот, который я получил в локальной сети своей компании через DHCP).

  2. Когда я отключаю VPN, запросы на * .myhomedomain.com возвращаются на локальный сервер DNS локальной сети (например, все запросы отправляются туда сейчас).

Я ищу предложения о том, как это можно сделать.

2 ответа2

1

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

1

Я понимаю, что это, вероятно, потребует запуска сервера имен на вашей локальной рабочей станции на работе, и, возможно, много тестов и тряски, поэтому я не знаю, будет ли это того стоить.

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

Таким образом, вы можете установить сервер имен на своей рабочей станции на работе, который перенаправляет на ваши обычные рабочие DNS-серверы с помощью оператора пересылки в разделе параметров {}, но перенаправляет запросы для вашего домашнего домена на ваш домашний DNS, имея зону пересылки это специально для вашего домашнего домена. Это оставляет проблему, связанную с тем, как запросы * .myhomedomain.com возвращаются на локальный DNS-сервер локальной сети после отключения VPN. Вы можете обойти это, перечислив более одного сервера пересылки в своей зоне пересылки, оставив первого сервера пересылки, указывающего на ваш домашний DNS, и второго сервера пересылки, указывающего на DNS-сервер локальной сети.

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