Поделиться через


Внутренняя служба DNS (iDNS) для SDN

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, версии 21H2 и 20H2

Если вы работаете для поставщика облачных служб (CSP) или предприятия, планирующих развертывание программно-определяемой сети (SDN) в Windows Server, вы можете предоставлять службы DNS для рабочих нагрузок размещенного клиента с помощью внутренних DNS (iDNS), интегрированных с SDN.

Размещенные виртуальные машины (виртуальные машины) и приложения требуют, чтобы DNS взаимодействовал в собственных сетях и с внешними ресурсами в Интернете. С помощью iDNS вы можете предоставлять клиентам службы разрешения DNS-имен для изолированного, локального пространства имен и ресурсов Интернета.

Так как служба iDNS недоступна из виртуальная сеть клиента, кроме прокси-сервера iDNS, сервер не уязвим для вредоносных действий в сетях клиентов.

Основные возможности    

Ниже приведены основные функции iDNS.

  • Предоставляет службы разрешения общих имен DNS для рабочих нагрузок клиента
  • Авторитетная служба DNS для разрешения имен и регистрации DNS в пространстве имен клиента
  • Рекурсивная служба DNS для разрешения имен Интернета из клиентских виртуальных машин.
  • При необходимости можно настроить одновременное размещение имен структуры и клиентов.
  • Экономичное решение DNS— клиентам не нужно развертывать собственную инфраструктуру DNS
  • Высокий уровень доступности с интеграцией Active Directory, которая требуется.

Помимо этих функций, если вы обеспокоены сохранением интегрированных DNS-серверов AD в Интернете, вы можете развернуть серверы iDNS за другой рекурсивный сопоставитель в сети периметра.

Так как iDNS является централизованным сервером для всех ЗАПРОСОВ DNS, CSP или Enterprise также может реализовывать брандмауэры DNS клиента, применять фильтры, обнаруживать вредоносные действия и выполнять аудит транзакций в центральном расположении.

Инфраструктура iDNS

Инфраструктура iDNS включает серверы iDNS и прокси-серверы iDNS.

Серверы iDNS

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

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

Все имена узлов для виртуальных машин в виртуальная сеть хранятся в виде записей ресурсов DNS в одной зоне. Например, при развертывании iDNS для зоны с именем contoso.local записи ресурсов DNS для виртуальных машин в этой сети хранятся в зоне contoso.local.

Полные доменные имена (FQDN) клиентских виртуальных машин состоят из строковых значений имени компьютера и DNS-суффикса виртуальной сети в формате GUID. Например, если у вас есть виртуальная машина клиента с именем TENANT1, которая находится в виртуальная сеть contoso,local, полное доменное имя виртуальной машины TENANT1.vn-guid.contoso.local, где vn-guid является строкой DNS-суффикса для виртуальная сеть.

Примечание.

Если вы являетесь администратором структуры, вы можете использовать инфраструктуру CSP или Enterprise DNS в качестве серверов iDNS вместо развертывания новых DNS-серверов специально для использования в качестве серверов iDNS. Независимо от того, развертываете ли вы новые серверы для iDNS или используете существующую инфраструктуру, iDNS использует Active Directory для обеспечения высокой доступности. Поэтому серверы iDNS должны быть интегрированы с Active Directory.

Прокси-сервер iDNS

Прокси-сервер iDNS — это служба Windows, которая выполняется на каждом узле, и которая перенаправляет трафик клиента виртуальная сеть DNS-трафик на сервер iDNS.

На следующем рисунке показаны пути трафика DNS из виртуальная сеть клиента через прокси-сервер iDNS и Интернет.

iDNS Infrastructure

Развертывание iDNS

При развертывании SDN в Windows Server 2016 с помощью скриптов iDNS автоматически включается в развертывание.

Дополнительные сведения см. в следующих разделах:

Общие сведения о действиях по развертыванию iDNS

Этот раздел можно использовать для получения понимания установки и настройки iDNS при развертывании SDN с помощью скриптов.

Ниже приведены краткие сведения о шагах, необходимых для развертывания iDNS.

Примечание.

Если вы развернули SDN с помощью скриптов, вам не нужно выполнять какие-либо из этих действий. Инструкции предоставляются только для получения сведений и устранения неполадок.

Шаг 1. Развертывание DNS

