Block outside dns не работает

Обновлено: 04.07.2024

Как настроить DNS-серверы на клиенте, используя только конфигурацию клиента. Мой клиент - машина Windows, и я хочу изменить DNS-серверы, когда клиент подключается, и вернуться к исходной конфигурации, когда я отключаюсь от VPN.

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

Вы можете использовать пакетный скрипт, чтобы сделать это, что-то вроде следующего. Предполагается, что ваши домашние DNS-серверы 1.1.1.1 и 2.2.2.2, а ваши VPN-DNS-серверы 8.8.8.8 9.9.9.9:

netsh interface ip set dns "Local Area Connection" static 8.8.8.8

netsh interface ip add dns "Local Area Connection" 9.9.9.9

netsh interface ip set dns "Local Area Connection" static 1.1.1.1

netsh interface ip add dns "Local Area Connection" 2.2.2.2

Я собирался включить в эти сценарии методы подключения и отключения, однако в OpenVPN не вижу возможности отключения через командную строку. Если вы хотите автоматизировать соединение, это должно работать:

C:\Program Files\bin\openvpn.exe C:\Program Files\conf\client.ovpn

Вы можете добавить следующее в файл конфигурации клиента.

На стороне сервера это было бы:

Кажется, он использует dhcp-option обе стороны. Вы можете сделать то же самое с route .

Это не сработало для меня, хотя кажется, что должно. Опция не была в сгенерированном client.ovpn. Когда я добавляю это, это все еще не работает. Запуск от Asus RT-N66U со стоковой прошивкой 3.0.0.4.376_3861 Я добавил это в свой файл .ovpn как раз перед тегом <ca>, и это сработало великолепно! Спасибо! Я проверил это на своей машине с Windows с OpenVPN 2.4.4 Windows версии 6.2

Очевидно, существует проблема с неправильным порядком привязки в Windows, по крайней мере, в Windows 2000 / XP / 7. Это приведет к тому, что клиенты Windows OpenVPN будут использовать настройки DNS сетевого адаптера по умолчанию, а не настройки адаптера VPN.

  1. Определите ваше VPN-устройство, посмотрев на выход из ipconfig . Для меня это было «Подключение по локальной сети 2». Запомните свой IP-адрес для этого адаптера.
  2. Откройте regedit.exe и найдите ключ, под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces которым совпадает IP-адрес вашего VPN-адаптера. Запомните GUID для этого адаптера.
  3. Перейти HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage и дважды щелкните на Bind . Он будет содержать список идентификаторов GUID для адаптеров. Вырежьте и вставьте строку, соответствующую GUID вашего VPN-устройства, в верхнюю часть списка и сохраните список.

Это приведет к использованию записей DNS для вашего VPN-устройства (и только тогда, когда VPN-соединение активно). Вы можете установить их в соответствии с ответом @brunoqc. Пока вы работаете над этим, вам, вероятно, следует также добавить опцию openvpn block-outside-dns , чтобы DNS-запросы не просачивались.

Это сработало довольно хорошо! Спасибо, сэр, за написание этого руководства

В дополнение к любому из двух ниже:

Добавьте их также в конфигурацию клиента, чтобы заставить Windows использовать настроенный DNS:

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

Используя тест утечки DNS, в то время как под моим VPN я обнаружил, что это протекало. Я настроил свой VPN через NetworkManager, и он работает правильно, за исключением утечки.

Во-первых, я пытался добавить block-outside-vpn в файл конфигурации, за исключением того, что под /etc/NetworkManager/system-connections это не следует за тем же форматом. Я не мог найти документ о том, как правильно написать один для DNS утечки.

Кроме того, использование Ubuntu 18.04 resolv.conf не работает, как прежде, все остальные ответы основаны на этом.

Вкратце, как заблокировать внешний DNS (утечка), используя файлы конфигурации Network Manager или графический интерфейс?

Попытайтесь отменить любые изменения файла.conf, которые вы уже потратили впустую. Если вы пробовали много разных предложений, то лучше всего выполнить новую установку и убедиться, что вы также установили networkmanager-openvpn-gnome, так как в Ubuntu по умолчанию не предусмотрен импорт конфигурации VPN.

Удалить / etc/resolv.conf и создайте новый:

Войдите в свой пустой .conf файл:

Нажмите Ctrl + x, чтобы выйти из редактора. Введите y, чтобы сохранить, а затем нажмите Enter, чтобы перезаписать новый resolv.conf файл.

Отредактируйте ваш файл NetworkManager.conf

и добавьте следующее:

ниже линий (перемещайтесь с помощью клавиш со стрелками), [main] и plugins=ifupdown, файл ключей точно такой же, как с новой строкой.

Нажмите Ctrl + x, чтобы выйти из редактора. Введите y, чтобы сохранить, а затем нажмите Enter, чтобы перезаписать файл.

Выйдите из терминала, перезагрузите систему и проверьте результаты на сайте тестирования dnsleak.

Благодаря Anonymous VPN, решения для утечек в Ubuntu/Network Manager кажутся хорошо исследованными и успешными. ОНИ РАБОТАЮТ, и когда никакие другие решения не работали для меня, они работали Показанное выше решение работает для Ubuntu 17.x и 18.04 LTS. Смотрите его другое решение для 16.04 LTS.

Я предлагаю использовать dnscrypt ,

Сначала установите его:

