Anycast DNS overview

  • 10/23/2020
  • 7 luettavat minuutit

koskee: Windows Server (puolivuosittainen kanava), Windows Server 2016, Windows Server 2019

tämä aihe tarjoaa tietoa siitä, miten Anycast DNS toimii.

mikä on Anycast?

Anycast on tekniikka, joka tarjoaa useita reitityspolkuja päätepisteiden ryhmälle, joille kullekin on annettu sama IP-osoite. Jokainen ryhmän laite mainostaa samaa osoitetta verkossa, ja reititysprotokollia käytetään valitsemaan, mikä on paras kohde.

Anycast mahdollistaa tilattoman palvelun, kuten DNS: n tai HTTP: n, skaalaamisen sijoittamalla useita solmuja saman IP-osoitteen taakse ja käyttämällä ecmp: n (equal-cost multi-path) reititystä näiden solmujen välisen liikenteen ohjaamiseen. Anycast eroaa unicastista, jossa jokaisella päätepisteellä on oma, erillinen IP-osoitteensa.

Miksi käyttää Anycastia DNS: n kanssa?

anycast DNS: llä voit ottaa käyttöön DNS-palvelimen tai palvelinryhmän vastaamaan DNS-kyselyihin DNS-asiakkaan maantieteellisen sijainnin perusteella. Tämä voi parantaa DNS-vasteaikaa ja yksinkertaistaa DNS-asiakasasetuksia. Anycast DNS tarjoaa myös ylimääräisen kerroksen irtisanomisia ja voi auttaa suojaamaan DNS palvelunestohyökkäyksiä.

miten Anycast DNS toimii

Anycast DNS toimii käyttämällä reititysprotokollia, kuten Border Gateway Protocol (BGP) lähettää DNS-kyselyjä suositellulle DNS-palvelimelle tai DNS-palvelinten ryhmälle (esim.: ryhmä DNS-palvelimia, joita hallinnoi kuorman tasapainottaja). Tämä voi optimoida DNS viestinnän saamalla DNS vastauksia DNS-palvelin, joka on lähimpänä asiakasta.

Anycast-palvelimilla useissa maantieteellisissä paikoissa olevat palvelimet mainostavat kukin yhtä, identtistä IP-osoitetta paikalliselle yhdyskäytävälleen (reitittimelle). Kun DNS-asiakas käynnistää kyselyn Anycast-osoitteeseen, käytettävissä olevat reitit arvioidaan ja DNS-kysely lähetetään haluttuun paikkaan. Yleensä tämä on lähin sijainti verkkotopologian perusteella. Katso seuraava esimerkki.

neljä eri sivustoilla sijaitsevaa DNS-palvelinta ilmoittaa verkkoon saman Anycast-IP-osoitteen

Kuva 1: Neljä verkon eri sivustoilla sijaitsevaa DNS-palvelinta ilmoittaa verkkoon saman Anycast-IP-osoitteen (mustat nuolet). DNS-asiakaslaite lähettää pyynnön Anycast IP-osoitteeseen. Verkkolaitteet analysoivat käytettävissä olevat reitit ja lähettävät asiakkaan DNS-kyselyn lähimpään paikkaan (sininen nuoli).

Anycast DNS: ää käytetään nykyään yleisesti DNS-liikenteen reitittämiseen monissa maailmanlaajuisissa DNS-palveluissa. Esimerkiksi, root DNS-palvelinjärjestelmä riippuu voimakkaasti Anycast DNS. Anycast toimii myös erilaisten reititysprotokollien kanssa ja sitä voidaan käyttää ainoastaan intraneteissä.

Windows Server natiivi BGP Anycast demo

seuraava menettely osoittaa, miten natiivi BGP Windows Server voidaan käyttää Anycast DNS.

