Dns vpn windows server

Не работает DNS через VPN в Windows 10 (РЕШЕНО)

DNS-серверы и суффиксы, настроенные для VPN-подключений, используются в Windows 10 для разрешения имён с помощью DNS в режиме Force Tunneling (принудительного туннелирования) (включён параметр Use default gateway on remote network («Использовать шлюз по умолчанию в удаленной сети»)), если ваше VPN-подключение активно. В этом случае вы не можете преобразовать DNS-имена в своей локальной сети или получить доступ в Интернет через внутреннюю локальную сеть.

В то же время вы можете проверить связь с любыми ресурсами в вашей локальной сети (попробуйте проверить связь со своим шлюзом, соседним компьютером или IP-адресом принтера). Они доступны только по IP-адресам, но не по именам хостов. Дело в том, что Windows 10 пытается разрешить имена хостов в вашей локальной сети через DNS-серверы, указанные в настройках VPN-подключения.

Я нашёл несколько рекомендаций по отключению протокола IPv6 для вашего локального (LAN) интерфейса, и это поможет, если вы хотите использовать режим Force-Tunneling.

Если вы используете Split Tunneling (раздельное туннелирование) (опция Use default gateway on remote network («Использовать шлюз по умолчанию в удаленной сети») не отмечена) для вашего VPN-соединения, вы можете получить доступ к Интернету из своей локальной сети, но вы не можете разрешать DNS-адреса в удалённой сети VPN (отключение IPv6 здесь не поможет).

Вы должны понимать, что Windows отправляет DNS-запрос из сетевого интерфейса, который имеет наивысший приоритет (меньшее значение метрики интерфейса). Например, ваше VPN-соединение работает в режиме раздельного туннелирования (вы хотите получить доступ в Интернет из вашей локальной сети и ваших корпоративных ресурсов через VPN).

Проверьте значения всех метрик сетевого интерфейса из PowerShell:

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

Кроме того, здесь следует упомянуть новую функцию DNS-клиента для Windows 8.1 и Windows 10. В эти версии ОС было добавлено Smart Multi-Homed Name Resolution (SMHNR) (интеллектуальное разрешение многодомных имён) для более быстрого ответа на запросы DNS. По умолчанию SMHNR отправляет одновременные запросы DNS ко всем DNS-серверам, известным системе, и использует ответ, полученный первым (запросы LLMNR и NetBT также отправляются). Это небезопасно, поскольку внешние DNS-серверы (указанные для вашего VPN-соединения) потенциально могут видеть ваш DNS-трафик (утечка ваших DNS-запросов). Вы можете отключить SMHNR в Windows 10 через GPO: Конфигурация компьютера → Административные шаблоны → Сеть → DNS-клиент → Отключить интеллектуальное многосетевое разрешение имен = Включено.

В английской версии: Computer Configuration → Administrative Templates → Network → DNS Client → Turn off smart multi-homed name resolution = Enabled.

Или вы можете отключить SMHNR, используя следующие команды (в Windows 8.1):

В Windows 10 Creators Update (1709) и новее запросы DNS отправляются на все известные DNS-серверы один за другим (не параллельно). Вы можете повысить приоритет определённого DNS-сервера, если снизите его значения метрики.

Таким образом, изменение метрики интерфейса позволяет вам отправлять DNS-запросы через соединение (LAN или VPN), где разрешение имён является для вас самым приоритетным.

Таким образом, чем ниже значение метрики интерфейса, тем выше приоритет соединения. Windows автоматически назначает метрики интерфейсов IPv4 в зависимости от их скорости и типа. Например, соединение LAN со скоростью > 200 Мбит/с имеет значение метрики, равное 10, а соединение Wi-Fi со скоростью 50-80 Мбит/с имеет значение 50 (смотрите таблицу https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/automatic-metric-for-ipv4-routes).

Вы можете изменить метрику интерфейса из графического интерфейса Windows, PowerShell или с помощью команды netsh.

Например, вы хотите, чтобы ваши DNS-запросы отправлялись через VPN-соединение. Вам необходимо увеличить показатели ваших подключений к локальной сети, чтобы их значения превышали 100 (в моем примере).

Перейдите в Панель управления → Сеть и Интернет → Центр управления сетями и общим доступом → Изменение параметров адаптера (либо используйте путь «Панель управления\Сеть и Интернет\Сетевые подключения»). Затем откройте свойства вашего Ethernet-соединения, выберите «IP версии 4 (TCP/IPv4)». На вкладки «Общие» нажмите кнопку «Дополнительно». Снимите флажок «Автоматическое назначение метрики» и измените метрику интерфейса на 120.

