Что такое режим dns в vpn
Перейти к содержимому

Что такое режим dns в vpn

  • автор:

Что такое DNS?

Аббревиатура DNS расшифровывается как Domain Name System. В этой «системе доменных имен» располагается информация по каждому домену в интернете, на каком IP-адресе тот расположен.

Благодаря этой системе стало возможным использовать «домены», т.н. имена сайтов. Например, site.com или site.ru, вместо обращения к ним по цифровым IP-адресам.

У самого сайта при этом может измениться сервер и IP-адрес, на котором он расположен, но посетители по-прежнему смогут заходить на него по тому же самому домену.

Запрос к DNS происходит так:

  1. Ваш компьютер отправляет к DNS-серверу вопрос: «на каком IP-адресе располагается домен site.com?»
  2. DNS-сервер отвечает: «он расположен по адресу 1.2.3.4».

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

Для пользователя это происходит незаметно. Если вы хотите узнать, на каком IP-адресе расположен тот или иной сайт, введите в командной строке: nslookup site.com для Windows или host site.com для macOS и Linux.

Воспользуйтесь VPN c cобственными зашифрованными DNS-серверами

На всех серверах ExpressVPN установлен собственный DNS-сервер. Это означает надежную защиту вашего интернет-трафика и DNS-запросов.

  • Без регистрации подключений и действий
  • Без блокировки DNS, фильтрации или подмены трафика
  • Более быстрая обработка DNS-запросов
  • 256-битное шифрование

Глобус с изображением Америки, на заднем плане видны DNS и URL-адреса веб-сайтов.

Видео: что такое DNS

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

Что такое DNS?

Видео не воспроизводится? Скачайте текст (PDF, 75 КБ)

Что такое DNS?

Сервер, подключенный к разным IP-адресам.

IP-адреса и URL

У каждого подключенного к Интернету устройства есть IP-адрес — уникальный адрес в виде последовательности цифр. У вашего компьютера есть IP-адрес, как и у любого другого ПК, смартфона, сервера или сетевого устройства. Некоторые IP-адреса периодически меняются, другие остаются неизменными. При этом запомнить их достаточно сложно.

Вот почему IP-адреса сайтов необходимо переводить в слова и фразы, запомнить которые гораздо проще. Эти слова известны нам как URL (англ. Uniform Resource Locators, унифицированные указатели ресурса).

Круглый логотип DNS, показывающий URL-адрес, преобразованный в IP-адрес

DNS, или система доменных имен

DNS (англ. Domain Name System, система доменных имен) — это каталог, где собраны все сайты и сервисы. Зная URL, вы можете воспользоваться DNS, чтобы найти соответствующий IP-адрес.

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

Бесплатные DNS или VPN с собственными DNS-серверами

Бесплатные DNS

Глобус рядом с IP-адресами и URL-адресами.

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

Некоторые бесплатные DNS идут еще дальше и зарабатывают деньги, продавая личные данные своих пользователей — например, компаниям, занимающимся рекламой. С помощью подобных профилей можно оценить рыночную стоимость сайта, его будущую популярность и основную пользовательскую аудиторию.

Такие инновационные разработки, как DoH (DNS-через-HTTPS) и DoT (DNS-через-TLS) могут защитить DNS-запросы. Вот только большинство бесплатных DNS-сервисов, к сожалению, по-прежнему не используют ни DoH, ни DoT, ни какие бы то ни было иные методы шифрования. Это значит, что ваши действия в Сети могут стать известны не только администрации сервиса, но и, фактически, всем желающим.

VPN с собственными DNS-серверами

Глобус рядом с галочкой.

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

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

Не работает разрешение имен DNS при VPN подключении в Windows

date

19.12.2023

user

itpro

directory

Windows 10, Windows 11, Windows Server 2019

comments

комментариев 18

По умолчанию для всех VPN подключений в Windows используется режим Force Tunnel (в настройках VPN включена опция ‘ Use default gateway on remote network ‘/’ Использовать основной шлюз в удаленной сети ‘). В этом режиме для разрешения имен будут использоваться DNS сервера, которые назначены вашему подключению сервером VPN, и вы не сможете разрешать имена устройств в вашей локальной сети.

�� Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Для VPN подключения в Windows доступно два режима:

    Force Tunnel ( включена опция Use default gateway ) — весь трафик, в том числе DNS, отправляется в VPN туннель. В таком режиме после подключения к VPN вы теряете возможность резолвить DNS имена хостов в вашей локальной сети (после подключения к VPN вы также теряете доступ в Интернет через свою LAN). Доступ будет работать только по IP адресам (частично в этом случае спасает кэш DNS клиента);

В Google я нашел рекомендации по отключению IPv6 на локальном (LAN) подключении и это работает (если вы хотите использовать Force-Tunnel).

Windows 10/11 отправляет DNS запросы с сетевого интерфейса с наивысшим приоритетом (у которого самое маленькое значение метрики интерфейса). Чтобы вывести значения метрик сетевых интерфейсов компьютера, выполните PowerShell команду:

Get-NetIPInterface | Sort-Object Interfacemetric

Get-NetIPInterface

На данном компьютере есть два подключение:

Это значит, что ваши DNS запросы отправляются через интерфейс с меньшей метрикой (Ethernet) на ваши локальные DNS сервера, а не на DNS сервера VPN подключения. В такой конфигурации вы не можете резолвить адреса во внешней VPN сети.

Windows 10/11 задают метрики IPv4 сетевым интерфейсам автоматически в зависимости от их скорости и типа:

Скорость и тип подключения Метрика
Ethernet 1 Гб 25
Ethernet 100 Мб 35
Wi-Fi интерфейс со скоростью 50-80 Мб 50