vaatimukset

  • yksi fyysinen laite, johon on asennettu Hyper-V-rooli.
    • Windows Server 2012 R2, Windows 10 tai uudempi.
  • 2 client VMs (mikä tahansa käyttöjärjestelmä).
    • suositellaan SIDONTATYÖKALUJEN asentamista DNS: lle, kuten digille.
  • 3 server VMs (Windows Server 2016 tai Windows Server 2019).
    • jos Windows PowerShell LoopbackAdapter-moduulia ei ole vielä asennettu server VMs: ään (DC001, DC002), Tämän moduulin asentaminen edellyttää tilapäisesti Internet-yhteyttä.

Hyper-V-asetukset

Määritä Hyper-V-palvelin seuraavasti:

  • 2 Yksityiset virtuaalikytkinverkot on konfiguroitu
    • Vale-Internet-verkko 131.253.1.0 / 24
    • Vale-intranet-verkko 10.10.10.0/24
  • 2 asiakas VMs on liitetty 131.253.1.0/24 verkkoon
  • 2 palvelimen VMs on liitetty 10.10.10.0/24 verkkoon
  • 1 palvelin on dual-homed ja liitetty sekä 131.253.1.0/24 ja 10.10.10.0 / 24 verkkoihin.

Virtual machine network configuration

Configure network settings on virtual machines with the following settings:

  1. Asiakaskunta1, asiakaskunta2
  • Client1: 131.253.1.1
  • Client2: 131.253.1.2
  • aliverkon peite: 255.255.0
  • DNS: 51.51.51.51
  • Gateway: 131.253.1.254
  1. yhdyskäytävä (Windows Server)
  • NIC1: 131.253.1.254, aliverkko 255.255.255.0
  • NIC2: 10.10.10.254, aliverkko 255.255.255.0
  • DNS: 51.51.51
  • Gateway: 131.253.1.100 (voidaan jättää huomiotta demossa)
  1. DC001 (Windows Server)
  • NIC1: 10.10.10.1
  • aliverkko: 255.255.255.0
  • DNS: 10.10.1
  • Gateway: 10.10.10.254
  1. DC002 (Windows Server)
  • NIC1: 10.10.10.2
  • aliverkko 255.255.255.0
  • DNS: 10.10.10.2 *
  • Gateway: 10.10.10.254

*käytä 10.10.10.1 DNS aluksi suorittaessasi domain join for DC002, jotta voit paikantaa Active Directory-toimialueen dc001: ssä.

Configure DNS

Use Server Manager and the DNS management console or Windows PowerShell to install the following server role and create a staattinen DNS zone on each of two servers.

  1. DC001, DC002
  • Asenna Active Directory-toimialueen palvelut ja edistä toimialueen ohjaimeen (valinnainen)
  • Asenna DNS-rooli (pakollinen)
  • luo staattinen vyöhyke (ei-AD integroitu) nimeltä vyöhyke.tst sekä dc001 että dc002
    • lisää staattisen tietueen nimipalvelin vyöhykkeelle ” TXT ”
    • tiedot (teksti) TXT-tietueelle dc001 = DC001
    • tiedot (teksti) TXT-tietueelle dc002 = DC002

Määritä loopback adapterit

anna seuraavat komennot korotetulla Windows PowerShell-kehote dc001 ja DC002 määrittää loopback adapterit.

Huomautus

Install-Module-komento vaatii Internet-yhteyden. Tämä voidaan tehdä määräämällä VM väliaikaisesti ulkoiseen verkkoon Hyper-V: ssä.

$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 -ForceImport-Module -Name LoopbackAdapterNew-LoopbackAdapter -Name $loopback_name -Force$interface_loopback = Get-NetAdapter -Name $loopback_name$interface_main = Get-NetAdapter -Name $primary_interfaceSet-NetIPInterface -InterfaceIndex $interface_loopback.ifIndex -InterfaceMetric "254" -WeakHostReceive Enabled -WeakHostSend Enabled -DHCP DisabledSet-NetIPInterface -InterfaceIndex $interface_main.ifIndex -WeakHostReceive Enabled -WeakHostSend EnabledSet-NetIPAddress -InterfaceIndex $interface_loopback.ifIndex -SkipAsSource $TrueGet-NetAdapter $loopback_name | Set-DNSClient –RegisterThisConnectionsAddress $FalseNew-NetIPAddress -InterfaceAlias $loopback_name -IPAddress $loopback_ipv4 -PrefixLength $loopback_ipv4_length -AddressFamily ipv4Disable-NetAdapterBinding -Name $loopback_name -ComponentID ms_msclientDisable-NetAdapterBinding -Name $loopback_name -ComponentID ms_pacerDisable-NetAdapterBinding -Name $loopback_name -ComponentID ms_serverDisable-NetAdapterBinding -Name $loopback_name -ComponentID ms_lltdioDisable-NetAdapterBinding -Name $loopback_name -ComponentID ms_rspndr

Virtual machine routing configuration

käytä seuraavia Windows PowerShell-komentoja VMS: ssä reitityksen määrittämiseen.

  1. Gateway
Install-WindowsFeature RemoteAccess -IncludeManagementToolsInstall-RemoteAccess -VpnType RoutingOnlyAdd-BgpRouter -BgpIdentifier "10.10.10.254" -LocalASN 8075Add-BgpPeer -Name "DC001" -LocalIPAddress 10.10.10.254 -PeerIPAddress 10.10.10.1 -PeerASN 65511 –LocalASN 8075
  1. DC001
Install-WindowsFeature RemoteAccess -IncludeManagementToolsInstall-RemoteAccess -VpnType RoutingOnlyAdd-BgpRouter -BgpIdentifier "10.10.10.1" -LocalASN 65511Add-BgpPeer -Name "Labgw" -LocalIPAddress 10.10.10.1 -PeerIPAddress 10.10.10.254 -PeerASN 8075 –LocalASN 65511Add-BgpCustomRoute -Network 51.51.51.0/24
  1. DC002
Install-WindowsFeature RemoteAccess -IncludeManagementToolsInstall-RemoteAccess -VpnType RoutingOnlyAdd-BgpRouter -BgpIdentifier "10.10.10.2" -LocalASN 65511Add-BgpPeer -Name "Labgw" -LocalIPAddress 10.10.10.2 -PeerIPAddress 10.10.10.254 -PeerASN 8075 –LocalASN 65511Add-BgpCustomRoute -Network 51.51.51.0/24

Summary diagram

Lab setup for native BGP Anycast DNS demo

kuva 2: Lab setup for native BGP Anycast DNS demo