Вы можете сделать то же самое с помощью следующей команды PowerShell (используйте индекс вашего интерфейса LAN, который вы можете получить с помощью командлета Get-NetIPInterface):

Читайте также:  Adding user root group linux

Или с помощью netsh (укажите имя вашего LAN-соединения):

Таким же образом вы можете уменьшить значение метрики в свойствах вашего VPN-соединения.

Также вы можете изменить настройки своего VPN-подключения, изменив режим на Split Tunneling и указав DNS-суффикс для подключения с помощью PowerShell:

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

В Windows 10 при активном VPN подключении в режиме Force Tunneling (включена опция “Use default gateway on remote network”/ “Использовать основной шлюз в удаленной сети”) для разрешения имен через службу DNS используются DNS сервера и суффиксы, настроенные для VPN подключения. Соответственно, вы теряете возможность резолвить DNS имена в своей локальной сети и пользоваться Интернетом через внутреннюю LAN.

При этом с Windows 10 можно выполнить ping до ресурсов в вашей LAN сети (пропингуйте ваш шлюз, соседний компьютер или принтер), но по имени они не доступны, т.к. Windows пытается разрешить имена в локальной сети через DNS сервера, указанные для VPN соединения.

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

Если для VPN подключения используется режим Split Tunneling (снята галка “Use default gateway on remote network”), вы можете пользоваться интернетом через свою локальную сеть, но не можете резолвить DNS адреса в удаленной VPN сети (в этом случае не помогает отключение IPv6).

Нужно понимать, что Windows отправляет DNS запрос с сетевого интерфейса, у которого высший приоритет (меньшее значение метрики интерфейса). Допустим, ваше VPN подключение работает в режиме Split Tunneling (вы хотите пользоваться интернетом через свою LAN и корпоративными ресурсами через VPN подключение).

С помощью PowerShell проверьте значение метрик всех сетевых интерфейсов:

Get-NetIPInterface | Sort-Object Interfacemetric

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

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

Computer Configuration -> Administrative Templates -> Network -> DNS Client-> Turn off smart multi-homed name resolution = Enabled.

Или командами (для Windows 8.1):

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

В Windows 10 Creators Update (1709) и выше DNS запросы отправляются на все известные DNS сервера по порядку, а не параллельно. Вы можете увеличить приоритет конкретного DNS, если уменьшите его метрику.

Соответственно, изменение метрики позволит вам отправлять DNS запросы через тот сетевой интерфейс (LAN или VPN), разрешение имен через который для вас более приоритетно.

Итак, чем меньше значение метрики интерфейса, тем больше приоритет такого подключения. Windows выставляет метрику IPv4 сетевым интерфейсам автоматически в зависимости от их скорости и типа. Например, для LAN подключения с скоростью >200 Мбит значение метрики интерфейса 10, а для беспроводного Wi-FI подключения со скоростью 50-80 Мбит метрика 50 (см. таблицу https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes).

Вы можете изменить метрику интерфейса через графический интерфейс, PowerShell или команду netsh.

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

Откройте Панель управления -> Сеть и Интернет -> Сетевые подключения, откройте свойства вашего 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 подключения, изменив режим на SplitTunneling и указать DNS суффикс для подключения c помощью PowerShell:

Шаг 5. Step 5. Настройка параметров DNS и брандмауэра Configure DNS and firewall settings

Область применения: Windows Server (половина ежегодного канала), Windows Server 2016, Windows Server 2012 R2, Windows 10 Applies to: Windows Server (Semi-Annual Channel), Windows Server 2016, Windows Server 2012 R2, Windows 10

На этом шаге вы настроите параметры DNS и брандмауэра для VPN-подключения. In this step, you configure DNS and Firewall settings for VPN connectivity.

Читайте также:  Windows 10 pro как отключить защитник windows навсегда

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

При подключении удаленных VPN-клиентов они используют те же DNS-серверы, что используются внутренними клиентами, что позволяет им разрешать имена так же, как и остальные внутренние рабочие станции. When remote VPN clients connect, they use the same DNS servers that your internal clients use, which allows them to resolve names in the same manner as the rest of your internal workstations.

Поэтому необходимо убедиться, что имя компьютера, используемое внешними клиентами для подключения к VPN-серверу, совпадает с альтернативным именем субъекта, определенным в сертификатах, выданных VPN-серверу. Because of this, you must ensure that the computer name that external clients use to connect to the VPN server matches the subject alternative name defined in certificates issued to the VPN server.

