Ereignisse
29. Apr., 14 Uhr - 30. Apr., 19 Uhr
Nehmen Sie am ultimativen virtuellen Windows Server-Ereignis vom 29. bis 30. April teil, um technische Deep-Dive-Sitzungen und Live-Q&A mit Microsoft-Technikern zu erhalten.
Jetzt anmeldenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Dieses Thema enthält Informationen zur Funktionsweise von Anycast DNS.
Anycast ist eine Technologie, mit der mehrere Routingpfade für eine Gruppe von Endpunkten bereitgestellt werden, denen jeweils dieselbe IP-Adresse zugewiesen ist. Jedes Gerät in der Gruppe gibt dieselbe Adresse in einem Netzwerk an, und Routingprotokolle werden zur Auswahl des besten Ziels verwendet.
Mit Anycast können Sie einen zustandslosen Dienst wie DNS oder HTTP skalieren, indem Sie mehrere Knoten hinter derselben IP-Adresse platzieren und ECMP-Routing (Equal-Cost Multi-Path) verwenden, um Datenverkehr zwischen diesen Knoten weiterzuleiten. Anycast unterscheidet sich von der Unicast-Adressierung, bei der jeder Endpunkt über eine eigene, separate IP-Adresse verfügt.
Mit Anycast DNS können Sie einen DNS-Server oder eine Gruppe von Servern aktivieren, um auf DNS-Abfragen basierend auf dem geografischen Standort eines DNS-Clients zu reagieren. Dies kann die DNS-Antwortzeit verbessern und die DNS-Clienteinstellungen vereinfachen. Anycast DNS bietet auch eine zusätzliche Redundanzebene und kann zum Schutz vor DNS-Denial-of-Service-Angriffen beitragen.
Bei Anycast DNS werden Routingprotokolle wie das Border Gateway Protocol (BGP) dazu verwendet, DNS-Abfragen an einen bevorzugten DNS-Server oder eine Gruppe von DNS-Servern zu senden (z. B. eine Gruppe von DNS-Servern, die von einem Lastenausgleich verwaltet werden). Mithilfe dieses Designs kann die DNS-Kommunikation optimiert werden, indem DNS-Antworten von einem DNS-Server abgerufen werden, der einem Client am nächsten ist.
Bei Anycast kündigen Server, die an mehreren geografischen Standorten vorhanden sind, jeweils eine einzelne, identische IP-Adresse für ihr lokales Gateway (Router) an. Wenn von einem DNS-Client eine Abfrage an die Anycast-Adresse initiiert wird, werden die verfügbaren Routen ausgewertet, und die DNS-Abfrage wird an den bevorzugten Standort gesendet. Im Allgemeinen ist dies der nächstgelegene Standort basierend auf der Netzwerktopologie. Siehe folgendes Beispiel.
Abbildung 1: Anycast-Beispielnetzwerk
Anycast DNS wird heute häufig dazu verwendet, DNS-Datenverkehr für viele globale DNS-Dienste weiterzuleiten. Beispielsweise hängt das DNS-Stammserversystem stark von Anycast DNS ab. Anycast funktioniert auch mit einer Vielzahl von Routingprotokollen und kann ausschließlich in Intranets verwendet werden.
Das folgende Verfahren veranschaulicht, wie natives BGP unter Windows Server mit Anycast DNS verwendet werden kann.
Konfigurieren Sie den Hyper-V-Server wie folgt:
Konfigurieren Sie die Netzwerkeinstellungen auf den virtuellen Computern wie folgt:
*Verwenden Sie zunächst 10.10.10.1 für DNS, wenn Sie den Domänenbeitritt für DC002 durchführen, damit Sie die Active Directory-Domäne auf DC001 suchen können.
Verwenden Sie den Server-Manager und die DNS-Verwaltungskonsole oder Windows PowerShell, um die folgenden Serverrollen zu installieren und eine statische DNS-Zone auf jedem der beiden Server zu erstellen.
Geben Sie die folgenden Befehle an einer Windows PowerShell-Eingabeaufforderung für DC001 und DC002 ein, um Loopbackadapter zu konfigurieren.
Hinweis
Für den Befehl Install-Module ist Internetzugriff erforderlich. Dies kann durch vorübergehendes Zuweisen der VM zu einem externen Netzwerk in Hyper-V erfolgen.
$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
Verwenden Sie zur Routingkonfiguration die folgenden Windows PowerShell-Befehle auf virtuellen Computern.
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier “10.10.10.254” -LocalASN 8075
Add-BgpPeer -Name "DC001" -LocalIPAddress 10.10.10.254 -PeerIPAddress 10.10.10.1 -PeerASN 65511 –LocalASN 8075
Add-BgpPeer -Name "DC002" -LocalIPAddress 10.10.10.254 -PeerIPAddress 10.10.10.2 -PeerASN 65511 –LocalASN 8075
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier “10.10.10.1” -LocalASN 65511
Add-BgpPeer -Name "Labgw" -LocalIPAddress 10.10.10.1 -PeerIPAddress 10.10.10.254 -PeerASN 8075 –LocalASN 65511
Add-BgpCustomRoute -Network 51.51.51.0/24
Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-RemoteAccess -VpnType RoutingOnly
Add-BgpRouter -BgpIdentifier "10.10.10.2" -LocalASN 65511
Add-BgpPeer -Name "Labgw" -LocalIPAddress 10.10.10.2 -PeerIPAddress 10.10.10.254 -PeerASN 8075 –LocalASN 65511
Add-BgpCustomRoute -Network 51.51.51.0/24
Abbildung 2: Lab-Setup für native BGP Anycast DNS-Demo
Überprüfen Sie das BGP-Routing auf dem Gatewayserver.
PS C:\> Get-BgpRouteInformation
DestinationNetwork NextHop LearnedFromPeer State LocalPref MED
------------------ ------- --------------- ----- --------- ---
51.51.51.0/24 10.10.10.1 DC001 Best
51.51.51.0/24 10.10.10.2 DC002 Best
Überprüfen Sie auf client1 und client2, ob Sie 51.51.51.51 erreichen können.
PS C:\> ping 51.51.51.51
Pingen von 51.51.51.51 mit 32 Bytes Daten:
Antwort von 51.51.51.51: bytes=32 time<1ms TTL=126
Antwort von 51.51.51.51: bytes=32 time<1ms TTL=126
Antwort von 51.51.51.51: bytes=32 time<1ms TTL=126
Antwort von 51.51.51.51: bytes=32 time<1ms TTL=126
Pingstatistik für 51.51.51.51:
Gesendet = 4, Empfangen = 4, Verloren = 0 (0 % Verlust),
Ungefähre Roundtripzeiten in Millisekunden:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms
Hinweis
Wenn ein Pingfehler auftritt, vergewissern Sie sich außerdem, dass keine Firewallregeln vorhanden sind, die ICMP blockieren.
Verwenden Sie auf client1 und client2 nslookup oder dig, um den TXT-Eintrag abzufragen. Beispiele für beides sind unten dargestellt.
PS C:\> dig server.zone.tst TXT +short
PS C:\> nslookup -type=txt server.zone.tst 51.51.51.51
Für eine Client wird „DC001“ und für den anderen Client „DC002“ angezeigt. Dies dient der Sicherstellung, dass Anycast ordnungsgemäß funktioniert. Sie können auch Abfragen vom Gatewayserver ausführen.
Deaktivieren Sie als Nächstes den Ethernet-Adapter auf DC001.
PS C:\> (Get-NetAdapter).Name
Loopback
Ethernet 2
PS C:\> Disable-NetAdapter "Ethernet 2"
Confirm
Möchten Sie diese Aktion wirklich ausführen?
Disable-NetAdapter 'Ethernet 2'
[Y] Ja [A] Ja, alle [N] Nein [L] Nein für alle [S] Anhalten [?] Hilfe (Standardeinstellung ist „Y“):
PS C:\> (Get-NetAdapter).Status
Nach oben
Disabled
Vergewissern Sie sich, dass DNS-Clients, die zuvor Antworten von DC001 empfangen haben, zu DC002 gewechselt sind.
PS C:\> nslookup -type=txt server.zone.tst 51.51.51.51
Server: unbekannt
Adresse: 51.51.51.51
server.zone.tst text =
"DC001"
PS C:\> nslookup -type=txt server.zone.tst 51.51.51.51
Server: unbekannt
Adresse: 51.51.51.51
server.zone.tst text =
"DC002"
Vergewissern Sie sich, dass die BGP-Sitzung auf DC001 ausgefallen ist, indem Sie Get-BgpStatistics auf dem Gatewayserver verwenden.
Aktivieren Sie den Ethernet-Adapter auf DC001 wieder, und vergewissern Sie sich, dass die BGP-Sitzung wiederhergestellt wurde und Clients wieder DNS-Antworten von DC001 empfangen.
Hinweis
Wenn kein Lastenausgleich angewendet wird, verwendet ein einzelner Client denselben Back-End-DNS-Server, sofern verfügbar. Dadurch wird ein konsistenter BGP-Pfad für den Client erstellt. Weitere Informationen finden Sie im Abschnitt 4.4.3 von RFC4786: Equal-Cost-Pfade.
F: Ist Anycast DNS eine gute Lösung für die Verwendung in einer lokalen DNS-Umgebung?
A: Anycast DNS funktioniert nahtlos mit einem lokalen DNS-Dienst. Für die Skalierung des DNS-Diensts ist Anycast jedoch nicht erforderlich.
F: Welche Auswirkungen hat die Implementierung von Anycast DNS in einer Umgebung mit einer großen Anzahl von Domänencontrollern (z. B. > 50)?
A: Es gibt keine direkten Auswirkungen auf die Funktionalität. Wenn ein Lastenausgleich verwendet wird, ist keine zusätzliche Konfiguration auf Domänencontrollern erforderlich.
F: Wird eine Anycast DNS-Konfiguration vom Microsoft-Kundenservice unterstützt?
A: Wenn Sie einen Nicht-Microsoft-Lastenausgleich verwenden, um DNS-Abfragen weiterzuleiten, bietet Microsoft Unterstützung für Probleme im Zusammenhang mit dem DNS-Serverdienst. Wenden Sie sich bei Problemen im Zusammenhang mit der DNS-Weiterleitung an den Anbieter des Lastenausgleichs.
F: Was ist die bewährte Methode für Anycast DNS mit einer großen Anzahl von Domänencontrollern (z. B. > 50)?
A: Die bewährte Methode besteht darin, an jedem geografischen Standort einen Lastenausgleich zu verwenden. Lastenausgleichsmodule werden in der Regel von einem externen Anbieter bereitgestellt.
F: Verfügen Anycast DNS und Azure DNS über ähnliche Funktionen?
A: Azure DNS verwendet Anycast. Wenn Sie Anycast mit Azure DNS verwenden möchten, müssen Sie den Lastenausgleich so konfigurieren, dass Anforderungen an den Azure DNS-Server weitergeleitet werden.
Ereignisse
29. Apr., 14 Uhr - 30. Apr., 19 Uhr
Nehmen Sie am ultimativen virtuellen Windows Server-Ereignis vom 29. bis 30. April teil, um technische Deep-Dive-Sitzungen und Live-Q&A mit Microsoft-Technikern zu erhalten.
Jetzt anmeldenTraining
Modul
Implementieren von DNS für Windows Server-IaaS-VMs - Training
Implementieren von DNS für Windows Server-IaaS-VMs
Zertifizierung
Microsoft Certified: Azure Network Engineer Associate - Certifications
Zeigen Sie Ihre Kenntnisse zu Entwurf, Implementierung und Wartung der Azure-Netzwerkinfrastruktur, zum Lastenausgleich für Datenverkehr, zum Netzwerkrouting u. v. m.