Implantar uma infraestrutura de rede definida pelo software usando scripts

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, versões 21H2 e 20H2

Neste tópico, você implantará uma infraestrutura de SDN (Rede Definida por Software) da Microsoft usando scripts. A infraestrutura inclui um controlador de rede (HA) altamente disponível, um SLB (Software Load Balancer de HA)/MUX, redes virtuais e ACLs (listas de Controle de Acesso) associadas. Além disso, outro script implanta uma carga de trabalho de locatário para você validar sua infraestrutura SDN.

Se você quiser que suas cargas de trabalho de locatário se comuniquem fora de suas redes virtuais, poderá configurar regras NAT SLB, túneis de Gateway site a site ou Encaminhamento de Camada 3 para rotear entre cargas de trabalho virtuais e físicas.

Você também pode implantar uma infraestrutura de SDN usando o VMM (Virtual Machine Manager). Para mais informações, confira Configurar uma infraestrutura de SDN (Rede Definida por Software) na malha do VMM.

Pré-implantação

Importante

Antes de começar a implantação, você deve planejar e configurar os hosts e a infraestrutura da rede física. Para obter mais informações, confira Planejar a infraestrutura de rede definida por software.

Todos os hosts Hyper-V devem ter o Windows Server 2019 ou 2016 instalado.

Etapas de implantação.

Comece configurando o comutador virtual hyper-V do host Hyper-V (servidores físicos) e a atribuição de endereço IP. Qualquer tipo de armazenamento compatível com o Hyper-V, compartilhado ou local pode ser usado.

Instalar a rede do host

  1. Instale os drivers de rede mais recentes disponíveis para seu hardware NIC.

  2. Instale a função Hyper-V em todos os hosts (para mais informações, confira Introdução ao Hyper-V em Windows Server 2016.

    Install-WindowsFeature -Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools -Restart
    
  3. Criar o comutador virtual do Hyper-V.

    Use o mesmo nome de comutador para todos os hosts, por exemplo, sdnSwitch. Configure pelo menos um adaptador de rede ou, se estiver usando SET, configure pelo menos dois adaptadores de rede. A distribuição máxima de entrada ocorre ao usar duas NICs.

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

    Dica

    Você pode ignorar as etapas 4 e 5 se tiver NICs de Gerenciamento separadas.

  4. Confira o tópico de planejamento (Planejar uma infraestrutura de rede definida por software) e trabalhe com o administrador de rede para obter a ID de VLAN da VLAN de Gerenciamento. Anexe a vNIC de Gerenciamento do Comutador Virtual recém-criado à VLAN de Gerenciamento. Essa etapa poderá ser omitida se o ambiente não usar marcas VLAN.

    Set-VMNetworkAdapterIsolation -ManagementOS -IsolationMode Vlan -DefaultIsolationID <Management VLAN> -AllowUntaggedTraffic $True
    
  5. Confira o tópico de planejamento (planejar uma infraestrutura de rede definida por software) e trabalhe com o administrador de rede para usar atribuições de IP estático ou DHCP para atribuir um endereço IP à vNIC de Gerenciamento do vSwitch recém-criado. O seguinte exemplo mostra como criar um endereço IP estático e atribuí-lo à vNIC de Gerenciamento do vSwitch:

    New-NetIPAddress -InterfaceAlias "vEthernet (<switch name>)" -IPAddress <IP> -DefaultGateway <Gateway IP> -AddressFamily IPv4 -PrefixLength <Length of Subnet Mask - for example: 24>
    
  6. [Opcional] Implante uma máquina virtual para hospedar Active Directory Domain Services (Instalar Active Directory Domain Services (Nível 100) e um Servidor DNS.

    a. Conecte a máquina virtual do Active Directory/servidor DNS à VLAN de Gerenciamento:

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

    b. Instalar o Active Directory Domain Services e o DNS.

    Observação

    O controlador de rede dá suporte a certificados Kerberos e X.509 para autenticação. Este guia usa os dois mecanismos de autenticação para diferentes fins (embora apenas um seja necessário).

  7. Junte todos os hosts Hyper-V ao domínio. Verifique se a entrada do servidor DNS para o adaptador de rede que tem um endereço IP atribuído à rede gerenciamento aponta para um servidor DNS que pode resolver o nome de domínio.

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

    a. Clique com o botão direito do mouse em Iniciar, clique em Sistema e clique em Alterar Configurações. b. Clique em Alterar. c. Clique em Domínio e especifique o nome de domínio. """" d. Clique em OK. e. Digite o nome de usuário e as credenciais de senha quando solicitado. f. Reinicie o servidor.

Validação

Use as etapas a seguir para validar se a rede de host está configurada corretamente.

  1. Verifique se o Comutador de VM foi criado com êxito:

    Get-VMSwitch "<switch name>"
    
  2. Verifique se o vNIC de Gerenciamento no Comutador de VM está conectado à VLAN de Gerenciamento:

    Observação

    Relevante somente se o gerenciamento e o tráfego de locatário compartilharem a mesma NIC.

    Get-VMNetworkAdapterIsolation -ManagementOS
    
  3. Valide todos os hosts Hyper-V e recursos de gerenciamento externo, por exemplo, servidores DNS.

    Verifique se eles estão acessíveis por meio do ping usando seu endereço IP de gerenciamento e/ou FQDN (nome de domínio totalmente qualificado).

    ping <Hyper-V Host IP>
    ping <Hyper-V Host FQDN>
    
  4. Execute o comando a seguir no host de implantação e especifique o FQDN de cada host Hyper-V para garantir que as credenciais Kerberos usadas forneçam acesso a todos os servidores.

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

Executar scripts do SDN Express

  1. Acesse o Repositório GitHub do SDN da Microsoft para obter os arquivos de instalação.

  2. Baixe os arquivos de instalação do repositório para o computador de implantação designado. Clique em Clonar ou baixar e clique em Baixar ZIP.

    Observação

    O computador de implantação designado deve estar executando o Windows Server 2016 ou posterior.

  3. Expanda o arquivo zip e copie a pasta SDNExpress para a pasta C:\ do computador de implantação.

  4. Compartilhe a pasta C:\SDNExpress como "SDNExpress" com permissão para TodosLerem/Gravarem.

  5. Navegue até a pasta C:\SDNExpress.

    Você verá as seguintes pastas:

    Nome da Pasta Descrição
    AgentConf Contém novas cópias de esquemas OVSDB usados pelo Agente host do SDN em cada Windows Server 2016 host Hyper-V para programar a política de rede.
    Certificados Local compartilhado temporário para o arquivo de certificado NC.
    Imagens Vazio, coloque sua imagem vhdx Windows Server 2016 aqui
    Ferramentas Utilitários para solução de problemas e depuração. Copiado para os hosts e máquinas virtuais. Recomendamos que você coloque o Monitor de Rede ou o Wireshark aqui para que ele esteja disponível, se necessário.
    Scripts Scripts de implantação.

    - SDNExpress.ps1
    Implanta e configura a malha, incluindo as máquinas virtuais do controlador de rede, as máquinas virtuais do SLB Mux, os pools de gateway e as máquinas virtuais do gateway HNV correspondentes aos pools.
    - FabricConfig.psd1
    Um modelo de arquivo de configuração para o script SDNExpress. Você personalizará isso para seu ambiente.
    - SDNExpressTenant.ps1
    Implanta uma carga de trabalho de locatário de exemplo em uma rede virtual com um VIP com balanceamento de carga.
    Também provisiona uma ou mais conexões de rede (VPN S2S IPSec, GRE, L3) nos gateways de borda do provedor de serviços conectados à carga de trabalho de locatário criada anteriormente. Os gateways IPSec e GRE estão disponíveis para conectividade pelo endereço IP VIP correspondente e o gateway de encaminhamento L3 pelo pool de endereços correspondente.
    Esse script também pode ser usado para excluir a configuração correspondente com uma opção Desfazer.
    - TenantConfig.psd1
    Um arquivo de configuração de modelo para a carga de trabalho de locatário e a configuração do gateway S2S.
    - SDNExpressUndo.ps1
    Limpa o ambiente de malha e o redefine para um estado inicial.
    - SDNExpressEnterpriseExample.ps1
    Provisiona um ou mais ambientes de site corporativo com um Gateway de Acesso Remoto e (opcionalmente) uma máquina virtual corporativa correspondente por site. Os gateways corporativos IPSec ou GRE se conectam ao endereço IP VIP correspondente do gateway do provedor de serviços para estabelecer os túneis S2S. O Gateway de Encaminhamento L3 se conecta pelo endereço IP par correspondente.
    Esse script também pode ser usado para excluir a configuração correspondente com uma opção Desfazer.
    - EnterpriseConfig.psd1
    Um arquivo de configuração de modelo para o gateway site a site empresarial e a configuração da VM cliente.

    TenantApps Arquivos usados para implantar cargas de trabalho de locatário de exemplo.
  6. Verifique se o arquivo VHDX Windows Server 2016 está na pasta Imagens.

  7. Personalize o arquivo SDNExpress\scripts\FabricConfig.psd1 alterando as marcas << Replace >> por valores específicos para se ajustar à infraestrutura de laboratório, incluindo nomes de host, nomes de domínio, nomes de usuário e senhas e informações de rede para as redes listadas no tópico Rede de Planejamento.

  8. Crie um registro host A no DNS para o FQDN (NetworkControllerRestName) e NetworkControllerRestIP.

  9. Execute o script como um usuário com credenciais de administrador de domínio:

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose
    
  10. Para desfazer todas as operações, execute o seguinte comando:

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

Validação

Supondo que o script SDN Express tenha sido executado até a conclusão sem relatar erros, você pode executar a etapa a seguir para garantir que os recursos de malha tenham sido implantados corretamente e estejam disponíveis para implantação de locatário.

Use as Ferramentas de Diagnóstico para garantir que não haja erros em nenhum recurso de malha no controlador de rede.

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

Implantar uma carga de trabalho de locatário de exemplo com o balanceador de carga de software

Agora que os recursos de malha foram implantados, você pode validar a implantação do SDN de ponta a ponta implantando uma carga de trabalho de locatário de exemplo. Essa carga de trabalho de locatário consiste em duas sub-redes virtuais (camada da Web e camada de banco de dados) protegidas por meio de regras de ACL (Lista de Controle de Acesso) usando o firewall distribuído do SDN. A sub-rede virtual da camada da Web é acessível por meio do SLB/MUX usando um endereço IP virtual (VIP). O script implanta automaticamente duas máquinas virtuais de camada da Web e uma máquina virtual da camada de banco de dados e as conecta às sub-redes virtuais.

  1. Personalize o arquivo SDNExpress\scripts\TenantConfig.psd1 alterando as marcas << Replace >> por valores específicos (por exemplo: nome da imagem VHD, nome REST do controlador de rede, nome do vSwitch etc. conforme definido anteriormente no arquivo FabricConfig.psd1)

  2. Execute o script. Por exemplo:

    SDNExpress\scripts\SDNExpressTenant.ps1 -ConfigurationDataFile TenantConfig.psd1 -Verbose
    
  3. Para desfazer a configuração, execute o mesmo script com o parâmetro desfazer. Por exemplo:

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

Validação

Para validar se a implantação do locatário foi bem-sucedida, faça o seguinte:

  1. Faça logon na máquina virtual da camada de banco de dados e tente executar ping no endereço IP de uma das máquinas virtuais da camada da Web (verifique se o Firewall do Windows está desativado em máquinas virtuais da camada da Web).

  2. Verifique se há erros nos recursos do locatário do controlador de rede. Execute o seguinte de qualquer host Hyper-V com conectividade de Camada 3 com o controlador de rede:

    Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller REST Name>
    
  3. Para verificar se o balanceador de carga está sendo executado corretamente, execute o seguinte em qualquer host Hyper-V:

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

    em que <VIP IP address> é o endereço IP VIP da camada da Web configurado no arquivo TenantConfig.psd1.

    Dica

    Pesquise a variável VIPIP em TenantConfig.psd1.

    Execute isso várias vezes para ver a opção de balanceador de carga entre os DIPs disponíveis. Você também pode observar esse comportamento usando um navegador da Web. Navegue até <VIP IP address>/unique.htm. Feche o navegador, abra uma nova instância e navegue novamente. Você verá a página azul e a página verde como alternativa, exceto quando o navegador armazenar a página em cache antes do cache atingir o tempo limite.