Например, вы хотите, чтобы DNS запросы отправлялись через VPN подключение. В нашем примере это означает, что нужно увеличить метрику локального Ethernet адаптера и сделать его больше 100.

Вы можете изменить метрики сетевых интерфейсов из графического интерфейса или из командной строки.

установить метрику LAN интерфейса вручную в Windows 10

  • Откройте панель управления сетевыми подключениями ( ncpa.cpl ), откройте свойства вашего Ethernet подключения, выберите свойства протокола TCP/IPv4, перейдите на вкладку “Дополнительные параметры TCP/IP”. Снимите галку “Автоматическое назначение метрики” и измените метрику интерфейса на 120.
  • Также вы можете изменить метрику с помощью команд PowerShell для управления сетевыми настройками (используйте индекс вашего LAN интерфейса, полученный с помощью командлета Get-NetIPInterface ):
    Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 120
    Или netsh (нужно указать имя вашего LAN подключения)
    netsh int ip set interface interface=»Ethernet 3″ metric=120

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

метрика для VPN подключения

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

Также вы можете изменить настройки вашего VPN подключения, изменив режим на SplitTunneling (трафик DNS по умочалнию идет в вашу LAN) и указать DNS суффикс для подключения c помощью PowerShell:

Get-VpnConnection
Set-VpnConnection -Name «VPN» -SplitTunneling $True
Set-VpnConnection -Name «VPN» -DnsSuffix yourdomain.com

Указанный DNS суффикс будет автоматически добавляться к коротким именам при отправке их на DNS сервер.

Также можете указать трафик каких подсетей нужно всегда отправлять в VPN туннель:

Add-VpnConnectionRoute -ConnectionName $VpnName -DestinationPrefix 172.16.10.0/24
Add-VpnConnectionRoute -ConnectionName $VpnName -DestinationPrefix 10.24.2.0/24

См статью об автоматическом добавлении статических VPN маршрутов в Windows.

Если вы используете OpenVPN сервер, вы можете назначить клиентам дополнительные маршруты и DNS сервера с помощью опций:

push "route 10.24.1.0 255.255.255.0" push "dhcp-option DNS 192.168.100.11"

В версиях с Windows 8.1 до Windows 1703 по умолчанию включена опция Smart Multi-Homed Name Resolution (SMHNR). При активной SMHNR Windows отправляет DNS запросы на все известные системе DNS сервера параллельно и использует тот ответ, который пришел быстрее. Это не безопасно, т.к. потенциально внешние DNS сервера (которые указаны в вашем VPN подключении) могут видеть ваши DNS запросы (утечка ваших DNS запросов вовне). Чтобы предотвратить утечку DNS запросов, желательно отключить SMHNR с помощью групповой политики:

Turn off smart multi-homed name resolution политика DNS клиента

Set-ItemProperty -Path «HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient» -Name DisableSmartNameResolution -Value 1 -Type DWord
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters» -Name DisableParallelAandAAAA -Value 1 -Type DWord

Несколько полезных статей об использовании VPN в Windows:

  • Запустить VPN подключение до входа в Windows.
  • Автоматически переподключиться к VPN при разрыве соединения

�� Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Как настроить DNS при использовании VPN?

Всем привет.
Решил я значит воспользоваться таким благом, как VPN-тонель из дома до любимой работы. Наш сисадмин сделал все настройки, прислал мне ключи. Вобщем проблем с подключением вроде нет. Настроил коннект через NetworkManager (у меня LinuxMint 15 KDE). Проблема заключается в том, что я не могу понять каким образом теперь резолвятся имена? Т.е. наши внутриконторские ресурсы живут в нашей сети с постфиксом company.local. При попытке пойти на такой ресурс (с подключенным VPN) ничего не происходит. Ping таких ресурсов тоже неудачен. Подскажите, что делать?

  • Вопрос задан более трёх лет назад
  • 22110 просмотров

Комментировать
Решения вопроса 1
younghacker @younghacker

Скорее всего имена ресолвятся через вашего провайдера.
Вам правильно подсказали загдянуть в /etc/resolv.conf
Можно ещё посмотреть, что вернёт в качестве сервера
nslookup google.com

Чтобы проверить отвечают ли ваши сервера (мало ли у вас настроен dnsmasq куда-то наружу) попробуйте
nslookup somehost.company.local x.x.x.x
где x.x.x.x адрес вашего фирменного dns
Команда должна вернуть правильный адрес.

Как вариант можно не push-ить адреса dns серверов через vpn, а поднять локально dnsmasq и настроить его чтобы он вашу зону company.local ресолвил с указанного вашего фирменного dns.

cat /etc/dnsmasq.d/intranet.company.local.conf server=/company.local/x.x.x.x cat /etc/dnsmasq.conf interface=lo no-dhcp-interface=* bind-interfaces clear-on-reload local-ttl=3600 neg-ttl=3600 max-ttl=7200 conf-dir=/etc/dnsmasq.d

И в iptables можно перехватить все запросы на внешний tcp/udp 53 и завернуть их в локальный dnsmasq. Только на всякий случай оставить выход наружу только для nobody

*nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # dns requests from nobody are transparent -A OUTPUT -p tcp -m tcp --dport 53 -m owner --uid-owner nobody -j ACCEPT -A OUTPUT -p udp -m udp --dport 53 -m owner --uid-owner nobody -j ACCEPT # all other dns requests are routed to local resolver (dnsmasq) -A OUTPUT -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.1 -A OUTPUT -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.1

Третий способ — прописать необходимые адреса в
/etc/hosts

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *