Развертывание инфраструктуры программно-конфигурируемой сети с помощью скриптов

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

В этом разделе описано, как развернуть инфраструктуру microsoft Software Defined Network (SDN) с помощью скриптов. Инфраструктура включает в себя высокодоступный сетевой контроллер, подсистему балансировки нагрузки программного обеспечения высокой доступности (SLB)/MUX, виртуальные сети и связанные списки контроль доступа списков управления доступом (ACL). Кроме того, другой скрипт развертывает рабочую нагрузку клиента для проверки инфраструктуры SDN.

Если вы хотите, чтобы рабочие нагрузки клиента взаимодействовали за пределами своих виртуальных сетей, можно настроить правила SLB NAT, туннели шлюза типа "сеть — сеть" или "Переадресация уровня 3" для маршрутизации между виртуальными и физическими рабочими нагрузками.

Вы также можете развернуть инфраструктуру SDN с помощью диспетчер виртуальных машин (VMM). Дополнительные сведения см. в статье "Настройка инфраструктуры программно-определяемой сети (SDN) в структуре VMM.

Перед развертыванием

Внимание

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

Все узлы Hyper-V должны иметь windows Server 2019 или 2016.

Шаги развертывания

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

Установка сети узлов

  1. Установите последние сетевые драйверы, доступные для оборудования сетевого адаптера.

  2. Установите роль Hyper-V на всех узлах (дополнительные сведения см. в статье "Начало работы с Hyper-V" в Windows Server 2016.

    Install-WindowsFeature -Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools -Restart
    
  3. Создайте виртуальный коммутатор Hyper-V.

    Используйте одно и то же имя коммутатора для всех узлов, например sdnSwitch. Настройте по крайней мере один сетевой адаптер или, если используется SET, настройте по крайней мере два сетевых адаптера. Максимальное распространение входящего трафика происходит при использовании двух сетевых адаптеров.

    New-VMSwitch "<switch name>" -NetAdapterName "<NetAdapter1>" [, "<NetAdapter2>" -EnableEmbeddedTeaming $True] -AllowManagementOS $True
    

    Совет

    Если у вас есть отдельные сетевые карты управления, можно пропустить шаги 4 и 5.

  4. Ознакомьтесь с разделом планирования (планирование программно-определяемой сетевой инфраструктуры) и обратитесь к администратору сети, чтобы получить идентификатор виртуальной локальной сети управления. Подключите виртуальную карту управления только что созданного виртуального коммутатора к виртуальной локальной сети управления. Этот шаг можно опустить, если среда не использует теги виртуальной локальной сети.

    Set-VMNetworkAdapterIsolation -ManagementOS -IsolationMode Vlan -DefaultIsolationID <Management VLAN> -AllowUntaggedTraffic $True
    
  5. Ознакомьтесь с разделом планирования (планирование программно-определяемой сетевой инфраструктуры) и обратитесь к администратору сети, чтобы использовать DHCP или статические НАЗНАЧЕНИЯ IP-адресов, чтобы назначить IP-адрес виртуальной сетевой адаптеру управления только что созданного vSwitch. В следующем примере показано, как создать статический IP-адрес и назначить его виртуальной сетевой адаптеру управления vSwitch:

    New-NetIPAddress -InterfaceAlias "vEthernet (<switch name>)" -IPAddress <IP> -DefaultGateway <Gateway IP> -AddressFamily IPv4 -PrefixLength <Length of Subnet Mask - for example: 24>
    
  6. [Необязательно] Разверните виртуальную машину для размещения служб домен Active Directory (установка служб домен Active Directory (уровень 100) и DNS-сервера.

    a. Подключение виртуальную машину Active Directory или DNS-сервера в виртуальную локальную сеть управления:

    Set-VMNetworkAdapterIsolation -VMName "<VM Name>" -Access -VlanId <Management VLAN> -AllowUntaggedTraffic $True
    

    b. Установите службы домен Active Directory и DNS.

    Примечание.

    Сетевой контроллер поддерживает сертификаты Kerberos и X.509 для проверки подлинности. В этом руководстве используются оба механизма проверки подлинности для разных целей (хотя требуется только один).

  7. Присоединяйте все узлы Hyper-V к домену. Убедитесь, что запись DNS-сервера для сетевого адаптера с IP-адресом, назначенным сети управления, указывает на DNS-сервер, который может разрешить доменное имя.

    Set-DnsClientServerAddress -InterfaceAlias "vEthernet (<switch name>)" -ServerAddresses <DNS Server IP>
    

    a. Щелкните правой кнопкой мыши "Пуск", щелкните "Система" и выберите пункт "Изменить Параметры". b. Щелкните Изменить. c. Щелкните домен и укажите доменное имя. """" d. Нажмите кнопку "ОК". При появлении запроса введите имя пользователя и учетные данные пароля. f. Перезапустите сервер.

Проверка

Чтобы проверить правильность настройки сети узла, выполните следующие действия.

  1. Убедитесь, что коммутатор виртуальной машины успешно создан:

    Get-VMSwitch "<switch name>"
    
  2. Убедитесь, что виртуальная карта управления на коммутаторе виртуальной машины подключена к виртуальной локальной сети управления:

    Примечание.

    Применимо только в том случае, если трафик управления и клиента совместно использует один сетевой адаптер.

    Get-VMNetworkAdapterIsolation -ManagementOS
    
  3. Проверьте все узлы Hyper-V и внешние ресурсы управления, например DNS-серверы.

    Убедитесь, что они доступны через связь с помощью IP-адреса управления и (или) полного доменного имени (FQDN).

    ping <Hyper-V Host IP>
    ping <Hyper-V Host FQDN>
    
  4. Выполните следующую команду на узле развертывания и укажите полное доменное имя каждого узла Hyper-V, чтобы убедиться, что используемые учетные данные Kerberos предоставляют доступ ко всем серверам.

    winrm id -r:<Hyper-V Host FQDN>
    

Запуск скриптов SDN Express

  1. Перейдите в репозиторий GitHub Microsoft SDN для файлов установки.

  2. Скачайте файлы установки из репозитория на назначенный компьютер развертывания. Нажмите кнопку "Клонировать" или "Скачать ", а затем нажмите кнопку "Скачать ZIP".

    Примечание.

    Назначенный компьютер развертывания должен работать под управлением Windows Server 2016 или более поздней версии.

  3. Разверните ZIP-файл и скопируйте папку SDNExpress в папку компьютера C:\ развертывания.

  4. Общий доступ к папке C:\SDNExpresssdNExpress с разрешением для всех пользователей на чтение и запись.

  5. Перейдите в папку C:\SDNExpress.

    Вы увидите следующие папки:

    Имя папки Description
    AgentConf Содержит свежие копии схем OVSDB, используемых агентом узла SDN на каждом узле Windows Server 2016 Hyper-V для программы сетевой политики.
    Сертификаты. Временное общее расположение для файла сертификата NC.
    изображения; Пустой, поместите образ vhdx windows Server 2016 здесь
    Инструменты Служебные программы для устранения неполадок и отладки. Скопировано на узлы и виртуальные машины. Мы рекомендуем разместить сетевой монитор или Wireshark здесь, чтобы он был доступен при необходимости.
    Сценарии Сценарии развертывания.

    - SDNExpress.ps1
    Развертывает и настраивает структуру, включая виртуальные машины сетевого контроллера, виртуальные машины SLB Mux, пулы шлюзов и виртуальные машины шлюза HNV, соответствующие пулам.
    - FabricConfig.psd1
    Шаблон файла конфигурации для скрипта SDNExpress. Вы будете настраивать это для вашей среды.
    - SDNExpressTenant.ps1
    Развертывает пример рабочей нагрузки клиента в виртуальной сети с балансировкой нагрузки ВИРТУАЛЬНЫМ IP-адресом.
    Кроме того, подготавливает одно или несколько сетевых подключений (VPN IPSec S2S, GRE, L3) на пограничных шлюзах поставщика услуг, подключенных к ранее созданной рабочей нагрузке клиента. Шлюзы IPSec и GRE доступны для подключения по соответствующему IP-адресу IP-адреса и шлюзу пересылки L3 по соответствующему пулу адресов.
    Этот скрипт можно использовать для удаления соответствующей конфигурации с параметром отмены.
    - TenantConfig.psd1
    Файл конфигурации шаблона для рабочей нагрузки клиента и конфигурации шлюза S2S.
    - SDNExpressUndo.ps1
    Очищает среду структуры и сбрасывает ее в начальное состояние.
    - SDNExpressEnterpriseExample.ps1
    Подготавливает одну или несколько корпоративных сред сайта с одним шлюзом удаленного доступа и (необязательно) одной соответствующей корпоративной виртуальной машиной на сайт. IPSec или корпоративные шлюзы GRE подключаются к соответствующему IP-адресу IP-адреса шлюза поставщика услуг, чтобы установить туннели S2S. Шлюз пересылки L3 подключается по соответствующему IP-адресу однорангового узла.
    Этот скрипт можно использовать для удаления соответствующей конфигурации с параметром отмены.
    - EnterpriseConfig.psd1
    Файл конфигурации шаблона для корпоративного шлюза типа "сеть — сеть" и конфигурации клиентской виртуальной машины.

    TenantApps Файлы, используемые для развертывания примеров рабочих нагрузок клиента.
  6. Убедитесь, что VHDX-файл Windows Server 2016 находится в папке "Образы ".

  7. Настройте файл SDNExpress\scripts\FabricConfig.psd1, изменив << теги Замены >> определенными значениями, чтобы соответствовать инфраструктуре лаборатории, включая имена узлов, доменные имена, имена пользователей и пароли, а также сведения о сети для сетей, перечисленных в разделе "Планирование сети".

  8. Создайте запись узла A в DNS для имени FQDN NetworkControllerRestName и NetworkControllerRestIP.

  9. Запустите скрипт от имени пользователя с учетными данными администратора домена:

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose
    
  10. Чтобы отменить все операции, выполните следующую команду:

 SDNExpress\scripts\SDNExpressUndo.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose

Проверка

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

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

Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller Rest Name>

Развертывание примера рабочей нагрузки клиента с помощью подсистемы балансировки нагрузки программного обеспечения

Теперь, когда развернуты ресурсы структуры, можно проверить комплексное развертывание SDN, разверив пример рабочей нагрузки клиента. Эта рабочая нагрузка клиента состоит из двух виртуальных подсетей (веб-уровней и уровня базы данных), защищенных с помощью правил списка контроль доступа (ACL) с помощью распределенного брандмауэра SDN. Виртуальная подсеть веб-уровня доступна через SLB/MUX с помощью виртуального IP-адреса. Сценарий автоматически развертывает две виртуальные машины веб-уровня и одну виртуальную машину уровня базы данных и подключает их к виртуальным подсетям.

  1. Настройте файл SDNExpress\scripts\TenantConfig.psd1, изменив << теги замены >> определенными значениями (например, имя образа VHD, имя REST контроллера сети, имя vSwitch и т. д., как ранее определено в файле FabricConfig.psd1).

  2. Выполните скрипт. Например:

    SDNExpress\scripts\SDNExpressTenant.ps1 -ConfigurationDataFile TenantConfig.psd1 -Verbose
    
  3. Чтобы отменить конфигурацию, выполните тот же сценарий с параметром отмены. Например:

    SDNExpress\scripts\SDNExpressTenant.ps1 -Undo -ConfigurationDataFile TenantConfig.psd1 -Verbose
    

Проверка

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

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

  2. Проверьте ресурсы клиента сетевого контроллера для любых ошибок. Выполните следующую команду из любого узла Hyper-V с подключением уровня 3 к сетевому контроллеру:

    Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller REST Name>
    
  3. Чтобы убедиться, что подсистема балансировки нагрузки работает правильно, выполните следующую команду из любого узла Hyper-V:

    wget <VIP IP address>/unique.htm -disablekeepalive -usebasicparsing
    

    где <VIP IP address> находится IP-адрес ВИРТУАЛЬНОго ip-адреса веб-уровня, настроенный в файле TenantConfig.psd1.

    Совет

    VIPIP Найдите переменную в TenantConfig.psd1.

    Запустите это несколько раз, чтобы просмотреть переключатель подсистемы балансировки нагрузки между доступными diPS. Это поведение также можно наблюдать с помощью веб-браузера. Перейдите в <VIP IP address>/unique.htm. Закройте браузер и откройте новый экземпляр и снова найдите его. Вы увидите синюю страницу и зеленую страницу, за исключением случаев, когда браузер кэширует страницу до истечения времени ожидания кэша.