Чтобы удаленные клиенты могли подключаться к VPN-серверу, можно создать запись DNS A (узел) в внешней зоне DNS. To ensure that remote clients can connect to your VPN server, you can create a DNS A (Host) record in your external DNS zone. Запись A должна использовать альтернативное имя субъекта сертификата для VPN-сервера. The A record should use the certificate subject alternative name for the VPN server.

Добавление записи ресурса узла (A или AAAA) в зону To add a host (A or AAAA) resource record to a zone

  1. На DNS-сервере в диспетчер сервера выберите средства, а затем — DNS. On a DNS server, in Server Manager, select Tools, and then select DNS. Откроется диспетчер DNS. DNS Manager opens.
  2. В дереве консоли диспетчера DNS выберите сервер, которым требуется управлять. In the DNS Manager console tree, select the server that you want to manage.
  3. В области сведений в поле имя дважды щелкните зоны прямого просмотра , чтобы развернуть представление. In the details pane, in Name, double-click Forward Lookup Zones to expand the view.
  4. В области сведения о зонах прямого просмотра щелкните правой кнопкой мыши зону прямого просмотра, к которой нужно добавить запись, а затем выберите новый узел (a или AAAA). In Forward Lookup Zones details, right-click the forward lookup zone to which you want to add a record, and then select New Host (A or AAAA). Откроется диалоговое окно новый узел . The New Host dialog box opens.
  5. В поле имянового узла введите альтернативное имя субъекта сертификата для VPN-сервера. In New Host, in Name, enter the certificate subject alternative name for the VPN server.
  6. В поле IP-адрес введите IP-адрес VPN-сервера. In IP address, enter the IP address for the VPN server. Вы можете ввести адрес в формате IP версии 4 (IPv4), чтобы добавить запись ресурса узла (A) или формат IP версии 6 (IPv6) для добавления записи ресурса узла (AAAA). You can enter the address in IP version 4 (IPv4) format to add a host (A) resource record, or IP version 6 (IPv6) format to add a host (AAAA) resource record.
  7. Если вы создали зону обратного просмотра для диапазона IP-адресов, включая введенный IP-адрес, установите флажок создать связанную запись указателя (PTR) . If you created a reverse lookup zone for a range of IP addresses, including the IP address that you entered, then select the Create associated pointer (PTR) record check box. При выборе этого параметра создается дополнительная запись ресурса указателя (PTR) в зоне обратных передач для этого узла на основе информации, введенной в поле имя и IP-адрес. Selecting this option creates an additional pointer (PTR) resource record in a reverse zone for this host, based on the information you entered in Name and IP address.
  8. Выберите Добавить узел. Select Add Host.

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

Брандмауэр пограничной сети отделяет внешнюю сеть периметра от общедоступного Интернета. The Edge Firewall separates the External Perimeter Network from the Public Internet. Визуальное представление этого разделения см. на рисунке в статье Always on общие сведения о технологии VPN. For a visual representation of this separation, see the illustration in the topic Always On VPN Technology Overview.

Брандмауэр пограничной сети должен разрешать и перенаправлять определенные порты на VPN-сервер. Your Edge Firewall must allow and forward specific ports to your VPN server. Если на пограничном брандмауэре используется преобразование сетевых адресов (NAT), может потребоваться включить перенаправление портов для UDP-портов 500 и 4500. If you use Network Address Translation (NAT) on your edge firewall, you might need to enable port forwarding for User Datagram Protocol (UDP) ports 500 and 4500. Перешлите эти порты на IP-адрес, назначенный внешнему интерфейсу VPN-сервера. Forward these ports to the IP address that is assigned to the external interface of your VPN server.

При маршрутизации входящего и исходящего преобразования сетевых адресов (NAT) на VPN-сервере или за его пределами необходимо открыть правила брандмауэра, чтобы разрешить передачу UDP-портов 500 и 4500, входящих в общий интерфейс на VPN-сервере. If you’re routing traffic inbound and performing NAT at or behind the VPN server, then you must open your firewall rules to allow UDP ports 500 and 4500 inbound to the external IP address applied to the public interface on the VPN server.

Читайте также:  Словарь терминов для windows

В любом случае, если брандмауэр поддерживает глубокую проверку пакетов и у вас возникли трудности при установке клиентских подключений, следует попытаться ослабить или отключить глубокую проверку пакетов для сеансов IKE. In either case, if your firewall supports deep packet inspection and you have difficulty establishing client connections, you should attempt to relax or disable deep packet inspection for IKE sessions.

Сведения о том, как внести эти изменения в конфигурацию, см. в документации по брандмауэру. For information on how to make these configuration changes, see your firewall documentation.

Настройка брандмауэра внутренней сети периметра Configure the Internal Perimeter Network Firewall

