Anycast nativo do Windows Server 2019/2022

O procedimento a seguir demonstra como o BGP nativo no Windows Server pode ser usado com o DNS do Anycast.

Requisitos

  • Windows Server 2022 (srvAnycast)
  • Windows Server 2022 (DC001)
  • Windows Server 2022 (DC002)
  • Windows Server 2019, Windows 10 ou posterior (srvCliente)

*Para instalações no Windows Server 2019, é necessário a instalação (https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe), antes de qualquer procedimento.

Defina as configurações de rede nas máquinas com as seguintes configurações:

srvAnycast

IP: 172.16.139.138
Mascara: 255.255.255.0
Gateway: 172.16.139.2
DNS: 172.16.139.2

DC001

IP: 172.16.139.139
Mascara: 255.255.255.0
Gateway: 172.16.139.2
DNS: 172.16.139.2

DC002

IP: 172.16.139.140
Mascara: 255.255.255.0
Gateway: 172.16.139.2
DNS: 172.16.139.2

srvCliente

IP: 172.16.139.141
Mascara: 255.255.255.0
Gateway: 172.16.139.138
DNS: 51.51.51.51

Configurar DNS

  • Instalar Active Directory Domain Services e promover para o controlador de domínio (opcional)
  • Instalar a função DNS (necessário) no DC1 e no DC2

Criar uma zona estática (não integrada ao AD) chamada teste.local no DC1 e no DC2

Install-WindowsFeature -Name DNS -IncludeManagementTools
Adicionar o servidor de nome de registro estático único na zona do tipo "TXT"
Dados (texto) para o registro TXT no DC001
Dados (texto) para o registro TXT no DC002

“Insira apenas uma entrada em cada DC, conforme o exemplo abaixo.”

Configurar adaptadores de loopback

Insira os comandos a seguir em um prompt com privilégios elevados do Windows PowerShell no DC1 e DC2 para configurar adaptadores de loopback.

Observação

O comando Install-Module necessita de acesso à Internet.

$primary_interface = (Get-NetAdapter |?{$_.Status -eq "Up" -and !$_.Virtual}).Name
$loopback_ipv4 = '51.51.51.51'
$loopback_ipv4_length = '32'
$loopback_name = 'Loopback'
Install-Module -Name LoopbackAdapter -MinimumVersion 1.2.0.0 -Force
Import-Module -Name LoopbackAdapter
New-LoopbackAdapter -Name $loopback_name -Force
$interface_loopback = Get-NetAdapter -Name $loopback_name
$interface_main = Get-NetAdapter -Name $primary_interface
Set-NetIPInterface -InterfaceIndex $interface_loopback.ifIndex -InterfaceMetric "254" -WeakHostReceive Enabled -WeakHostSend Enabled -DHCP Disabled
Set-NetIPInterface -InterfaceIndex $interface_main.ifIndex -WeakHostReceive Enabled -WeakHostSend Enabled
Set-NetIPAddress -InterfaceIndex $interface_loopback.ifIndex -SkipAsSource $True
Get-NetAdapter $loopback_name | Set-DNSClient –RegisterThisConnectionsAddress $False
New-NetIPAddress -InterfaceAlias $loopback_name -IPAddress $loopback_ipv4 -PrefixLength $loopback_ipv4_length -AddressFamily ipv4
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_msclient
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_pacer
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_server
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_lltdio
Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_rspndr

Configuração de roteamento

Usar os comandos do Windows PowerShell a seguir para configurar o roteamento.

srvAnycast

Install-WindowsFeature RemoteAccess
Install-WindowsFeature DirectAccess-VPN -IncludeManagementTool
Install-WindowsFeature Routing -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier "172.16.139.138" -LocalASN 8075
Add-BgpPeer -Name "DC001" -LocalIPAddress 172.16.139.138 -PeerIPAddress 172.16.139.139 -PeerASN 65511 –LocalASN 8075
Add-BgpPeer -Name "DC002" -LocalIPAddress 172.16.139.138 -PeerIPAddress 172.16.139.140 -PeerASN 65511 –LocalASN 8075

DC001

Install-WindowsFeature RemoteAccess
Install-WindowsFeature DirectAccess-VPN -IncludeManagementTool
Install-WindowsFeature Routing -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier "172.16.139.139" -LocalASN 65511
Add-BgpPeer -Name "Labgw" -LocalIPAddress 172.16.139.139 -PeerIPAddress 172.16.139.138 -PeerASN 8075 –LocalASN 65511
Add-BgpCustomRoute -Network 51.51.51.0/24

DC002

Install-WindowsFeature RemoteAccess
Install-WindowsFeature DirectAccess-VPN -IncludeManagementTool
Install-WindowsFeature Routing -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier "172.16.139.140" -LocalASN 65511
Add-BgpPeer -Name "Labgw" -LocalIPAddress 172.16.139.140 -PeerIPAddress 172.16.139.138 -PeerASN 8075 –LocalASN 65511
Add-BgpCustomRoute -Network 51.51.51.0/24

Demonstração DNS do Anycast (Verificar o roteamento BGP no servidor de gateway)

Get-BgpRouteInformation

No cliente, verifique se é possível alcançar 51.51.51.51

ping 51.51.51.51

Use nslookup ou dig para consultar o registro TXT. Exemplos dos dois são mostrados.

nslookup -type=txt teste.local 51.51.51.51

Em seguida, desabilite o adaptador Ethernet do servidor que respondeu. no nosso caso DC002, e agora verifique se o DC001 responde. Pode levar até 30 segundos para o comando responder.

*Habilite o adaptador Ethernet no DC2 novamente e confirme se a sessão BGP está restaurada e os clientes recebendo respostas DNS do DC2 novamente.

*Um cliente individual usará o mesmo servidor DNS de back-end se ele estiver disponível. Isso cria um caminho BGP consistente para o cliente.

Resolução de nomes

Dicas

choco install dependency-server2019