Сопоставитель: LAN, VPN и определение имен WAN

Я прочитал страницы справочника на resolv.conf и resolvconf и resolvconf.conf, но не понимаю все и чувствую, что немного потерян о том, как я мог бы (гм) разрешить эту проблему:

Сценарий:

У меня есть LAN с маршрутизатором, который действует как DHCP и сервер имен. Сервер имен разрешает все устройства на этой LAN или без TLD или без .lan TLD. Например, я могу решить с nslookup, ping и любыми другими названиями инструмента как "nas" и "nas.lan", которые достигают моего сервера NAS (сетевой доступный сервер хранения). Любые другие имена это передает запрос на DNSs моего ISP.

Мой resolv.conf поэтому похож на это:

# Generated by resolvconf
domain lan
nameserver 192.168.0.1

Я получаю высокое разрешение всей LAN и имен WAN.

Я теперь соединяюсь с Cisco VPN на работе, и resolvconf обновляет resolv.conf к:

# Generated by resolvconf
domain myworkplace.com
search myworkplace.com lan
nameserver 192.168.1.10
nameserver 192.168.1.11
nameserver 192.168.0.1

И теперь я не могу достигнуть "nas" или "nas.lan" на моей LAN больше, но я могу достигнуть "nas" и "nas.myworkplace.com" на VPN. Имена WAN теперь разрешены VPN присвоенный сервер имен 192.168.1.10, и NAS, я достигаю этого пути, находится на VPN не на моей LAN (другой сервер).

В стороне: у Меня на самом деле нет никакого подобного столкновения имени, но я обеспечиваю его в недостоверном примере здесь, потому что решение ясно должно обслужить его.

Теперь то, чего я хотел бы достигнуть, является чем-то вроде этого:

"nas.lan" решает к моему NAS LAN, который твердость "nas.myworkplace.com" к NAS VPN "nas" разрешает одному или другому на основе конфигурации (подсказки ndots resolv.conf, устанавливающего здесь, но не уверенная).

Мои вопросы:

  1. Это даже выполнимо с resolvconf?
  2. В противном случае там некоторый другой путь состоит в том, чтобы сделать это (пример с помощью dnsmaq вместо libc как сопоставитель на моем поле?).

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

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

1
задан 25 April 2018 в 14:28

2 ответа

Я предполагаю причину, почему Вы не можете использовать свой DNS LAN, когда использование VPN состоит в том, что сопоставитель только предпринимает две попытки по умолчанию:

Из resolv.conf руководства:

attempts:n устанавливает количество раз, которое сопоставитель отправит запросу на свои серверы имен перед отказом и возвратом ошибки к вызывающему приложению. Значение по умолчанию является RES_DFLRETRY (в настоящее время 2, посмотрите). Значение для этой опции тихо ограничивается к 5.

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

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

Я рекомендовал бы использовать dnsmasq.

Вы могли добавить восходящий сервер DNS доменом в dnsmasq conf с указанным доменом как это:

server=/lan/192.168.0.1

И по умолчанию dnsmasq опрашивает вышестоящие серверы от/etc/resolv.conf.

От раздела Notes dnsmasq Страницы справочника:

... По умолчанию dnsmasq читает/etc/resolv.conf для обнаружения IP-адресов восходящих серверов имен, которые он должен использовать, так как информация обычно хранится там. Если - без опросов не используется, dnsmasq проверяет время изменения/etc/resolv.conf (или эквивалентный, если - resolv-файл используется), и перечитывает его, если он изменяется. Это позволяет серверам DNS быть установленными динамично PPP или DHCP, так как оба протокола предоставляют информацию...

Таким образом, если Ваше изменение клиента VPN resolv.conf, Вы можете использовать обоих, если Вы могли бы сохранить свой dnsmasq сверху resolv.conf.

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

server=/myworkplace.com/192.168.1.10
server=/myworkplace.com/192.168.1.11
server=192.168.0.1

В этом случае все Ваши запросы для Интернета и LAN, идущей в 192.168.0.1 и все запросы для myworkplace.com, идут в Ваши компании DNS.

1
ответ дан 7 December 2019 в 15:20
git clone https://github.com/timebandit1969/resolvchange.git

https://www.purebasic.com/download.php и загрузка демоверсия Linux PureBasic x64, не волнуйтесь, что я не думаю, что ограничения будут мешать Вам компилировать его, я проверил его. Скомпилируйте (Сделайте Исполняемый файл), resolvchange.pb chmod +x resolvchange запускают vpn при выполнении один и сразу выполняют resolvchange со следующим:./resolvchange

0
ответ дан 7 December 2019 в 15:20

Другие вопросы по тегам:

Похожие вопросы: