Opóźnienia w dostępie do lokalnego serwera DNS

1

Dostęp do lokalnego serwera DNS jest zawsze opóźniony o ~ 1 sekundę.

Włączyłem serwer DNS na OS-X Lion i to naprawdę działa. Jednak, gdy pytam go za pomocą polecenia „dig” (lub nslookup), opóźnienie wynosi około 1 sekundy przed udzieleniem odpowiedzi. To opóźnienie nie jest zgłaszane przez „dig”, co daje czas odpowiedzi 0ms.

Na przykład zapytanie przy użyciu serwerów OpenDNS kończy się szybciej niż jeden na serwerze lokalnym, mimo że rozpoznawanie nazw zajmuje 135 ms dłużej:

$ time dig @ 208.67.220.220 ibm.com

;; Czas zapytania: 135 ms

rzeczywisty 0m0.172s użytkownik 0m0.008s sys 0m0.006s

$ time dig @localhost ibm.com

;; Czas zapytania: 0 ms

rzeczywisty 0m1.068s użytkownik 0m0.009s sys 0m0.007s

Wydaje się, że opóźnienie nie występuje na serwerze o określonej nazwie, ponieważ podczas używania nazwanego -g do przeglądania dzienników występuje również opóźnienie 1 s przed wydrukowaniem żądania.

FYI: moje zmiany w celu włączenia DNS były:

rndc-confgen -b 256> /etc/rndc.conf
head -n5 /etc/rndc.conf | tail -n4> /etc/rndc.key
edytuj /etc/rndc.conf, aby poprawić numer portu,
edytuj /etc/named.conf, aby dodać to do opcji:

forward first;
forwarders {
    208.67.222.222;
    208.67.220.220;
};

uruchom nazwany z powłoki (/ usr / sbin / named -g)

William Morris
źródło

Odpowiedzi:

1

Jeśli masz 127.0.0.1 localhostw /etc/hoststrzeba także dodać ::1 localhostlinię.

Może się okazać, że opóźnienie ma coś wspólnego z rozwiązaniem nazwy „localhost”. Jeśli zamiast tego użyjesz 127.0.0.1, opóźnienie należy zmniejszyć do milisekund.

$ time dig @ 127.0.0.1 muc.de

;; Czas zapytania: 10 ms

rzeczywisty 0m0.029s użytkownik 0m0.007s sys 0m0.005s

Nie wiem, gdzie występuje rozdzielczość „hosta lokalnego” ani dlaczego zajmuje to tak dużo czasu, ale myślę, że to naprawdę nie ma znaczenia ...

igorw
źródło