Брандмауэр внутренней сети периметра разделяет организацию или корпоративную сеть из внутренней сети периметра. The Internal Perimeter Network Firewall separates the Organization/Corporate Network from the Internal Perimeter Network. Визуальное представление этого разделения см. на рисунке в статье Always on общие сведения о технологии VPN. For a visual representation of this separation, see the illustration in the topic Always On VPN Technology Overview.

В этом развертывании VPN-сервер удаленного доступа в сети периметра настроен как клиент RADIUS. In this deployment, the Remote Access VPN server on the perimeter network is configured as a RADIUS client. VPN-сервер отправляет трафик RADIUS на NPS в корпоративной сети и получает трафик RADIUS от NPS. The VPN server sends RADIUS traffic to the NPS on the corporate network and also receives RADIUS traffic from the NPS.

Настройте брандмауэр, чтобы разрешить передачу трафика RADIUS в обоих направлениях. Configure the firewall to allow RADIUS traffic to flow in both directions.

Сервер NPS в организации или корпоративной сети работает как сервер RADIUS для VPN-сервера, который является клиентом RADIUS. The NPS server on the Organization/Corporate network functions as a RADIUS Server for the VPN Server, which is a RADIUS Client. Дополнительные сведения о инфраструктуре RADIUS см. в разделе сервер политики сети (NPS). For more information about the RADIUS infrastructure, see Network Policy Server (NPS).

Порты трафика RADIUS на VPN-сервере и сервере NPS RADIUS Traffic Ports on the VPN Server and NPS Server

По умолчанию NPS и VPN прослушивают трафик RADIUS на портах 1812, 1813, 1645 и 1646 на всех установленных сетевых адаптерах. By default, NPS and VPN listen for RADIUS traffic on ports 1812, 1813, 1645, and 1646 on all installed network adapters. При включении брандмауэра Windows в повышенной безопасности при установке NPS исключения брандмауэра для этих портов создаются автоматически в процессе установки для трафика IPv6 и IPv4. If you enable Windows Firewall with Advanced Security when installing NPS, firewall exceptions for these ports get created automatically during the installation process for both IPv6 and IPv4 traffic.

Если серверы сетевого доступа настроены на отправку трафика RADIUS через порты, отличные от этих значений по умолчанию, удалите исключения, созданные в брандмауэре Windows в процессе установки сервера политики сети, и создайте исключения для портов, используемых для трафика RADIUS. If your network access servers are configured to send RADIUS traffic over ports other than these defaults, remove the exceptions created in Windows Firewall with Advanced Security during NPS installation, and create exceptions for the ports that you do use for RADIUS traffic.

Использовать те же порты RADIUS для конфигурации брандмауэра внутренней сети периметра Use the Same RADIUS Ports for the Internal Perimeter Network Firewall Configuration

При использовании конфигурации порта RADIUS по умолчанию на VPN-сервере и сервере NPS убедитесь, что в брандмауэре внутренней сети периметра открыты следующие порты: If you use the default RADIUS port configuration on the VPN Server and the NPS Server, make sure that you open the following ports on the Internal Perimeter Network Firewall:

  • Порты UDP1812, UDP1813, UDP1645 и UDP1646 Ports UDP1812, UDP1813, UDP1645, and UDP1646

Если вы не используете порты RADIUS по умолчанию в развертывании NPS, необходимо настроить брандмауэр таким образом, чтобы он разрешал трафик RADIUS на используемых портах. If you are not using the default RADIUS ports in your NPS deployment, you must configure the firewall to allow RADIUS traffic on the ports that you are using. Дополнительные сведения см. в статье Настройка брандмауэров для трафика RADIUS. For more information, see Configure Firewalls for RADIUS Traffic.

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

Шаг 6. Настройка клиента Windows 10 Always On VPN-подключениях. на этом этапе вы настраиваете клиентские компьютеры Windows 10 для взаимодействия с этой инфраструктурой с VPN-подключением. Step 6. Configure Windows 10 Client Always On VPN Connections: In this step, you configure the Windows 10 client computers to communicate with that infrastructure with a VPN connection. Для настройки VPN-клиентов Windows 10 можно использовать несколько технологий, в том числе Windows PowerShell, Microsoft Endpoint Configuration Manager и Intune. You can use several technologies to configure Windows 10 VPN clients, including Windows PowerShell, Microsoft Endpoint Configuration Manager, and Intune. Для всех трех требуется профиль VPN в формате XML, чтобы настроить соответствующие параметры VPN. All three require an XML VPN profile to configure the appropriate VPN settings.

Оцените статью