Домены для поиска dns при подключении vpn

Обновлено: 06.07.2024

Вопрос так и стоит

Иными словами, IP адрес внутренней сетки пингуется, а по имени не идет.

Т.е. DNS-ы работают "не в той" последовательности.

Печаль в том, что заработают в "той" последовательности, отвалится родная сеть. Ну она не полностью отвалится, PPTP подключение будет продолжать работать.

Все верно, подключение будет, и будет работать. но как быть с именами?

Видимо, это стоит оставить до лучших времен, когда Microsoft , что нибудь придумает.

Поскольку красивых решений никто не смог предложить, кроме как ручками передвигать адреса DNS серверов, или прописывать в файле hosts, локальные привязки имен к адресам.

итого прошло 9 лет. есть ли адекватное решение. я не нашла

как было описано выше, исходная ситуация такая:

1) LAN адаптер, который подключен к LAN1 и получает ip адрес и DNS для сети LAN1

2) VPN соедиение в сеть заказчика LAN2, адаптер VPN содениения получает ip адрес и dns из сети заказчика.

2) VPN соединение L2tp\IPsec в сеть заказчика (в офис), адаптер VPN соединения получает ip адрес и dns из сети заказчика

никакие записи в hosts не прописывались

The DNS Client service queries the DNS servers in the following order:

  1. The DNS Client service sends the name query to the first DNS server on the preferred adapter’s list of DNS servers and waits one second for a response.
  2. If the DNS Client service does not receive a response from the first DNS server within one second, it sends the name query to the first DNS servers on all adapters that are still under consideration and waits two seconds for a response.
  3. If the DNS Client service does not receive a response from any DNS server within two seconds, the DNS Client service sends the query to all DNS servers on all adapters that are still under consideration and waits another two seconds for a response.
  4. If the DNS Client service still does not receive a response from any DNS server, it sends the name query to all DNS servers on all adapters that are still under consideration and waits four seconds for a response.
  5. If it the DNS Client service does not receive a response from any DNS server, the DNS client sends the query to all DNS servers on all adapters that are still under consideration and waits eight seconds for a response.

If the DNS Client service receives a positive response, it stops querying for the name, adds the response to the cache and returns the response to the client.

If the DNS Client service has not received a response from any server within eight seconds, the DNS Client service responds with a time-out. Also, if it has not received a response from any DNS server on a specified adapter, then for the next 30 seconds, the DNS Client service responds to all queries destined for servers on that adapter with a time-out and does not query those servers. Only computers running Windows 2000 or Windows Server 2003 return this time-out.

If at any point the DNS Client service receives a negative response from a server, it removes every server on that adapter from consideration during this search. For example, if in step 2, the first server on Alternate Adapter A gave a negative response, the DNS Client service would not send the query to any other server on the list for Alternate Adapter A.

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

воскресенье, 14 июня 2015 г.

Домашняя VPN - настройка клиентов, работающих под упралением Android

Продолжаем тему про настройку и использование домашней VPN сети. Было уже и теоретическое введение, и настройка роутера в качестве VPN сервера на практике. Подошло время рассказать про настройку клиентских устройств. Ведь вся эту канитель с VPN затевалась для того, чтобы иметь доступ к домашней сети, находясь вне дома. Наверное, я повторюсь, но все же, перечислю, какие для этого у меня есть возможности. Обычно, в то время, когда я нахожусь вне дома, в моем распоряжении имеются (не обязательно одновременно):
  • планшет под управлением Android (с недавнего времени используется версия Android 5.0.1 на планшете Asus Memo Pad 7)
  • смартфон Asus ZenFone 5, тоже уже с Android 5 на борту
  • планшет Acer Iconia Tab W701 под управлением Windows 8.1 Professional
  • ноутбук-трансформер HP TouchSmart 2 на котором установлена профессиональная версия Windows 7.
  • беспроводное устройство хранения данных Seagate Wireless Plus с какой-то урезанной версией Linux

Также, я довольно активно пользуюсь виртуалками, в основном, для работы - я разрабатываю и тестирую на них софт. Все мои виртуалки созданы и выполняются при помощи VirtualBox. Среди них есть машинки под Linux, Windows XP и, в последнее время, стали появляться под Windows 7.

