- OpenVPN не меняет DNS на клиенте
- Внимательнее
- Re: Внимательнее
- Вы совершенно не поняли сути проблемы.
- Re: Вы совершенно не поняли сути проблемы.
- Устраняем утечку DNS при использовании OpenVPN в GNU/Linux
- Примечание
- Примечание
- Почему после подключения по VPN проблема с DNS?
- Ubuntu 18.04 без разрешения DNS при подключении к openvpn
OpenVPN не меняет DNS на клиенте
В конфиге сервера (Lubuntu 16.04) прописано:
push «redirect-gateway def1 bypass-dhcp»
push «dhcp-option DNS 208.67.222.222»
push «dhcp-option DNS 208.67.220.220»
На клиенте (Ubuntu 18.04) УТЕЧКА DNS УСТРАНЕНА (DNS теперь не идёт через моего провайдера при конекте к VPN), но при подключении к серверу, DNS меняется не на OpenDNS (те, что в конфиге сервера), а на DNS провайдера сервера. При подключении с Android всё ок, https://www.dnsleaktest.com показывает сервера OpenDNS.
Могу приложить конфиги сервера и клиента.
Скажи спасибо systemd, который всё делает через жопу и сует свои поганые шупальца куда не просят, и иди его настраивать.
А поподробнее можно? Или ссылку
В твоей вселенной гугл не изобрели еще?
openvpn dns systemd
Читай новости украины. Гугла в России блокирует розкомнадзор. Недоступен, короче, гугл во вселенной России.
Не, пока вы тут его сравнивали с землей, мне было странно, но когда он отказывался запускать мой postges в режиме восстановления, я стал его недолюбливать.
Удалил openresolv, поставил openvpn-systemd-resolved. Сейчас в конце конфигурации записано следующее:
Подключай клиент не через NetworkManager, а отдельно сервисом openvpn, это он (NM) сливает DNS, недавно кучу времени убил.
Вот пример моего конфига клиента /etc/openvpn/client.conf:
Предварительно конечно же нужно поставить сам openvpn.
Кстати, NM выпиливать не обязательно, основное соединение может устанавливаться через него.
Внимательнее
Я же в сообщении выше написал, что запускаю через команду в терминале.
Re: Внимательнее
dpkg -l | grep resolvconf
если не стоит, ставишь пакет. Добавляешь в конфиг клиента:
Вы совершенно не поняли сути проблемы.
Я уже пробовал и resolvconf и openresolv. Сейчас у меня стоит openvpn-systemd-resolved. Они все работаю примерно одинаково. И мне нужно НЕ чтобы OpenDNS прописывались в /etc/resolv.conf, а чтобы чапросы шли через VPN тунель на сервер, а от туда на OpenDNS. Если DNS запросы будут идти через моего провайдера, я потеряю половину смысла от личного VPN-сервера.
OpenVPN не меняет DNS на клиенте
push «dhcp-option DNS 208.67.222.222»
push «dhcp-option DNS 208.67.220.220»
И мне нужно НЕ чтобы OpenDNS прописывались в /etc/resolv.conf
Вы уж определитесь что вам нужно.
В последнем ответе я изложил хотелку: DNS запросы идут через VPN на сервер, а от туда на выбранный мною DNS.
А можно прописать в DNS на клиенте адрес сервера и «научить» сервер перенаправлять запросы на нужный мне DNS? Если да, то как это реализовать
Точнее не внешний адрес сервера, а внутренний, который используется для VPN тунеля
На сервере поставить dnsmasq и его адрес прописать клиенту.
Только не понятно зачем вам это.
Так мне же надо, чтобы запросы не шли через моего провайдера.
И мне нужно НЕ чтобы OpenDNS прописывались в /etc/resolv.conf
Это кто написал?
Есть еще один вектор атаки. Практически везде на линуксах, в роутерах и т.д. используется dnsmasq — кеширующий dns сервер. У каждого резолва есть TTL несколько минут, если dns’ы гугла отдают ip по геопривязки, то в принципе они могут задетектить, что даже если ip из страны Х, то запрос пришел на сервер для станы Y (потому что dnsmasq вернул закешированный адрес).
Перепутал, хотел ответить в теме «Утечка DNS на уровне роутера? » 🙂
Re: Вы совершенно не поняли сути проблемы.
Да это ты не понимаешь чего хочешь.
DNS запросы идут через VPN на сервер, а от туда на выбранный мною DNS.
Они и так идут через туннель, в случае opendns. А так, поднимай unbound, dnsmasq, etc . И пушь этот локальный адрес. Он пропишется на клиенте. Да и мозгоеб, закрой уже тему.
Я хз, как это делать, иначе не лез бы на форумы.И DNS-запросы не идут через тунель.
Источник
Устраняем утечку DNS при использовании OpenVPN в GNU/Linux
В дистрибутивах GNU/Linux, использующих новые версии системы инициализации systemd, можно встретить проблему утечки DNS. А при использовании некоторых VPN-сервисов, например Антизапрет, можно столкнутся с проблемой отсутствия разблокирования сайтов, т.к для разблокировки активно используется DNS внутри туннеля OpenVPN.
Примечание
Если у вас нет проблемы с утечкой DNS в работе OpenVPN, то выполнять следующие решения вам не стоит.
В сети можно встретить различные решения данной проблемы, например список вариантов на сайте ArchLinux. Мне же помогло следующее решение:
1. Устанавливаем пакет openresolv:
для дистрибутивов Ubuntu и подобных:
для дистрибутивов Arch и подобных:
2. Отключаем systemd-resolved:
Редактируем файл NetworkManager.conf
Сразу под Main дописываем строчку:
Сохраняем изменения с помощью комбинации клавиш Ctrl + O и Ctrl + X .
3. Перезагружаем систему и выполняем следующие команды. Так как на resolv.conf создан симлинк, то мы его удаляем:
И создаём новый:
Отобразится терминал с пустым файлом. Дописываем (можно указать любой DNS-сервер):
Сохраняем изменения с помощью комбинации клавиш Ctrl + O и Ctrl + X .
4. Устанавливаем скрипт:
5. Редактируем конфигурационный файл клиента с расширением .ovpn . Для редактирования файла нужно открыть его в любом текстовом редакторе.
Добавляем в файл следующие команды:
Примечание
Вполне возможно, что данные команды уже присутствуют в конфигурационном файле, и скорее всего они закомментированы. В таком случае достаточно снять комментирование, т.е убрать значок # перед файлами.
Дополнительно отмечу, что в последнее время можно встретить проблему с неработающим OpenVPN клиентом через менеджер сети (NetworkManager). В таком случае запустить vpn соединение можно через терминал, миную менеджер сети. Запускаем следующим образом:
Остановить соединение можно с помощью прерывания процесса через комбинацию клавиш Ctrl + C .
Источник
Почему после подключения по VPN проблема с DNS?
Не могу подключится по OpenVPN, вохникает ошибка DNS
This site can’t be reached
whoer.net’s server DNS address could not be found.
Try:
Checking the proxy, firewall, and DNS configuration
DNS_PROBE_FINISHED_BAD_CONFIG
Как это исправить? Убунта 16.04, VPS на Амазоне, тоже Убунта.
- Вопрос задан более трёх лет назад
- 2754 просмотра
Вероятно, вы забыли что-то добавить в конфиг, всегда есть возможность установить dns-ы индивидуально локально.
Перезагружаем
sudo service network-manager restart
Вроде оно. Если ошибка повторяется, то можно добавить влоб
Есть вариант поставить dnsmasq
По аналогии перезагрузить и пользоваться.
sudo service dnsmasq restart
А вот тут есть маленькая статья, которая помогла бы избежать этого всего https://habrahabr.ru/post/318694/
cat /etc/resolv.conf
это не помогло, ДНС остался только nameserver 127.0.1.1
а этого файла у меня НЕТУ ВООБЩЕ /etc/dhcp/dhclient.d/mydns.conf
Есть вариант поставить dnsmasq
sudo echo «server=8.8.8.8» >> /etc/dnsmasq.conf
sudo echo «server=8.8.4.4» >> /etc/dnsmasq.conf
НЕТУ У МЕНЯ ЭТИХ ФАЙЛОВ
nosazus:
Все делать на клиенте.
/etc/resolvconf/resolv.conf.d/base
/etc/resolvconf/resolv.conf.d/head
/etc/dhcp/dhclient.d/mydns.conf
должны создаться.
dnsmasq еще нужно установить.
apt-get install dnsmasq
Почему на этом Линуксе все через анус?
Потому что убунта.
Ставил бы сразу слаку — не видел бы проблем!
Спасибо вам за советы. Вчера ночью психанул и бросил. Сегодня проснулся, загрузил комп и в /etc/resolv.conf появился nameserver 8.8.4.4. Попробовал подключится к ВПН — и он заработал. Не знаю почему. Ничего не менял. Получается перезагрузка обяхательно нужна после этих манипуляций? Я перезагружал только NetworkManager вчера. Делал только это:
sudo echo «nameserver 8.8.8.8» > /etc/resolvconf/resolv.conf.d/base
sudo echo «nameserver 8.8.4.4» > /etc/resolvconf/resolv.conf.d/head
dummyman написал варианты решения проблемы но не написал причины, куда можно посмотреть повнимательнее :
Если до подключения интернет работает а после — нет, значит вы в конфигурации VPN при подключении отдаете неверные DNS сервера с VPN сервера на ваш клиент. Это первый вариант, который можно проверить.
Путь решения описал dummyman :
— Вписать гарантированно работающие DNS серверы в ваш resolv.conf
— использовать dnsmasq и резолвить DNSы только через него, игнорируя приходящие настройки (это, по сути, еще одна программная прослойка которую нужно корректно настроить, поэтому этот путь спорный)
Я бы добавил еще путь «проверить настройки на VPN сервере : что отдается клиенту при подключении в качестве настроек сети(dns серверы)
Второй вариант проблемы — используемые вами до подключения DNS серверы пытаются ходить в интернет через VPN, а VPN им не разрешает по какой-то причине. Здесь только проверка (tracepath до прописанного в конфиге DNS сервера) и после получения результата — корректная настройка того узла где трейс теряется. Или же добавление маршрутов к DNS серверам через ваше интернет подключение, чтобы не ходили DNSы через VPN.
P.S. прочитал комментарии к ответу:
ДНС остался только nameserver 127.0.1.1
Спасибо вам за советы. Вчера ночью психанул и бросил. Сегодня проснулся, загрузил комп и в /etc/resolv.conf появился nameserver 8.8.4.4. Попробовал подключится к ВПН — и он заработал. Не знаю почему. Ничего не менял. Получается перезагрузка обяхательно нужна после этих манипуляций? Я перезагружал только NetworkManager вчера. Делал только это:
sudo echo «nameserver 8.8.8.8» > /etc/resolvconf/resolv.conf.d/base
sudo echo «nameserver 8.8.4.4» > /etc/resolvconf/resolv.conf.d/head
yellowmew: Да тут вопрос не в эталонной настройке vpn. Автору бы сначала сделать чтобы работало хоть как то. Знаю как это выглядет. Сотни вкладок с форумами на слабеньком нетбуке. Дикая головная боль.
А с нынешним количеством гайдов по настройке openvpn сложно понять что именно было упущено. Там надо принимать во внимание и тонкости дистрибутивов и особенности хостера. Как бы, уже надо разбираться что и как. А в настройках локально сложно что-либо упустить.
Граммотная настройка vpn придет с количеством настроенных серверов. А для первых разов на какое-то время сойдет и так. Понятное дело, что это не совсем правильно, но ведь и автор вопроса занят личными или корпоративными задачами (делами), а не написанием гайда по настройкам.
Источник
Ubuntu 18.04 без разрешения DNS при подключении к openvpn
Когда я подключаюсь к сети VPN через Gnome Network-manager, я теряю разрешение DNS и на практике не могу получить доступ к ресурсам внутри сети VPN или за ее пределами.
Когда я использовал Ubuntu 16.04 и использовал VPN, /etc/resolv.conf/ файл » » содержал DNS-серверы сети (VPN), которую я подключил. Теперь он всегда содержит следующие записи:
Из того, что я понял, 127.0.0.53 является адрес заглушки DNS, используемый system-resolved .
Я подозреваю, что это ошибка, потому что VPN работал нормально на Ubuntu 16.04. Можно ли как-то настроить DNS-серверы моей сети, когда я использую службу VPN?
Обновить:
Я попытался соединиться с сетью OpenVPN с файлом конфигурации, приложенным в конце сообщения, но я получаю следующую ошибку:
Я проверил, что сервер использует сжатие lzo, и я также включил его. Соединение остается активным, но я не могу перейти ни на одну страницу внутри или за пределами VPN.
В файле конфигурации, указанном ниже, я включил решения, опубликованные в ответах
Я нашел решение в этом сообщении в блоге . Хотя упомянуто два решения, я предпочитаю использовать второе, потому что оно означает, что мой DNS установлен сервером OpenVPN (первое решение означает, что я использую те же DNS-серверы, независимо от того, подключен я к серверу OpenVPN или нет).
- sudo mkdir -p /etc/openvpn/scripts
- sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
- sudo chmod +x /etc/openvpn/scripts/update-systemd-resolved
Затем отредактируйте файл клиента OpenVPN (например, client.ovpn), изменив сценарии вверх / вниз на:
(Я закомментировал исходные настройки вверх / вниз).
проблема
Файл /etc/resolv.conf не обновляется /etc/openvpn/update-resolv-conf сценарием, поскольку resolvconf по умолчанию не установлен в Ubuntu 18.04.
Фактически, одна из первых строк этого скрипта проверяет наличие /sbin/resolvconf исполняемого файла:
Установка resolvconf через apt-get не является решением, так как /etc/openvpn/update-resolv-conf скрипт обновляет /etc/resolv.conf файл с введенной записью DNS, но устройство tun, кажется, игнорирует его.
Решение
Ubuntu 18.04 использует systemd-resolved , поэтому все, что вам нужно сделать, это установить вспомогательный скрипт openvpn для systemd-resolved через
Обновите ваш config.ovpn файл, добавив следующие строки:
Это вместо того, чтобы добавить и вниз /etc/openvpn/update-resolv-conf к конф.
Чтобы предотвратить утечку DNS, вы должны добавить эту строку в конец config.ovpn файла (согласно этому комментарию к выпуску systemd ):
На самом деле, есть гораздо более простое решение этой проблемы. Проблема в DNS-трафике и в том, как это делает Ubuntu 18. По умолчанию переадресация IP отключена, что необходимо OpenVPN для обеспечения правильной работы сети. Все, что вам нужно сделать, это запустить следующую команду:
Когда вы откроете этот файл, найдите строку, в которой он содержится net.ipv4.ip_forward . Если эта строка закомментирована, удалите знак # в начале строки (если она не закомментирована, у вас есть другая проблема). Сохраните файл и перезапустите ваш экземпляр сервера OpenVPN.
Это исправление не требует внесения каких-либо изменений в код клиента или OpenVPN после обновления до Ubuntu 18. Протестировано и подтверждено, что оно работает.
Однако это, очевидно, требует от вас администрирования сервера. И, к сожалению, ошибка существует для многих, кто просто подключается с 18.04 к серверу OpenVPN, который администрируется кем-то другим .
Источник