Czy ktoś może krótko wyjaśnić, co oznacza „rekurencyjne zapytanie DNS” i jak można je uznać za złe ?
Czy ktoś może krótko wyjaśnić, co oznacza „rekurencyjne zapytanie DNS” i jak można je uznać za złe ?
Odpowiedzi:
TL; DR : Zapytania rekurencyjne są częścią sposobu działania Internetu i DNS, ale nie wszystkie serwery DNS powinny otrzymywać zapytania rekurencyjne, a gdy te, które nie powinny odpowiadać, mogą powodować problemy.
Dłuższa wersja:
Rekurencja, n: patrz sekcja Rekurencja.
Rekursywne zapytanie DNS ma miejsce, gdy serwer DNS, o który prosiłeś o adres, powiedzmy, unix.stackexchange.com, nie zna samej odpowiedzi, więc musi sprawdzić na innym serwerze.
Zwykle tak działa DNS - serwer DNS Twojego dostawcy Internetu nie ma trwale zapamiętanych rekordów domeny internetowej z oczywistych powodów, więc następująca wymiana odbywa się pod maską:
Ty: Hej, przeglądarce, pokaż mi http://unix.stackexchange.com
Przeglądarka: Jasne! ... Hm. Tak naprawdę nie wiem, jaki to adres IP.
Hej, OS, czy możesz mi powiedzieć, gdzie znaleźć unix.stackexchange.com?
OS: Jasne, że ...
Hmm Nie ma go w moim pliku hosts. Pozwól mi tylko sprawdzić moją konfigurację resolvera ...
Hej, serwer DNS dostawcy ISP, czy możesz mi powiedzieć, gdzie znaleźć unix.stackexchange.com?
Serwer DNS ISP: Jasne!
... Hmmm. Tego nie ma na mojej liście autorytatywnych domen, a teraz nie mam tej pamięci podręcznej w pamięci podręcznej.
Hej, internetowe serwery root. Czy możesz mi powiedzieć, kto jest autorytatywny dla stackexchange.com?
Internetowe serwery root: Jasne! Z naszych danych wynika, że chcesz mieć stronę ns1.serverfault.com, ns2.serverfault.com lub ns3.serverfault.com.
Serwer DNS ISP: Dzięki, Internetowe serwery root!
Cześć, ns2.serverfault.com, czy możesz mi powiedzieć, gdzie znaleźć unix.stackexchange.com?
ns2.serverfault.com : Pewnie! To jest adres 64.34.119.12
Serwer DNS ISP : Świetnie, dziękuję!
System operacyjny, liczba, której szukasz to 64.34.119.12.
System operacyjny: Świetnie, dziękuję!
Przeglądarka, potrzebujesz adresu 64.34.119.12
Przeglądarka: Świetnie, dziękuję!
Okej, wywołanie strony teraz.
Ty: Tak, dzięki przeglądarce!
Teraz pamiętaj, że w rzeczywistości są tutaj dwa rodzaje serwerów nazw - autorytatywne serwery DNS (tak zwane serwery „root”, które poinformowały serwer DNS twojego dostawcy ISP, gdzie znaleźć serwer DNS SE.com oraz autorytatywny serwer DNS SE.com ) oraz rekurencyjne lub przekierowujące serwery DNS (serwer DNS Twojego usługodawcy internetowego).
Zwykle ten pierwszy typ nie powinien odpowiadać na zapytania rekurencyjne, zwłaszcza nie spoza własnej domeny. Mali dostawcy usług internetowych czasami oszczędzają na kosztach, ponieważ ich główny autorytatywny serwer nazw jest tym samym serwerem, co ich główny serwer nazw do przekazywania, ale jest to nieco niebezpieczna zasada - szczególnie jeśli nie skonfigurujesz serwera tak, aby odrzucał zapytania rekurencyjne spoza twojego zakresu adresów IP.
Dalsze czytanie tutaj na Wikipedii .
.com
serwerów, a stamtąd serwer rekurencyjny ISP wskazywałby na serwer SE.com.
Jeśli istnieją 2 serwery DNS, DNS-A jest autorytetem dla domeny-a, a DNS-B jest autorytetem dla domeny-b, a ktoś wysyła zapytanie DNS do DNS-A w celu wyszukania domeny-b. DNS-A byłby wówczas rekurencyjny, wysyłając żądanie do DNS-B w celu wyszukania domeny-b. Zasadniczo zapytanie rekurencyjne ma miejsce wtedy, gdy serwer DNS w imieniu klienta, który wysłał zapytanie, goni ślad DNS w celu spełnienia żądania.
Jest to w porządku, jeśli hostujesz serwer DNS dla sieci, takiej jak biuro, a wszystkie maszyny w tym biurze będą używać serwera DNS do wykonywania wszystkich wyszukiwań. Jest to złe, jeśli pozwalasz komukolwiek na wykonywanie zapytań rekurencyjnych DNS. Jest to również złe, jeśli hostujesz serwer DNS, który ma tylko spełniać żądania dla określonej domeny. Jeśli ktoś poprosi o wyszukanie innej domeny, serwer DNS powinien zwrócić błąd zamiast robić rekurencję.