Что с операторами? Несмотря на наличие в Memo Pad-е слота для микросим и поддержку встроенным в него модемом стандарта LTE, планшет, на сегодняшний день, переведен в "Режим полета", то есть, GSM модуль выключен, используются только WiFi и Bluetooth. Смартфон (ZenFone) снабжен симкой МТС, на ней имеется подключенный пакет интернета, Бит, по моему. В основном, передача мобильных данных тоже выключена. А все почему? Потому, что в роутере от Huawei установлена симка Мегафона, на которой подключен хороший пакет интернета (не скажу какой, потому что дорогой, вдруг жена прочитает). Этот роутер трудится постоянно - и на работе, и в автомобиле, и даже при пеших прогулках. Именно к нему подключены и смарт, и планшет, и планшет с Windows 8.1 (опять же, несмотря на слот для микросимки), когда я ими пользуюсь вне дома. Ну, иногда я включаю MR-3040, с модемом от Скайлинка, тоже для раздачи интернета всем моим устройствам. Вот так обстоят дела с доступом в интернет вне домашних стен.

Почему, собственно, я так рвался в домашнюю сеть извне? Во-первых, я хотел получить доступ к домашнему хранилищу данных, размещенному на WD MyBook Live и MyBook Live Duo. Музыка, книги, софт, фильмы, документы, резервные копии - все там. Иногда к этому нужен доступ, причем не вечером, когда вернусь с работы, а вот прямо сейчас. Во-вторых, иногда нужно поуправлять какими-нибудь устройствами, например, компьютером, который подключен к телевизору. Там у меня торентокачалка, и не только. Нет, я использую TeamViewer, но. Ведь весь этот трафик идет через чьи-то сервера, и, хотя, скорее всего, никому до меня нет дела, да и трафик, как обещают, защищен, ощущение, что за мной все-таки могут подглядывать, пусть и чисто теоретически, мне не нравится. А так подключился в локальную сеть, и делай, все что надо через SSH, или по RDP, и не надо пробрасывать порты, выводить компьютеры в DMZ. Можно привести и в-третьих, и в-четвертых, и, может быть, если хорошенько подумать, даже в-пятых. Так что, есть, как видите, причины подключаться к домашней сети извне.

Как я уже писал, для начала я выбрал вариант, простейший с точки зрения получения конечного результата, и не требующий стороннего софта, а именно, развертывание VPN сети по протоколу PPTP. Сервер настроен, учетная запись заведена, опишу-ка я настройку доступа в VPN своих устройств, работающих под управлением Android.

Первое, что необходимо сделать - войти в настройки (я обычно делаю это через шторку):


Но не надейтесь, что сразу увидите что-то вроде "Настройки VPN". Нужный пункт спрятан в глубине, для того, чтобы добраться до него, надо, для начала, выбрать пункт " Ещё. "


и только потом появится возможность перейти непосредственно к настройкам VPN.


При выборе пункта "VPN" на экране появится список виртуальных сетей, которые уже настроены, а также элементы, позволяющие выполнить другие действия, в частности, настроить новую сеть. На приведенной ниже картинке список сетей пуст и нам надо открыть меню операций:


Для добавления новой VPN сети необходимо выбрать соответствующий пункт меню:


На самом деле, есть один нюанс - если на устройстве никогда не настраивалась ни одна виртуальная сеть, и устройство не защищено ни паролем, ни пином, ни графическим ключом - ничем, то, при попытке настроить VPN, система потребует установить такую защиту. Это, конечно, отвлекает от достижения цели, но ненадолго. Надо вернуться в настройки системы и немного прокрутить экран. В группе "Личные данные" находим пункт "Экран блокировки":


Выбрав его, попадаем в соответствующий экран настроек.


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


Вдоволь намучившись с вводом пароля, я, в конце концов, остановился на графическом ключе.

Итак, пароль установлен, вернемся к процессу добавления новой VPN сети. После выбора пункта меню "Добавить профиль VPN" на экране отобразится окно, в котором надо заполнить несколько полей:


Поле "Название сети" ни на что особенно не влияет. То, что будет в него введено, будет показываться в списке сетей, к которым можно будет подключиться.


Поле "Тип" значительно важнее, с помощью него задается, а, вернее, выбирается из списка, протокол, по которому будет производиться подключение к серверу VPN.