По умолчанию он слушает 127.0.2.1 порт 53 ,

Отредактируйте свой VPN или любое другое соединение, которое вам нравится, и установите 127.0.2.1 в качестве своего DNS-сервера, используя CLI, вы можете запустить:

И на всякий случай заблокируйте исходящие DNS-запросы:

И убедитесь, что брандмауэр включен:

Здесь хранятся соединения, созданные с помощью Network Manager.

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

Внесите изменения в вашу систему.

В основном копия вставлена ​​по ссылке выше, кредит оригинальному автору.

Если ваша система не знает nmcli или при добавлении соединений с помощью графического интерфейса администратора сети выдается ошибка, я рекомендую эту ссылку

Теперь о том, что меньше объяснения и больше комментария (довольно бестолковый сам).

Далее, block-outside-dns, как упоминалось здесь ранее, является решением только для Windows и выдало какую-то неопознанную ошибку опции в моей системе Ubuntu.

Использование команд ovpn cli также не решило проблему утечки.

Ссылка, которую я предоставил, упоминает объяснение ( здесь) о некоторых несоответствиях версий, которые исправлены в Ubuntu 18.10, возможно, кто-то с большим опытом в этой теме захочет объяснить дальше. Если это правда, пользователям LTS придется подождать до апреля следующего года.

Наконец, я хочу отметить, что для жителей стран с цензурой в Интернете утечка днс представляет собой серьезную проблему, поскольку предоставление доступа локального isp к вашему трафику может привести к блокировке цензурированных доменов, несмотря на то, что они подключены к vpn. Так что для будущих визитов в Китай и т. Д. Это то, о чем вы хотите позаботиться заранее.


Мануал

Решение состоит в том, чтобы убедиться, что после подключения к VPN вы используете ТОЛЬКО DNS-сервер, предоставленный службой VPN.

Начиная с версии 2.3.9 OpenVPN вы можете предотвратить утечку DNS, указав новую опцию OpenVPN.

Просто откройте файл .conf (или .ovpn) для сервера, к которому вы подключаетесь, и добавьте следующее в новую строку.

Для получения дополнительной информации см. руководство OpenVPN.

Если по какой-либо причине вы не можете использовать решение выше, продолжайте читать дальше

Если вы используете версию OpenVPN старше v2.3.9

Обратите внимание: поскольку эта проблема обычно влияет только на клиентов Windows, здесь отображаются только решения для Windows.

3 основных шага для решения проблемы;

  • Перед подключением к VPN установите параметры статического IP-адреса, если вы используете DHCP
  • После подключения удалите настройки DNS для основного интерфейса
  • После отсоединения, вернитесь к DHCP, если необходимо или повторно установите исходные статические DNS-серверы

Если вы используете OpenVPN в Windows XP / Vista / 7, тогда доступно полностью автоматическое решение.

После установки, когда вы подключитесь к VPN-серверу, будет запущен командный файл, выполнив 3 шага, описанные выше.

Для каждого файла конфигурации OpenVPN создаются три скрипта;

Решение, приведенное ниже, не переключает адаптер на статический, если вы используете DHCP.

Если вы не переключаетесь на статическую IP-конфигурацию, и ваш компьютер обновляет свой IP-адрес при подключении к VPN, настройки DNS могут быть перезаписаны.

Настоятельно рекомендуется переключиться на статическую IP-конфигурацию.

Откройте командную строку (cmd.exe) в качестве администратора.

Перед подключением укажите имя подключенного сетевого интерфейса.

В приведенном ниже примере это «Подключение по локальной сети»,

netsh interface show interface

Подключитесь к VPN. После подключения перейдите к следующему шагу.

Очистите кеш DNS-резольвера

Отключите конфигурацию DNS для интерфейса, определенного на шаге 1

netsh interface IPv4 set dnsserver "Local Area Connection" static 0.0.0.0 both

После отключения перенастройте адаптер для обновления предыдущих настроек DNS

netsh interface IPv4 set dnsserver "Local Area Connection" dhcp

Еще раз сбросьте кеш DNS-резольвера.

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


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

Если вы видите свое фактическое местоположение и IP-адрес, а не связанные с вашим VPN, у вас есть утечка DNS.

Устранение утечки DNS


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

OpenVPN 2.3.9+

С версиями OpenVPN, превышающими 2.3.9, пользователи могут установить возможность разрешать DNS-запросы только через VPN.

1. Откройте файл .conf или .ovpn для вашего соединения.

2. Добавьте текст ниже на новую строку:

Windows

Утечки DNS также могут быть устранены с помощью сетевых настроек Windows.

1. Переключитесь с использования DHCP на статический IP-адрес, который позволяет вам указать свои собственные настройки DNS.

  • Open DNS (предпочтительный 208.67.222.222 альтернативный: 208.67.222.220)
  • Google (предпочтительный 8.8.8.8 алтернативный 8.8.4.4)
  • Cloudflare (предпочтительный 1.1.1.1 альтернативный вариант 1.1.0.0)

Маршрутизаторы


Настройки DNS также можно настроить на большинстве маршрутизаторов. Установите настройки для общедоступного DNS, такого как Google или Cloudflare, как упомянуто выше.

Вывод


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

Что такое утечки DNS и как их устранить?

Что такое утечки DNS и как их устранить? Reviewed by Admin on июля 11, 2018 Rating: 5

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