Udostępnij za pośrednictwem


Używanie zasad DNS do zarządzania ruchem opartym na Geo-Location przy wdrożeniach Primary-Secondary

W tym temacie dowiesz się, jak utworzyć zasady DNS na potrzeby zarządzania ruchem opartym na lokalizacji geograficznej, gdy wdrożenie DNS obejmuje zarówno podstawowe, jak i pomocnicze serwery DNS.

W poprzednim scenariuszu „Użycie zasad DNS do Geo-Location opartego na zarządzaniu ruchem z serwerami podstawowymi”, podano instrukcje dotyczące konfigurowania zasad DNS na potrzeby zarządzania ruchem opartego na lokalizacji geograficznej na podstawowym serwerze DNS. Jednak w infrastrukturze internetowej serwery DNS są szeroko wdrażane w podstawowym modelu pomocniczym, gdzie zapisywalna kopia strefy jest przechowywana na wybranych i bezpiecznych serwerach podstawowych, a kopie tylko do odczytu strefy są przechowywane na wielu serwerach pomocniczych.

Serwery pomocnicze używają protokołów transferu strefy Autorytatywny transfer (AXFR) i Przyrostowy transfer strefy (IXFR) do żądania i odbierania aktualizacji strefy, które obejmują nowe zmiany w strefach na podstawowych serwerach DNS.

Nota

Aby uzyskać więcej informacji o AXFR, zobacz Internet Engineering Task Force (IETF) Request for Comments 5936. Aby uzyskać więcej informacji o IXFR, zobacz Internet Engineering Task Force (IETF) Request for Comments 1995.

Przykład zarządzania ruchem opartym na Primary-Secondary Geo-Location

Poniżej przedstawiono przykład użycia zasad DNS w podstawowym wdrożeniu pomocniczym w celu osiągnięcia przekierowania ruchu na podstawie fizycznej lokalizacji klienta, który wykonuje zapytanie DNS.

W tym przykładzie użyto dwóch fikcyjnych firm — Contoso Cloud Services, które udostępniają rozwiązania hostingu sieci Web i domeny; i Woodgrove Food Services, która zapewnia usługi dostarczania żywności w wielu miastach na całym świecie, i która ma witrynę internetową o nazwie woodgrove.com.

Aby zapewnić klientom woodgrove.com responsywne korzystanie z ich strony, Woodgrove chce, żeby europejscy klienci byli kierowani do europejskiego centrum danych, a amerykańscy klienci do amerykańskiego centrum danych. Klienci znajdujący się w innym miejscu na świecie mogą być kierowani do jednego z centrów danych.

Firma Contoso Cloud Services ma dwa centra danych, jedno w STANACH Zjednoczonych i drugie w Europie, na którym firma Contoso hostuje portal zamawiania żywności dla woodgrove.com.

Wdrożenie DNS firmy Contoso obejmuje dwa serwery pomocnicze: SecondaryServer1, z adresem IP 10.0.0.2; i SecondaryServer2, z adresem IP 10.0.0.3. Te serwery pomocnicze działają jako serwery nazw w dwóch różnych regionach, a serwer SecondaryServer1 znajduje się w Europie i SecondaryServer2 w Stanach Zjednoczonych.

Na PrimaryServer (adres IP 10.0.0.1) znajduje się podstawowa kopia strefy do zapisu, gdzie wprowadzane są zmiany strefy. Dzięki regularnym transferom stref do serwerów pomocniczych serwery pomocnicze są zawsze aktualne z wszelkimi nowymi zmianami strefy na serwerze podstawowym.

Poniższa ilustracja przedstawia ten scenariusz.

Przykład zarządzania ruchem opartym na Primary-Secondary Geo-Location

Jak działa system Primary-Secondary DNS

Podczas wdrażania zarządzania ruchem w oparciu o lokalizację geograficzną w podstawowym pomocniczym wdrożeniu DNS ważne jest, aby zrozumieć, jak normalne transfery strefy podstawowej pomocniczej występują przed poznaniem transferów na poziomie zakresu strefy. Poniższe sekcje zawierają informacje dotyczące transferów na poziomie strefy i poziomie zakresu strefy.

Transfery strefy we wdrożeniu podstawowym i pomocniczym DNS

Możesz utworzyć wdrożenie podstawowej i pomocniczej usługi DNS i zsynchronizować strefy, wykonując następujące kroki.

  1. Podczas instalowania systemu DNS strefa podstawowa jest tworzona na podstawowym serwerze DNS.
  2. Na serwerze pomocniczym utwórz strefy i określ serwery podstawowe.
  3. Na serwerach podstawowych można dodać serwery pomocnicze jako zaufane serwery pomocnicze w strefie podstawowej.
  4. Strefy pomocnicze tworzą pełne żądanie transferu strefy (AXFR) i otrzymują kopię strefy.
  5. W razie potrzeby serwery podstawowe wysyłają powiadomienia do serwerów pomocniczych o aktualizacjach strefy.
  6. Serwery pomocnicze składają żądanie przyrostowego transferu strefy (IXFR). W związku z tym serwery pomocnicze pozostają zsynchronizowane z serwerem podstawowym.

Transfery na poziomie zakresu strefy we wdrożeniu podstawowym i pomocniczym DNS

Scenariusz zarządzania ruchem wymaga dodatkowych kroków do podziału stref na różne zakresy stref. W związku z tym wymagane są dodatkowe kroki do transferu danych w zakresach strefy oraz do transferu zasad i podsieci klienta DNS na serwery pomocnicze.

Po skonfigurowaniu infrastruktury DNS z serwerami podstawowymi i pomocniczymi transfery na poziomie zakresu strefy są wykonywane automatycznie przez system DNS przy użyciu następujących procesów.

Aby zapewnić transfer na poziomie zakresu strefy, serwery DNS używają mechanizmów rozszerzeń systemu DNS (EDNS0) OPT RR. Wszystkie żądania transferu strefy (AXFR lub IXFR) ze stref z zakresami pochodzą z EDNS0 OPT RR, którego identyfikator opcji jest domyślnie ustawiony na "65433". Aby uzyskać więcej informacji na temat EDNSO, zobacz IETF Request for Comments 6891.

Wartość opt RR to nazwa zakresu strefy, dla której jest wysyłane żądanie. Gdy podstawowy serwer DNS odbiera ten pakiet z zaufanego serwera pomocniczego, interpretuje żądanie jako przychodzące dla tego zakresu strefy.

Jeśli serwer podstawowy ma ten zakres strefy, odpowiada za pomocą danych transferu (XFR) z tego zakresu. Odpowiedź zawiera RR OPT z takim samym identyfikatorem opcji "65433" i wartością ustawioną na zakres tej samej strefy. Serwery pomocnicze otrzymują tę odpowiedź, pobierają informacje o zakresie z odpowiedzi i aktualizują ten konkretny zakres strefy.

Po wykonaniu tego procesu serwer podstawowy przechowuje listę zaufanych serwerów pomocniczych, które wysłały takie żądanie zakresu strefy dla powiadomień.

Aby uzyskać dalszą aktualizację w zakresie strefy, powiadomienie IXFR jest wysyłane do serwerów pomocniczych z tym samym OPT RR. Zakres strefy, który otrzymuje to powiadomienie, inicjuje żądanie IXFR zawierające ten OPT RR, a następnie postępuje zgodnie z procesem opisanym powyżej.

Jak skonfigurować zasady DNS do zarządzania ruchem opartego na Primary-Secondary Geo-Location

Przed rozpoczęciem upewnij się, że zostały wykonane wszystkie kroki opisane w temacie Używanie zasad DNS do Geo-Location opartego na zarządzaniu ruchem z serwerami podstawowymi, a podstawowy serwer DNS jest skonfigurowany ze strefami, zakresami strefy, podsieciami klienta DNS i zasadami DNS.

Notatka

Instrukcje w tym temacie dotyczące kopiowania podsieci klienta DNS, zakresów strefy i zasad DNS z serwerów podstawowych DNS do serwerów pomocniczych DNS są przeznaczone do początkowej konfiguracji i weryfikacji DNS. W przyszłości można zmienić ustawienia podsieci klienta DNS, zakresów strefy i zasad na serwerze podstawowym. W takiej sytuacji można utworzyć skrypty automatyzacji, aby serwery pomocnicze były synchronizowane z serwerem podstawowym.

Aby skonfigurować zasady DNS dla odpowiedzi na zapytania oparte na podstawowej lokalizacji geograficznej, należy wykonać następujące kroki.

Poniższe sekcje zawierają szczegółowe instrukcje dotyczące konfiguracji.

Ważny

Poniższe sekcje zawierają przykładowe polecenia programu Windows PowerShell zawierające przykładowe wartości dla wielu parametrów. Przed uruchomieniem tych poleceń upewnij się, że zastąpisz przykładowe wartości wartościami odpowiednimi dla danego wdrożenia.

Członkostwo w DnsAdmins, lub równoważnego, jest wymagane do wykonania następujących procedur.

Tworzenie stref pomocniczych

Możesz utworzyć pomocniczą kopię strefy, którą chcesz replikować do serwera SecondaryServer1 i SecondaryServer2 (przy założeniu, że polecenia cmdlet są wykonywane zdalnie z poziomu pojedynczego klienta zarządzania).

Można na przykład utworzyć kopię pomocniczą www.woodgrove.com na secondaryServer1 i SecondaryServer2.

Do utworzenia stref pomocniczych można użyć następujących poleceń programu Windows PowerShell.

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

Aby uzyskać więcej informacji, zobacz Add-DnsServerSecondaryZone.

Skonfiguruj ustawienia transferu strefy w strefie podstawowej

Należy skonfigurować ustawienia strefy podstawowej, aby:

  1. Transfery strefy z serwera podstawowego do określonych serwerów pomocniczych są dozwolone.
  2. Powiadomienia o aktualizacji strefy są wysyłane przez serwer podstawowy do serwerów pomocniczych.

Następujące polecenia programu Windows PowerShell umożliwiają skonfigurowanie ustawień transferu strefy w strefie podstawowej.

Notatka

W poniższym przykładowym poleceniu parametr -Notify określa, że serwer podstawowy będzie wysyłać powiadomienia o aktualizacjach do wybranej listy serwerów pomocniczych.

Set-DnsServerPrimaryZone -Name "woodgrove.com" -Notify Notify -SecondaryServers "10.0.0.2,10.0.0.3" -SecureSecondaries TransferToSecureServers -ComputerName PrimaryServer

Aby uzyskać więcej informacji, zobacz Set-DnsServerPrimaryZone.

Kopiowanie podsieci klienta DNS

Należy skopiować podsieci klienta DNS z serwera podstawowego do serwerów pomocniczych.

Następujące polecenia programu Windows PowerShell umożliwiają skopiowanie podsieci do serwerów pomocniczych.

Get-DnsServerClientSubnet -ComputerName PrimaryServer | Add-DnsServerClientSubnet -ComputerName SecondaryServer1
Get-DnsServerClientSubnet -ComputerName PrimaryServer | Add-DnsServerClientSubnet -ComputerName SecondaryServer2

Aby uzyskać więcej informacji, zobacz Add-DnsServerClientSubnet.

Tworzenie zakresów strefy na serwerze pomocniczym

Należy utworzyć zakresy strefy na serwerach pomocniczych. W systemie DNS zakresy stref również zaczynają żądać XFR z serwera podstawowego. W przypadku każdej zmiany zakresów strefy na serwerze podstawowym powiadomienie zawierające informacje o zakresie strefy jest wysyłane do serwerów pomocniczych. Serwery pomocnicze mogą następnie aktualizować zakresy strefy przy użyciu zmian przyrostowych.

Do utworzenia zakresów stref na serwerach pomocniczych można użyć następujących poleceń programu Windows PowerShell.

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

Notatka

W tych przykładowych poleceniach dołączono parametr -ErrorAction Ignoruj, ponieważ w każdej strefie istnieje domyślny zakres strefy. Nie można utworzyć ani usunąć zakresu strefy domyślnej. Pipelining doprowadzi do próby utworzenia tego zakresu i zakończy się niepowodzeniem. Alternatywnie można utworzyć zakresy strefy innej niż domyślna w dwóch strefach pomocniczych.

Aby uzyskać więcej informacji, zobacz Add-DnsServerZoneScope.

Konfigurowanie zasad DNS

Po utworzeniu podsieci, partycji (zakresy stref), oraz dodaniu rekordów, należy utworzyć zasady łączące podsieci i partycje, tak aby, gdy zapytanie pochodzi ze źródła w jednej z podsieci klienta DNS, odpowiedź na zapytanie była zwracana z prawidłowego zakresu strefy. Do mapowania domyślnego zakresu strefy nie są wymagane żadne zasady.

Następujące polecenia programu Windows PowerShell umożliwiają utworzenie zasad DNS, które łączą podsieci klienta DNS i zakresy strefy.

$policy = Get-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName PrimaryServer
$policy | Add-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName SecondaryServer1
$policy | Add-DnsServerQueryResolutionPolicy -ZoneName "woodgrove.com" -ComputerName SecondaryServer2

Aby uzyskać więcej informacji, zobacz Add-DnsServerQueryResolutionPolicy.

Teraz pomocnicze serwery DNS są skonfigurowane z wymaganymi zasadami DNS do przekierowywania ruchu na podstawie lokalizacji geograficznej.

Gdy serwer DNS odbiera zapytania rozpoznawania nazw, serwer DNS ocenia pola w żądaniu DNS względem skonfigurowanych zasad DNS. Jeśli źródłowy adres IP w żądaniu rozpoznawania nazw jest zgodny z dowolnymi zasadami, skojarzony zakres strefy jest używany do odpowiadania na zapytanie, a użytkownik jest kierowany do zasobu, który jest geograficznie najbliżej nich.

Możesz utworzyć tysiące zasad DNS zgodnie z wymaganiami dotyczącymi zarządzania ruchem, a wszystkie nowe zasady są stosowane dynamicznie — bez ponownego uruchamiania serwera DNS — w przypadku zapytań przychodzących.