Anycast DNS demonstration

  1. varmista BGP-reititys gateway-palvelimella

    PS C:> Get-BgpRouteInformation

    DestinationNetwork next Toopper State LocalPref MED
    —————— ——- ————— —– ——— —
    51.51.51.0/24 10.10.10.1 DC001 paras
    51.51.51.0 / 24 10.10.10.2 Dc002 paras

  2. Client1 ja client2, varmista, että voit saavuttaa 51.51.51.51

    PS C:> ping 51.51.51.51

    Pinging 51.51.51.51 32 tavua tietoa:
    vastaus 51.51.51: tavua=32 aika<1ms TTL=126
    vastaus 51.51.51.51: tavua=32 aika<1ms TTL=126
    vastaus 51.51.51.51: tavu=32 aika<1ms TTL=126
    vastaus 51.51.51.51: tavu=32 aika<1ms TTL=126

    Ping-tilastot 51.51.51.51:
    paketit: lähetetty = 4, vastaanotettu = 4, menetetty = 0 (0% menetys),
    likimääräiset edestakaiset ajat Milli-sekunnit:
    minimi = 0MS, maksimi = 0MS, average = 0MS

    huomautus

    jos Ping epäonnistuu, tarkista myös, ettei ICMP: tä estäviä palomuurisääntöjä ole.

  3. päällä client1 ja client2, käytä nslookup tai kaivaa kysellä TXT tietuetta. Esimerkkejä molemmista on esitetty alla.

    PS C:> dig server.Aikavyöhyke.tst TXT + short
    PS C:> nslookup-type=txt server.Aikavyöhyke.tst 51.51.51.51

    yksi asiakas näyttää ”DC001” ja toinen asiakas näyttää ”DC002” varmistaen, että Anycast toimii oikein. Voit myös kysyä gateway-palvelimelta.

  4. seuraava, poista Ethernet-sovitin dc001.

    PS C:> (Get-NetAdapter).Name
    Loopback
    Ethernet 2
    PS C:> Disable-NetAdapter ”Ethernet 2”
    Confirm
    Oletko varma, että haluat suorittaa tämän toiminnon?
    Disable-NetAdapter ’Ethernet 2’
    Yes Yes To All No no to All Suspend Help (oletusarvo on ”Y”):
    PS C:> (Get-NetAdapter).Status
    Up
    poistettu käytöstä

  5. Vahvista, että DNS-asiakkaat, jotka aiemmin saivat vastauksia dc001: ltä, ovat siirtyneet käyttämään dc002: ta.

    PS C:> nslookup-type=txt-palvelin.Aikavyöhyke.tst 51.51.51.51
    palvelin: tuntematon
    osoite: 51.51.51.51

    palvelin.Aikavyöhyke.tst text =

    ”DC001”
    PS C:> nslookup-type=txt server.Aikavyöhyke.tst 51.51.51.51
    palvelin: tuntematon
    osoite: 51.51.51.51

    palvelin.Aikavyöhyke.tst text =

    ”DC002”

  6. Vahvista, että BGP-istunto on alhaalla dc001: ssä käyttämällä Gateway-palvelimen Get-Bgpstatistiikkaa.

  7. ota Ethernet-sovitin uudelleen käyttöön dc001: ssä ja vahvista, että BGP-istunto on palautettu ja asiakkaat saavat DNS-vastauksia dc001: ltä uudelleen.

Huomautus

jos kuormanalenninta ei käytetä, yksittäinen asiakas käyttää samaa back-end DNS-palvelinta, jos se on käytettävissä. Tämä luo asiakkaalle yhtenäisen BGP-polun. Lisätietoja, KS.kohta 4. 4.3 of RFC4786: yhtäläiset kustannukset polkuja.

Frequently asked questions

K: Onko Anycast DNS hyvä ratkaisu käyttää paikan päällä olevassa DNS-ympäristössä?
A: Anycast DNS toimii saumattomasti tiloissa toimivan DNS-palvelun kanssa. Kuitenkin, Anycast ei tarvitse DNS palvelun skaalata.

Q: Mikä on Anycast DNS: n käyttöönoton vaikutus ympäristössä, jossa on suuri määrä (esim. >50) verkkotunnusohjaimia?
A: suoranaista vaikutusta toiminnallisuuteen ei ole. Jos käytetään kuormanalenninta, ei tarvita lisäasetuksia toimialueen ohjaimissa.

Q: Onko Microsoftin asiakaspalvelu tukenut anycast DNS-määritystä?
A: Jos käytät muuta kuin Microsoftia kuormanpalauttajaa DNS-kyselyjen välittämiseen, Microsoft tukee DNS-Palvelinpalveluun liittyviä kysymyksiä. Ota yhteyttä kuormantasaajan toimittajaan DNS-huolintaan liittyvissä kysymyksissä.

Q: Mikä on paras käytäntö Anycast DNS: lle, jolla on suuri määrä (esim. >50) domain-ohjaimia?
A: paras käytäntö on käyttää kuormitusalustaa kussakin maantieteellisessä paikassa. Kuormataseet ovat tyypillisesti ulkopuolisen toimittajan toimittamia.

Q: Onko Anycast DNS: llä ja Azure DNS: llä samanlaisia toimintoja?
A: Azure DNS käyttää Anycastia. Jos haluat käyttää Anycast Azure DNS: ää, määritä kuormanpalauttimesi välittämään pyynnöt Azure DNS-palvelimelle.