Вы можете развернуть DNS-сервер с помощью следующего примера команды Windows PowerShell.

Install-WindowsFeature DNS -IncludeManagementTools

Шаг 2. Настройка сведений iDNS в сетевом контроллере

Этот сегмент скрипта — это вызов REST, который выполняется администратором сетевого контроллера, уведомляя его о конфигурации зоны iDNS, например IP-адрес iDNSServer и зону, которая используется для размещения имен iDNS.

Url: https://<url>/networking/v1/iDnsServer/configuration
Method: PUT
{
      "properties": {
        "connections": [
          {
            "managementAddresses": [
              "10.0.0.9"
            ],
            "credential": {
              "resourceRef": "/credentials/iDnsServer-Credentials"
            },
            "credentialType": "usernamePassword"
          }
        ],
        "zone": "contoso.local"
      }
    }

Примечание.

Это фрагмент раздела Configuration ConfigureIDns в SDNExpress.ps1. Дополнительные сведения см. в статье "Развертывание программно-определяемой сетевой инфраструктуры с помощью сценариев".

Шаг 3. Настройка службы прокси-сервера iDNS

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

ПОРТ DNS: фиксированный порт 53

  • Раздел реестра = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "Port"
  • ValueData = 53
  • ValueType = "Dword"

Порт DNS-прокси: фиксированный порт 53

  • Раздел реестра = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "ProxyPort"
  • ValueData = 53
  • ValueType = "Dword"

IP-адрес DNS: фиксированный IP-адрес, настроенный в сетевом интерфейсе, если клиент выбирает использование службы iDNS.

  • Раздел реестра = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "IP"
  • ValueData = "169.254.169.254"
  • ValueType = "String"

Mac Address: адрес контроль доступа мультимедиа DNS-сервера

  • Раздел реестра = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService
  • ValueName = "MAC"
  • ValueData = "aa-bb-cc-aa-bb-cc"
  • ValueType = "String"

Адрес сервера IDNS: разделенный запятыми список серверов iDNS.

  • Раздел реестра: HKLM\SYSTEM\CurrentControlSet\Services\DNSProxy\Parameters
  • ValueName = "Пересылка"
  • ValueData = "10.0.0.9"
  • ValueType = "String"

Примечание.

Это фрагмент раздела Configuration ConfigureIDnsProxy в SDNExpress.ps1. Дополнительные сведения см. в статье "Развертывание программно-определяемой сетевой инфраструктуры с помощью сценариев".

Шаг 4. Перезапуск службы агента узла сетевого контроллера

Для перезапуска службы агента узла узла сетевого контроллера можно использовать следующую команду Windows PowerShell.

Restart-Service nchostagent -Force

Дополнительные сведения см. в разделе "Перезапуск службы".

Включение правил брандмауэра для службы DNS-прокси

Следующая команда Windows PowerShell позволяет создать правило брандмауэра, позволяющее прокси-серверу взаимодействовать с виртуальной машиной и сервером iDNS.

Enable-NetFirewallRule -DisplayGroup 'DNS Proxy Firewall'

Дополнительные сведения см. в разделе Enable-NetFirewallRule.

Проверка службы iDNS

Чтобы проверить службу iDNS, необходимо развернуть пример рабочей нагрузки клиента.

Дополнительные сведения см. в статье "Создание виртуальной машины и Подключение в клиенте виртуальная сеть или виртуальной локальной сети".

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

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

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

Сетевой контроллер также сообщает прокси-серверу iDNS о виртуальной машине и необходимые сведения для разрешения имен для виртуальной машины.

Когда виртуальная машина инициирует DNS-запрос, прокси-сервер выступает в качестве пересылки запроса из виртуальная сеть в службу iDNS.

Dns-прокси также гарантирует, что запросы виртуальной машины клиента изолированы. Если сервер iDNS является доверенным для запроса, сервер iDNS отвечает с помощью авторитетного ответа. Если сервер iDNS не является доверенным для запроса, он выполняет рекурсию DNS для разрешения имен Интернета.

Примечание.

Эти сведения включены в раздел Configuration AttachToVirtualNetwork в SDNExpressTenant.ps1. Дополнительные сведения см. в статье "Развертывание программно-определяемой сетевой инфраструктуры с помощью сценариев".