Мой сервер использует протокол PPTP, который, к счастью, присутствует в списке выбора, в отличии, например, от того же OpenVPN. Надо, также, отметить, что значение, выбранное в этом поле, может повлиять на список параметров, которые надо задать. Мы рассматриваем случай для PPTP.

Поле "Адрес сервера" тоже очень важное - значение, которое будет указано в этом поле, позволит подсоединиться именно к вашему серверу, а не какому-нибудь другому.


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

Отсюда же, кстати, растут ноги и второго совета - в случае выделения провайдером динамического"белого" IP, подключить какую-нибудь службу динамического DNS. Эти службы занимаются тем, что привязывают ваш динамический белый адрес, выданный провайдером, к домену, выделенному вам службой DNS. Как можно догадаться, у вас устанавливается ПО от этого сервиса, которое оповещает сервис каждый раз, когда ваш провайдер выдает вам новый адрес. В результате, вы можете указывать в настройках свой домен - он не меняется, и перенастраивать клиентов не надо.

Конечно же, если у вас статический IP адрес и есть имя домена, связанное с этим адресом, смело можете указывать этот домен в описываемом поле.

В моем случае, все несколько интересней. У меня провайдер выдает условно постоянный белый IP адрес. Этот адрес не меняется при переподключениях, длительном отключении и так далее. Но стоит просрочить оплату по счетам, как адрес изменится. Также, у меня есть домен, но он привязан к Google Apps, как и парочка поддоменов, заведенных под блоги. Вообще-то, у меня есть в планах выделить поддомен и связать его со своим условно постоянным IP адресом, выданным провайдером, при помощи какого-нибудь сервиса динамического DNS. Но это - планы, а пока я указываю в этом поле тот самый условно фиксированный IP адрес, и стараюсь не забывать вовремя оплачивать интернет.

Еще в окне настройки VPN есть две галки: одна - для управлением шифрованием (ну как управлением, включить и выключить), ее я включил (вернее, оставил включенной), так как сервер настроен на использование шифрования; вторая - для доступа к дополнительным параметрам. Эту вторую, в моем случае, включать не потребовалось - все заработало и так, но если все-таки ее включить, то появится возможность понастраивать еще три параметра. На всякий случай, приведу их описание тут, тем более, что эту информацию трудно найти собранной в одном месте. Итак.


Поле "Домены для поиска DNS" служит вот для чего. Если за VPN сервером имеется полноценная локальная сеть, например, корпоративный интранет, то в ней могут использоваться локальные домены и внутренние DNS сервера. Это поле позволяет указать, какие домены ищутся внутренними DNS серверами первыми. По этому поводу довольно хорошо написано тут.

Поле "DNS серверы" позволяет задать не что иное, как DNS серверы. Они будут использоваться, когда Android устройство подключено к VPN. Если надо указать больше одного сервера, их следует разделить пробелом.

И последнее поле - "Маршруты пересылки" - позволяет указать, какой трафик будет проходить через VPN. Все, что не будет отвечать заданным правилам, через VPN не пойдет. Маршруты задаются в формате CIDR.

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


Затем, в появившемся окошке, надо вбить имя и пароль.


Естественно, они должны соответствовать тем значениям, которые задавались при настройке удаленного пользователя на сервере. И, кстати, в окошке соединения можно включить галочку "Сохранить учетные данные". Тогда, при последующих подключениях, поля для имени пользователя и пароля будут уже заполнены нужными значениями.

Потом некоторое время на экране устройства повисит вот такая заставка, щекоча нервы - получится или нет?


Лично у меня все прошло просто замечательно, подключение состоялось, и я действительно получил доступ к ресурсам, размещенным в домашней сети.


Осталось лишь описать процесс завершения работы с VPN соединением. Сделать это совсем не сложно. Для завершения сеанса работы нужно войти в настройки, добраться до нужной сети, и, выбрав ее, в появившемся окна нажать на "Разъединить".



В Android KitKat можно было вытянуть шторку, и, выбрав в ней строчку, соответствующую оповещению о том, что соединение состоялось, опять-таки, нажать на "Разъединить". Однако в Lollipop такого оповещения более не выводится и, соответственно, через шторку операцию не выполнить. А жаль.

