DNS не работает через OpenVPN



  • Пытаемся подключить удалённый офис с парой компов к AD домену головного офиса через OpenVPN Site-to-Site (preshared key)

    pfSense головного офиса сделан как OpenVPN сервер, pfSense удалённого офиса как OpenVPN клиент.

    Туннель подключился сразу, PING работает в обе стороны, а вот DNS никак не наладим: Domain Controller головного офиса (он-же DNS сервер) не отвечает на запросы от компов удалённого офиса через подключённый OpenVPN туннель. Так что доступ - только по IP адресу.

    Видимо нужны какие-то доп. конфигурации: DNS-Forwarder, Domain Override или что-то ещё…

    Люди, кто сталкивался с такой проблемой, помогите советом, ПЛИЗЗЗ  :)



  • Угу, верно, нужно использовать DNS-Forwarder. По-крайней мере у меня после его настройки контролер домена отвечает на свое доменное имя.

    Services \ DNS Forwarder

    Поставил галочки:

    Enable DNS forwarder
    DHCP Registration

    И добавил запись с доменным контролером в табличку Domain Overrides. Естественно, на самом контроллере домена должен быть сконфигурирован DNS-сервер.



  • Спасибо NiXeon

    У нас Домэйн-Контроллер выполняет роль DNS-Server. В головном оффисе есть ещё один DNS-Сервер

    А DNS-Forwarder нужно добавлять на Клиенте OpenVPN или на сервере OpenVPN или на обоих сторонах ?



  • В DNS Forwarder, думаю, желательно прописать все контролеры доменов, которые выполняют роль DNS.

    Прописывать это нужно там, где запущен основной DNS сервер, к которому обращаются все клиенты. Обычно это там, где работает DHCP.
    Пример параметров адаптера DC:
    Основной DNS сервер: 127.0.0.1
    Альтернативный: 192.168.1.1 (шлюз c open VPN client)

    При этом, в список DNS-серверов шлюза должен быть прописан IP DNS-сервера (open VPN server).
    Делается это тут в веб-интерфейсе по адресу System / General Setup. Если не получится, то  в сервере VPN там же прописать попробовать DNS IP клиента.

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



  • Ещё раз Спасибо NiXeon

    Мы тоже обратили внимание на список DNS-серверов в General-Setup. А ещё там есть строчка для имени домена…

    Мы хотим добиться, чтобы клиент-компы в удалённом офисе могли-бы загружаться на Domain-Controller и пользоваться сервисами (в том чисе - DNS) также, как и клиент-компы главного офиса. IP-адреса можно выставить и статическими (компов немного)

    Вы говорите "цепочка запросов"... у нас вроде всё просто: клиент-комп из удалённопго офиса запрашивает AD-DNS сервер в главном офисе... и этого никак не получается добиться :-\



  • @factorylan:

    Ещё раз Спасибо NiXeon

    Мы тоже обратили внимание на список DNS-серверов в General-Setup. А ещё там есть строчка для имени домена…

    Мы хотим добиться, чтобы клиент-компы в удалённом офисе могли-бы загружаться на Domain-Controller и пользоваться сервисами (в том чисе - DNS) также, как и клиент-компы главного офиса. IP-адреса можно выставить и статическими (компов немного)

    Вы говорите "цепочка запросов"... у нас вроде всё просто: клиент-комп из удалённопго офиса запрашивает AD-DNS сервер в главном офисе... и этого никак не получается добиться :-\

    Доброе.

    1. Проверить ping-ом доступность dns-сервера головного офиса с удал. клиентов.
    2. При подкл. удален. клиента выдавать автоматом ему в кач-ве dns  адрес dns-сервера головного офиса. Такая возможность имеется в настройках OpenVPN-сервера :

    _DNS Default Domain  Provide a default domain name to clients

    DNS Servers  Provide a DNS server list to clients_



  • Werter

    У нас Site-to-Site VPN. Мы хотим сделать VPN "прозрачный" для пользователей - никаких изменений на компах - все настройки только на pfsense.



  • В общем, нужно чтобы у всех был хотя бы один общий DNS-сервер. Все клиенты (на обеих сторонах) должны иметь в качестве DNS адрес шлюза своей сети, которые получают по DHCP (если не прописаны вручную), а у одного из шлюзов должен быть прописан в качестве DNS адрес другого шлюза (у клиента VPN прописан сервер-VPN). Шлюзы - машины с pfSense. Вот набросал схемку примерную с цепочкой в паинте :)

    Если есть общий DNS, IP-адреса пингуются, а обращение к доменному имени DC не происходит, то нужно проверить правильность записи в Domain Overrides, а так же настройки самого openVPN.



  • Большое Спасибо, NiXeon  за такую классную схему !

    Значит, на обоих pfsense машинах нужно включить DNS_Forwarder, чтобы превратить эти машины в DNS-сервера.

    У меня вопрос: согласно Вашей схеме, все компы на правой стороне посылают DNS-запросы на pfsense по адресу 192.168.2.1… но откуда эта машина знает о внутреннем AD-домене (например: factory.local), о котором знает только AD-DNS-Server (127.0.0.1/192.168.2.1) ???

    Наверное здесь нужен Domain-Override на pfsense ?



  • Попробуйте руками (временно) добавить в наст. сетевых карт удален. клиентов адрес DNS-сервера в головн. офисе.
    И проверить будет ли работать.

    Если это сработает, то в наст. dhcp удаленного офиса добавьте в раздачу адрес dns-сервера головного офиса удаленным клиентам.



  • "в наст. dhcp удаленного офиса добавьте в раздачу адрес dns-сервера головного офиса удаленным клиентам"
    Я именно так и сделал  :)

    Самое интерестное - почему всё это не работало с самого начала ?

    Сейчас мы решаем последнюю задачу с этим OpenVPN - как провести несколько под-сетей через туннель на Удалённый Офис…

    10.0.1.0/24 - основная, где все компы, под-сеть имеет выход в Интернет;

    10.0.3.0/24 - все IP-Телефоны Yealink, закрытая под-сеть - НЕ имеет выхода в Интернет

    Уже пробовали и новые Gateways и Static Routes - не получаеться…

    Люди, если кто-что знает на эту тему, подскажите, ПОЖАЛУЙСТА  :) :) :)

    ![Multi-VLAN OpenVPN.png](/public/imported_attachments/1/Multi-VLAN OpenVPN.png)
    ![Multi-VLAN OpenVPN.png_thumb](/public/imported_attachments/1/Multi-VLAN OpenVPN.png_thumb)



  • @factorylan:

    Большое Спасибо, NiXeon  за такую классную схему !

    Значит, на обоих pfsense машинах нужно включить DNS_Forwarder, чтобы превратить эти машины в DNS-сервера.

    У меня вопрос: согласно Вашей схеме, все компы на правой стороне посылают DNS-запросы на pfsense по адресу 192.168.2.1… но откуда эта машина знает о внутреннем AD-домене (например: factory.local), о котором знает только AD-DNS-Server (127.0.0.1/192.168.2.1) ???

    Наверное здесь нужен Domain-Override на pfsense ?

    Потому-что у всех есть общий DNS, и он должен знать обо всех машинах. А чтобы все машины знали именно о factory.local, нужно добавить запись о  factory.local в domain overrides на общем DNS



  • Уже пробовали и новые Gateways и Static Routes - не получаеться…

    Не нужно это делать вручную.
    Это делается с пом. директив route и push route в OpenVPN.



  • Уже пробовали и новые Gateways и Static Routes - не получаеться…

    При использовании Open VPN всю маршрутизацию желательно  делать средствами самого Open VPN.
    И да, что будет с удаленными компьютерами филиала(ов) , если линк к АД упадет? Неизбежны проблемы доступа к локальным сетевым ресурсам.



  • @NiXeon:

    Потому-что у всех есть общий DNS, и он должен знать обо всех машинах. А чтобы все машины знали именно о factory.local, нужно добавить запись о  factory.local в domain overrides на общем DNS

    У меня работает так. Настр. на сервере ОпенВПН:

    ![OpenVPN_ Server.jpg](/public/imported_attachments/1/OpenVPN_ Server.jpg)
    ![OpenVPN_ Server.jpg_thumb](/public/imported_attachments/1/OpenVPN_ Server.jpg_thumb)



  • Спасибо за советы

    "Это делается с пом. директив route и push route в OpenVP"

    Я доработал нашу диаграмму в деталях. Посоветуйте - какие нужны дерективы ?

    werter, я пытаюсь настроить Client Specific Overrides, как Вы советуете, но у меня выходит "The field Common name is required".
    Откуда взять этот "Common name" ?
    У нас ServerMode = Shared Key и у нас нет CA…

    ![Multi-VLAN OpenVPN 2.png](/public/imported_attachments/1/Multi-VLAN OpenVPN 2.png)
    ![Multi-VLAN OpenVPN 2.png_thumb](/public/imported_attachments/1/Multi-VLAN OpenVPN 2.png_thumb)



  • @factorylan:

    werter, я пытаюсь настроить Client Specific Overrides, как Вы советуете, но у меня выходит "The field Common name is required".

    Мил человек, это ж где я такое советовал ? Я показал свой скрин настроек. На нем даже слов таких нет.

    я пытаюсь настроить Client Specific Overrides, как Вы советуете, но у меня выходит "The field Common name is required".
    Откуда взять этот "Common name" ?

    В таком случае у вас не клиент-серв. вариант, а p2p и Client Specific Overrides работать не будет.

    Ваш выход - настроить клиент-серв. вариант, исп. Сертификаты и\или User+Pass. Тогда и заработают Client Specific Overrides

    И Самое Важное. У всех машин и др. сетевого оборудования во всех лок. сетях за ОпенВПН-сервером и за ОпенВПН-клиентом шлюзами обязаны быть их pfsense.
    100 раз проверьте этот момент.



  • "Ваш выход - настроить клиент-серв. вариант, исп. Сертификаты и\или User+Pass"

    Извините, но я совсем запутался: у нас первый pfsense настроен как "OpenVPN-Server", а второй - как "Client", оба используют PSK как пароль

    User+Pass я смог найти только если OpenVPN клиент настроен на "p2p SSL/TLS", а вот OpenVPN сервер - всё равно требует Server Certificate. Причём-же здесь User+Pass ? Речь идёт о USERе самого pfsense ?

    Значит нам надо менять настройку с PSK на SSL/TLS ?

    Я ещё раз проверил, что DG на всех компах - это LAN интерфейсы соотв. pfsense



  • Так. А теперь внимательнее. У меня в настр. OpenVPN можно выбрать 3 (три) типа Remote access (это и есть клиент-сервер)
    Разберитесь в типах подкл. у себя.

    P.s. А лучше - грохните свой openvpn и сервер и клиент и настройте с нуля,  исп. remote access типа SSL или SSL + User Auth на серверной стороне.
    И будет вам Client Specific Overrides рабочий.

    З.ы. У pf-Клиента выбираете Server Mode : TLS\SSL , а ниже есть User Authentication Settings, куда можно вбить логин и пасс при необходимости.
    Только правильно выбирайте остальные настройки. Сертификаты нужно будет генерить на Сервере , выгружать и подкидывать на Клиента.

    В OpenVPN: Client Specific Override: Common name на Сервере необходимо внести правильное значение. Берется оно во вкладке System: Certificate Manager :  Certificates из User Certificate,  к-ый Вы сгенерировали для Клиента - это CN в нем.

    ![System_ Certificate Manager.jpg](/public/imported_attachments/1/System_ Certificate Manager.jpg)
    ![System_ Certificate Manager.jpg_thumb](/public/imported_attachments/1/System_ Certificate Manager.jpg_thumb)



  • Спасибо ещё раз за подробное обЪяснение, Werter.

    Я раньше не обращал внимание на Remote-Access server mode, а только на Peer-to-Peer… мы-же 2 офиса соединяем... Я был уверен, что для соединения офисов, можно использовать только Peer-to-Peer VPN  ;)

    Значит, в любом случае, нам теперь нужен CA на сервере OpenVPN в главном офисе ?

    Я ещё подумал: раз у нас будет Remote-Access VPN сервер, то нельзя-ли этот-же сервер задействовать ещё и как VPN-концентратор для нескольких Yealink IP-Телефонов, ведь они имеют встроенный OpenVPN клиент ?? Так, чтобы люди могли из дому пользоваться нашим сервером 3CX, имея дома только Интернет соедининие и Yealink телефон… Меня начальство давно теребит на эту тему  :)



  • Я ещё подумал: раз у нас будет Remote-Access VPN сервер, то нельзя-ли этот-же сервер задействовать ещё и как VPN-концентратор для нескольких Yealink IP-Телефонов, ведь они имеют встроенный OpenVPN клиент ?? Так, чтобы люди могли из дому пользоваться нашим сервером 3CX, имея дома только Интернет соедининие и Yealink телефон… Меня начальство давно теребит на эту тему  :)

    Да, можно. Одно но. Возможно - настройки сервера придется подогнать под  возможности клиента OpenVPN  Yealink IP-Телефонов.



  • Я тут увлёкся идеей про Yealink напрямую через OpenVPN и вот что накопал:

    http://www.sunstatetechnology.com/docs/YealinkOpenVPNGuide.pdf

    Попробую настроить согласно этому Гайду но, похоже нам придётся в Центральном Офисе создавать ещё один OpenVPN сервер (Remote-Access SSL/TLS) специально для Yealink телефонов, которые у нас живут на отдельном сегменте 10.0.3.0/24)

    ![Asterisk with OpenVPN no NAT problems.png](/public/imported_attachments/1/Asterisk with OpenVPN no NAT problems.png)
    ![Asterisk with OpenVPN no NAT problems.png_thumb](/public/imported_attachments/1/Asterisk with OpenVPN no NAT problems.png_thumb)
    ![Yealink with OpenVPN.png](/public/imported_attachments/1/Yealink with OpenVPN.png)
    ![Yealink with OpenVPN.png_thumb](/public/imported_attachments/1/Yealink with OpenVPN.png_thumb)



  • Так, чтобы люди могли из дому пользоваться нашим сервером 3CX, имея дома только Интернет соедининие и Yealink телефон… Меня начальство давно теребит на эту тему

    Если ваши ип-телефоны умеют iax2 (после обновления прошивки, напр.), то можно не любить моск.
    IAX2 в разы удобнее, т.к  исп. только ОДИН порт + шифрование. И не нужен openVPN.

    P.s. 3CX пользуете ? Ушел от него на Freepbx (asterisk) еще 2 года назад. Доволен. Ни единого разрыва :) Чего и вам желаю.
    Готовый образ - https://www.freepbx.org/downloads/

    P.p.s. За ссылку по настройке ОпенВПН на yealink - спасибо.


Log in to reply