DNS-beleid gebruiken voor verkeerbeheer op basis van Geo-Location met Primary-Secondary-implementaties
U kunt dit onderwerp gebruiken voor meer informatie over het maken van DNS-beleid voor verkeerbeheer op basis van geografische locaties wanneer uw DNS-implementatie zowel primaire als secundaire DNS-servers bevat.
Het vorige scenario, Het gebruik van DNS-beleid voor Geo-Location gebaseerd verkeerbeheer met primaire servers, bevatte instructies voor het configureren van DNS-beleid voor verkeerbeheer op basis van geografische locatie op een primaire DNS-server. In de internetinfrastructuur worden de DNS-servers echter op grote schaal geïmplementeerd in een primair secundair model, waarbij de beschrijfbare kopie van een zone wordt opgeslagen op bepaalde en beveiligde primaire servers, en alleen-lezen kopieën van de zone worden bewaard op meerdere secundaire servers.
De secundaire servers gebruiken de zoneoverdrachtprotocollen Authoritative Transfer (AXFR) en Incremental Zone Transfer (IXFR) om zone-updates aan te vragen en te ontvangen die nieuwe wijzigingen in de zones op de primaire DNS-servers bevatten.
Notitie
Zie de Internet Engineering Task Force (IETF) Request for Comments 5936voor meer informatie over AXFR. Zie de Internet Engineering Task Force (IETF) Request for Comments 1995voor meer informatie over IXFR.
Voorbeeld van Primary-Secondary Geo-Location gebaseerd verkeerbeheer
Hieronder volgt een voorbeeld van hoe u DNS-beleid in een primaire secundaire implementatie kunt gebruiken om verkeeromleiding te bereiken op basis van de fysieke locatie van de client die een DNS-query uitvoert.
In dit voorbeeld worden twee fictieve bedrijven gebruikt: Contoso Cloud Services, die web- en domeinhostingoplossingen biedt; en Woodgrove Food Services, die voedselleveringsdiensten biedt in meerdere steden over de hele wereld, en die een website heeft met de naam woodgrove.com.
Om ervoor te zorgen dat woodgrove.com klanten een responsieve ervaring krijgen van hun website, wil Woodgrove dat Europese klanten worden omgeleid naar het Europese datacenter en Amerikaanse clients die zijn omgeleid naar het Amerikaanse datacenter. Klanten die zich elders ter wereld bevinden, kunnen worden omgeleid naar een van de datacenters.
Contoso Cloud Services heeft twee datacenters, een in de Vs en een in Europa, waarop Contoso de portal voor het bestellen van voedsel host voor woodgrove.com.
De Contoso DNS-implementatie bevat twee secundaire servers: SecondaryServer1, met het IP-adres 10.0.0.2; en SecondaryServer2, met het IP-adres 10.0.0.3. Deze secundaire servers fungeren als naamservers in de twee verschillende regio's, waarbij SecondaryServer1 zich in Europa en SecondaryServer2 bevindt in de VS.
Er is een primaire beschrijfbare zonekopie op PrimaryServer (IP-adres 10.0.0.1), waar de zonewijzigingen worden aangebracht. Bij normale zoneoverdrachten naar de secundaire servers zijn de secundaire servers altijd up-to-date met eventuele nieuwe wijzigingen in de zone op de PrimaryServer.
In de volgende afbeelding ziet u dit scenario.
Voorbeeld van
Hoe het DNS-Primary-Secondary-systeem werkt
Wanneer u verkeerbeheer op basis van geografische locaties implementeert in een primaire-secundaire DNS-implementatie, is het belangrijk om te begrijpen hoe normale overdrachten van primaire en secundaire zones plaatsvinden voordat u leert over overdrachten op zonebereikniveau. De volgende secties bevatten informatie over overdrachten op zone- en zonebereikniveau.
- zoneoverdrachten in een primaire en secundaire DNS-implementatie
- overdrachten op zoneniveau in een primaire en secundaire DNS-implementatie
Zoneoverdrachten in een primaire-secundaire DNS-implementatie
U kunt een primaire en secundaire DNS-implementatie maken en zones synchroniseren met de volgende stappen.
- Wanneer u DNS installeert, wordt de primaire zone gemaakt op de primaire DNS-server.
- Maak de zones op de secundaire server en geef de primaire servers op.
- Op de primaire servers kunt u de secundaire servers toevoegen als vertrouwde secundairen in de primaire zone.
- De secundaire zones maken een aanvraag voor volledige zoneoverdracht (AXFR) en ontvangen de kopie van de zone.
- Indien nodig verzenden de primaire servers meldingen naar de secundaire servers over zone-updates.
- Secundaire servers maken een incrementele zoneoverdrachtsaanvraag (IXFR). Hierdoor blijven de secundaire servers gesynchroniseerd met de primaire server.
Overdrachten op zonebereikniveau in een primaire en secundaire DNS-implementatie
Het scenario voor verkeersbeheer vereist aanvullende stappen om de zones te partitioneren in verschillende zonebereiken. Daarom zijn extra stappen vereist om de gegevens binnen de zonebereiken over te dragen naar de secundaire servers en om beleidsregels en DNS-clientsubnetten over te dragen naar de secundaire servers.
Nadat u uw DNS-infrastructuur met primaire en secundaire servers hebt geconfigureerd, worden overdrachten op zoneniveau automatisch uitgevoerd door DNS, met behulp van de volgende processen.
Dns-servers gebruiken de extensiemechanismen voor DNS (EDNS0) OPT RR om ervoor te zorgen dat de overdracht van zonebereikniveau wordt gegarandeerd. Alle aanvragen voor zoneoverdracht (AXFR of IXFR) voor zones met reikwijdten zijn afkomstig van een EDNS0 OPT RR, waarvan de optie-id standaard is ingesteld op '65433'. Zie de IETF Request for Comments 6891voor meer informatie over EDNSO.
De waarde van de OPT RR is de zonebereiknaam waarvoor de aanvraag wordt verzonden. Wanneer een primaire DNS-server dit pakket ontvangt van een vertrouwde secundaire server, wordt de aanvraag geïnterpreteerd als afkomstig voor dat zonebereik.
Als de primaire server dat zonebereik heeft, reageert deze met de overdrachtsgegevens (XFR) van dat bereik. Het antwoord bevat een OPT RR met dezelfde optie-id '65433' en een waarde die is ingesteld op hetzelfde zonebereik. De secundaire servers ontvangen dit antwoord, halen de bereikgegevens op uit het antwoord en werken dat specifieke bereik van de zone bij.
Na dit proces onderhoudt de primaire server een lijst met vertrouwde secundaire bestanden die een dergelijke zonebereikaanvraag voor meldingen hebben verzonden.
Voor verdere updates in een zonebereik wordt een IXFR-melding verzonden naar de secundaire servers, met dezelfde OPT RR. Het zone-scope dat deze melding ontvangt, verzendt de IXFR-aanvraag met die OPT RR, waarna de rest van het proces verloopt zoals hierboven beschreven.
DNS-beleid configureren voor verkeerbeheer op basis van Primary-Secondary Geo-Location
Voordat u begint, moet u ervoor zorgen dat u alle stappen in het onderwerp DNS-beleid gebruiken voor Geo-Location gebaseerd verkeersbeheer met primaire servershebt voltooid, en dat uw primaire DNS-server moet zijn geconfigureerd met zones, zonebereiken, DNS-clientsubnetten en DNS-beleid.
Notitie
De instructies in dit onderwerp voor het kopiëren van DNS-clientsubnetten, zonebereiken en DNS-beleid van primaire DNS-servers naar secundaire DNS-servers zijn voor uw eerste DNS-installatie en -validatie. In de toekomst wilt u mogelijk de dns-clientsubnetten, zonebereiken en beleidsinstellingen op de primaire server wijzigen. In dit geval kunt u automatiseringsscripts maken om de secundaire servers gesynchroniseerd te houden met de primaire server.
Als u DNS-beleid wilt configureren voor queryreacties op basis van primaire en secundaire geografische locatie, moet u de volgende stappen uitvoeren.
- de secundaire zones maken
- de instellingen voor zoneoverdracht op de primaire zone configureren
- de DNS-clientsubnetten kopiëren
- zonebereiken maken op de secundaire server
- DNS-beleid configureren
De volgende secties bevatten gedetailleerde configuratie-instructies.
Belangrijk
De volgende secties bevatten voorbeelden van Windows PowerShell-opdrachten die voorbeeldwaarden voor veel parameters bevatten. Zorg ervoor dat u voorbeeldwaarden in deze opdrachten vervangt door waarden die geschikt zijn voor uw implementatie voordat u deze opdrachten uitvoert.
Lidmaatschap van DnsAdmins, of gelijkwaardig, is vereist om de volgende procedures uit te voeren.
De secundaire zones maken
U kunt de secundaire kopie maken van de zone die u wilt repliceren naar SecondaryServer1 en SecondaryServer2 (ervan uitgaande dat de cmdlets extern worden uitgevoerd vanaf één beheerclient).
U kunt bijvoorbeeld de secundaire kopie van www.woodgrove.com maken op SecondaryServer1 en SecondaryServer2.
U kunt de volgende Windows PowerShell-opdrachten gebruiken om de secundaire zones te maken.
Add-DnsServerSecondaryZone -Name "woodgrove.com" -ZoneFile "woodgrove.com.dns" -MasterServers 10.0.0.1 -ComputerName SecondaryServer1
Add-DnsServerSecondaryZone -Name "woodgrove.com" -ZoneFile "woodgrove.com.dns" -MasterServers 10.0.0.1 -ComputerName SecondaryServer2
Zie Add-DnsServerSecondaryZonevoor meer informatie.
De instellingen voor zoneoverdracht op de primaire zone configureren
U moet de instellingen voor de primaire zone zo configureren dat:
- Zoneoverdrachten van de primaire server naar de opgegeven secundaire servers zijn toegestaan.
- Zone-updatemeldingen worden door de primaire server naar de secundaire servers verzonden.
U kunt de volgende Windows PowerShell-opdrachten gebruiken om de instellingen voor zoneoverdracht in de primaire zone te configureren.
Notitie
In de volgende voorbeeldopdracht geeft de parameter -Notify aan dat de primaire server meldingen over updates naar de selectielijst met secundaire bestanden verzendt.
Set-DnsServerPrimaryZone -Name "woodgrove.com" -Notify Notify -SecondaryServers "10.0.0.2,10.0.0.3" -SecureSecondaries TransferToSecureServers -ComputerName PrimaryServer
Zie Set-DnsServerPrimaryZonevoor meer informatie.
De DNS-clientsubnetten kopiëren
U moet de DNS-clientsubnetten van de primaire server naar de secundaire servers kopiëren.
U kunt de volgende Windows PowerShell-opdrachten gebruiken om de subnetten naar de secundaire servers te kopiëren.
Get-DnsServerClientSubnet -ComputerName PrimaryServer | Add-DnsServerClientSubnet -ComputerName SecondaryServer1
Get-DnsServerClientSubnet -ComputerName PrimaryServer | Add-DnsServerClientSubnet -ComputerName SecondaryServer2
Zie Add-DnsServerClientSubnetvoor meer informatie.
De zonebereiken op de secundaire server maken
U moet de zonebereiken op de secundaire servers maken. In DNS beginnen de zone-scopes ook met het aanvragen van XFR's van de primaire server. Wanneer de zonebereiken op de primaire server worden gewijzigd, wordt er een melding met de zonebereikgegevens verzonden naar de secundaire servers. De secundaire servers kunnen vervolgens hun zonebereiken bijwerken met incrementele wijzigingen.
U kunt de volgende Windows PowerShell-opdrachten gebruiken om de zonebereiken op de secundaire servers te maken.
Get-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName PrimaryServer|Add-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName SecondaryServer1 -ErrorAction Ignore
Get-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName PrimaryServer|Add-DnsServerZoneScope -ZoneName "woodgrove.com" -ComputerName SecondaryServer2 -ErrorAction Ignore
Notitie
In deze voorbeeldopdrachten wordt de parameter -ErrorAction Ignore opgenomen, omdat er een standaard zonebereik bestaat voor elke zone. Het standaardzonebereik kan niet worden gemaakt of verwijderd. Pipelining zal resulteren in een poging om dat bereik te creëren, maar het zal mislukken. U kunt ook de niet-standaardzonebereiken maken op twee secundaire zones.
Zie Add-DnsServerZoneScopevoor meer informatie.
DNS-beleid configureren
Nadat u de subnetten, de partities (zonebereiken) en u records hebt toegevoegd, moet u beleidsregels maken waarmee de subnetten en partities worden verbonden, zodat wanneer een query afkomstig is van een bron in een van de DNS-clientsubnetten, het queryantwoord wordt geretourneerd uit het juiste bereik van de zone. Er zijn geen beleidsregels vereist voor het toewijzen van het standaardzonebereik.
U kunt de volgende Windows PowerShell-opdrachten gebruiken om een DNS-beleid te maken waarmee de DNS-clientsubnetten en de zonebereiken worden gekoppeld.
$policy = Get-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName PrimaryServer
$policy | Add-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName SecondaryServer1
$policy | Add-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName SecondaryServer2
Zie Add-DnsServerQueryResolutionPolicyvoor meer informatie.
Nu zijn de secundaire DNS-servers geconfigureerd met het vereiste DNS-beleid om verkeer om te leiden op basis van geografische locatie.
Wanneer de DNS-server query's voor naamomzetting ontvangt, evalueert de DNS-server de velden in de DNS-aanvraag op basis van het geconfigureerde DNS-beleid. Als het bron-IP-adres in de naamomzettingsaanvraag overeenkomt met een van de beleidsregels, wordt het bijbehorende zonebereik gebruikt om te reageren op de query en wordt de gebruiker omgeleid naar de resource die zich geografisch het dichtst bij de bron bevindt.
U kunt duizenden DNS-beleidsregels maken op basis van uw vereisten voor verkeerbeheer en alle nieuwe beleidsregels worden dynamisch toegepast, zonder de DNS-server opnieuw op te starten voor binnenkomende query's.