Вот такая настройка производится для устройств под управлением Android 5.0.1. Для других версий она очень похожа, может, немного отличаются внешние виды окон, или названия пунктов меню, но принцип остается одинаковым.

В следующий раз поговорим о настройке какой-нибудь другого устройства с другой операционной системой на борту. Так что, продолжение следует.

Многие из вас пользуются VPN подключением к рабочей локальной сети из дома.
Благодаря этому, подключив VPN вы работаете с рабочей сетью «как будто находясь в ней».

Как выглядит типичная настройка в linux?
В /etc/resolv.conf прописывается (при помощи openresolv или NetworkManager)

Как выглядит работа?

Казалось бы, что может быть проще? Однако путь к решению был долгим и извилистым.

Подробное описание результата

Рабочая сеть

Если VPN подключение выключено — имя не будет найдно.

Личный сервер на hetzner

С ним всё немного хитрее

Локальная подсеть — 10.10.10.0/24 (т.е. 10.10.10.* — из подсети)
Домен — *.my.domain
Локальный DNS сервер — 10.10.10.253

Сервер my.domain имеет белый IP адрес и доступен извне
На сервере стоит nginx, который проксирует запросы вида subdomain.my.domain машинам из локальной подсети.

С другой стороны, при включенном VPN мои подключения вида:


должны попадать напрямую на машину из локальной подсети.
Зачем?

Мне так удобно. Я один раз настроил рабочую машину, и прозрачно гуляю по рабочей сети и личной сети. Снаружи по *.my.domain пользователи видят ровно один сервер (который по совместительству и VPN) и к локальным машинам доступа не имеют. Я же могу напрямую подключать по ssh как к машинам из рабочей сети, так и из личной.

«Подожди», скажет мне юзер.
«Я просто пропишу /etc/resolv.conf»:


«И всё будет работать.»

Решение

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

Итак, прежде всего нужно поставить bind. Рабочая машина у меня на Arch Linux:


Дальше настраиваем /etc/named.conf, добавляет туда:


В openvpn скрипт для my.domain добавляем:


Добавляем скрипт /usr/share/openvpn/update-dns-my.domain который будет обновлять настройки bind и перезапускать его после установления VPN подключения:

Как это работает?

  1. openvpn запускает скрипт /usr/share/openvpn/update-dns-my.domain
  2. скрипт в файл /usr/share/openvpn/named.conf.my.domain записывает содержимое /usr/share/openvpn/named.conf.my.domain.template
  3. скрипт перезапускает bind
  4. bind вычитывает настройки зоны my.domain из обновлённого файла
  5. зона my.domain теперь ресолвится DNS сервером из локальной сети (доступен через VPN)
  1. openvpn запускает скрипт /usr/share/openvpn/update-dns-my.domain
  2. скрипт очищает содержимое /usr/share/openvpn/named.conf.my.domain
  3. скрипт перезапускает bind
  4. bind вычитывает настройки зоны my.domain из обновлённого файла (забывает про зону)
  5. зона my.domain теперь ресолвится общедоступными DNS

Как это выглядит на практике?


Забавно, что для получения такого простого поведения пришлось проделать столько работы.

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

Настройка разрешения имен DNS

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

Поэтому необходимо убедиться, что имя компьютера, используемое внешними клиентами для подключения к VPN-серверу, совпадает с альтернативным именем субъекта, определенным в сертификатах, выданных VPN-серверу.

Чтобы удаленные клиенты могли подключаться к VPN-серверу, можно создать запись DNS A (узел) в внешней зоне DNS. Запись A должна использовать альтернативное имя субъекта сертификата для VPN-сервера.

Добавление записи ресурса узла (A или AAAA) в зону

  1. На DNS-сервере в диспетчер сервера выберите средства, а затем — DNS. Откроется диспетчер DNS.
  2. В дереве консоли диспетчера DNS выберите сервер, которым требуется управлять.
  3. В области сведений в поле имя дважды щелкните зоны прямого просмотра , чтобы развернуть представление.
  4. В области сведения о зонах прямого просмотра щелкните правой кнопкой мыши зону прямого просмотра, к которой нужно добавить запись, а затем выберите новый узел (a или AAAA). Откроется диалоговое окно новый узел .
  5. В поле имянового узла введите альтернативное имя субъекта сертификата для VPN-сервера.
  6. В поле IP-адрес введите IP-адрес VPN-сервера. Вы можете ввести адрес в формате IP версии 4 (IPv4), чтобы добавить запись ресурса узла (A) или формат IP версии 6 (IPv6) для добавления записи ресурса узла (AAAA).
  7. Если вы создали зону обратного просмотра для диапазона IP-адресов, включая введенный IP-адрес, установите флажок создать связанную запись указателя (PTR) . При выборе этого параметра создается дополнительная запись ресурса указателя (PTR) в зоне обратных передач для этого узла на основе информации, введенной в поле имя и IP-адрес.
  8. Выберите Добавить узел.

Настройка пограничных брандмауэров

Брандмауэр пограничной сети отделяет внешнюю сеть периметра от общедоступного Интернета. Визуальное представление этого разделения см. на рисунке в статье Always on общие сведения о технологии VPN.

Брандмауэр пограничной сети должен разрешать и перенаправлять определенные порты на VPN-сервер. Если на пограничном брандмауэре используется преобразование сетевых адресов (NAT), может потребоваться включить перенаправление портов для UDP-портов 500 и 4500. Перешлите эти порты на IP-адрес, назначенный внешнему интерфейсу VPN-сервера.

При маршрутизации входящего и исходящего преобразования сетевых адресов (NAT) на VPN-сервере или за его пределами необходимо открыть правила брандмауэра, чтобы разрешить передачу UDP-портов 500 и 4500, входящих в общий интерфейс на VPN-сервере.

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

Сведения о том, как внести эти изменения в конфигурацию, см. в документации по брандмауэру.

Настройка брандмауэра внутренней сети периметра

Брандмауэр внутренней сети периметра разделяет организацию или корпоративную сеть из внутренней сети периметра. Визуальное представление этого разделения см. на рисунке в статье Always on общие сведения о технологии VPN.

В этом развертывании VPN-сервер удаленного доступа в сети периметра настроен как клиент RADIUS. VPN-сервер отправляет трафик RADIUS на NPS в корпоративной сети и получает трафик RADIUS от NPS.

Настройте брандмауэр, чтобы разрешить передачу трафика RADIUS в обоих направлениях.

Сервер NPS в организации или корпоративной сети работает как сервер RADIUS для VPN-сервера, который является клиентом RADIUS. Дополнительные сведения о инфраструктуре RADIUS см. в разделе сервер политики сети (NPS).

Порты трафика RADIUS на VPN-сервере и сервере NPS

По умолчанию NPS и VPN прослушивают трафик RADIUS на портах 1812, 1813, 1645 и 1646 на всех установленных сетевых адаптерах. если при установке NPS включить Windows брандмауэр с повышенной безопасностью, то исключения брандмауэра для этих портов создаются автоматически в процессе установки как для IPv6, так и для трафика IPv4.

если серверы сетевого доступа настроены на отправку трафика radius через порты, отличные от этих по умолчанию, удалите исключения, созданные в Windows брандмауэре с повышенной безопасностью во время установки NPS, и создайте исключения для портов, используемых для трафика RADIUS.

Использовать те же порты RADIUS для конфигурации брандмауэра внутренней сети периметра

При использовании конфигурации порта RADIUS по умолчанию на VPN-сервере и сервере NPS убедитесь, что в брандмауэре внутренней сети периметра открыты следующие порты:

Если вы не используете порты RADIUS по умолчанию в развертывании NPS, необходимо настроить брандмауэр таким образом, чтобы он разрешал трафик RADIUS на используемых портах. Дополнительные сведения см. в статье Настройка брандмауэров для трафика RADIUS.

Дальнейшие действия

Шаг 6. настройка клиента Windows 10 Always On VPN-подключениях. на этом шаге вы настраиваете клиентские компьютеры Windows 10 для взаимодействия с этой инфраструктурой с vpn-подключением. для настройки Windows 10 VPN-клиентов можно использовать несколько технологий, в том числе Windows PowerShell, Microsoft Endpoint Configuration Manager и Intune. Для всех трех требуется профиль VPN в формате XML, чтобы настроить соответствующие параметры VPN.

Читайте также: