Jak działają preferowane i alternatywne lub wiele serwerów DNS?

21

Zastanawiałem się nad dodaniem wersji 8.8.8.8 na końcu listy serwerów DNS mojego adaptera jako kopii zapasowej na wypadek, gdyby wszystko się nie powiodło, kiedy przyszło mi do głowy, że tak naprawdę nie wiem, jak traktowane są pomocnicze i trzeciorzędne serwery DNS.

  • W jakich warunkach używany jest następny serwer DNS?
  • Czy następny serwer zostanie sprawdzony, jeśli nazwa nie zostanie rozwiązana?
  • Czy mogę skonfigurować mój komputer, aby wyszukiwał na wielu serwerach, jeśli nazwa nie zostanie rozwiązana?

Martwię się również, że dodanie serwera DNS, który nie znajduje się w moim intranecie, może uniemożliwić rozpoznanie lokalnych nazw.

  • Jeśli pierwszy serwer DNS ulegnie awarii, jak długo będzie używany drugi serwer DNS?
  • Kiedy mój komputer sprawdza, czy podstawowy serwer DNS jest włączony, czy opóźnia moje obecne zapytanie DNS?
  • Jak wiele serwerów DNS wpływa na wydajność? Jeśli mam cztery serwery DNS na liście mojego adaptera, a trzy z nich nie żyją, czy będzie czekać trzy limity czasu, zanim otrzyma odpowiedź?

Nie jestem pewien, czy to pytanie dotyczy również systemu operacyjnego. Czy różne systemy operacyjne traktują to inaczej?

Moim celem jest dodanie wersji 8.8.8.8 do serwerów DNS w dodatku do tego, co DHCP przekazuje za pomocą skryptu. Ciągle mam do czynienia z głupimi problemami z DNS, w których moje maszyny kończą się fałszywym / nieosiągalnym / po prostu bez serwera DNS z powodu błędów w konfiguracji DHCP, nad którymi nie mam kontroli. Mam tego dość, ale zastanawiam się, czy dodanie tej opcji bezpieczeństwa nie spowodowałoby więcej problemów niż rozwiązuje.

Tanner Faulkner
źródło
1
To pytanie jest powiązane: superuser.com/q/558843/146694 Dodanie zewnętrznego adresu DNS do sieci wymagającej wewnętrznego rozpoznawania nazw powoduje wiele problemów .
Tanner Faulkner

Odpowiedzi:

16

Odpowiedź jest z pewnością specyficzna dla systemu operacyjnego w tym sensie, że nic nie stoi na przeszkodzie, aby określony system operacyjny zachowywał się inaczej. Nie ma nic niezbędne informacje zapytań klienta DNS wielu serwerach, które uniemożliwiłyby implementację systemu operacyjnego od leczenia zapytania DNS inaczej niż ja tutaj opisuję.

To powiedziawszy, przykład tego, jak Linux wyszukuje nazwy DNS, powinien być reprezentatywny dla tego, jak większość obecnie używanych systemów operacyjnych to robi.

Oto dobry post szczegółowo opisujący zachowanie, a także sposób na skonfigurowanie czegoś takiego, o co prosiłeś.

Ogólna idea polega na tym, że domyślnie wtórne / trzeciorzędne serwery DNS są używane w sekwencji tylko wtedy, gdy główny serwer DNS przekroczy limit czasu lub wskazuje na niemożliwy do routingu adres IP. Nawet jeśli główny serwer DNS powie „ta domena nie rozpoznaje”, nie przejdzie do następnego serwera nazw. Traktuje każdą prawidłową odpowiedź na zapytanie jako powód, dla którego nie należy przejść do następnego serwera DNS na liście.

Jednym z rozsądnych sposobów skonfigurowania go tak, aby adresy lokalne były rozpoznawane jako pierwsze, ale nadal używają Google DNS lub OpenDNS zamiast serwera DNS twojego dostawcy ISP, jest skonfigurowanie routera lub urządzenia LAN (w zależności od tego, które urządzenie jest bramą internetową) do używania 8.8.8.8jako jego podstawowy serwer nazw. Oczywiście w polu bramy powinien sam działać serwer nazw i powinien on być skonfigurowany tak, aby odpowiadał na zapytania DNS dotyczące lokalnych nazw hostów w prywatnej podsieci - ale jeśli nie uda się rozpoznać w lokalnej podsieci, powinien natychmiast przejść do Google DNS. Jest to rodzaj najlepszego z obu światów.

Innym sposobem na to jest skonfigurowanie różnych serwerów nazw dla różnych interfejsów sieciowych. Windows domyślnie pozwala to zrobić; artykuł w powyższym linku opisuje sposób, aby to zrobić, konfigurując implementację serwera BIND9 DNS za pomocą dyrektyw forwardi forwarders.

allquixotic
źródło