drugi serwer nazw w /etc/resolv.conf nie został odebrany przez wget


14

Mój resolv.conf wygląda następująco:

; generated by /sbin/dhclient-script
search mcdc
nameserver 10.0.4.48
nameserver 8.8.8.8

jeśli to zrobię nslookup www.google.com, zadziała

nslookup www.google.com
;; Got SERVFAIL reply from 10.0.4.48, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.

ale kiedy zwijam www.google.com, nie może rozwiązać hosta.

Próbowałem uruchomić curl pod strace i znalazłem, że curl używa tylko pierwszego serwera nazw w resolv.conf, a nie drugiego. Jeśli zmienię dwie linie serwera nazw, www.google.com rozwiązuje, ale wewnętrzne nazwy DNS nie, więc nie jest to dobre obejście.

Jak mogę naprawić resolv.conf, aby korzystał z obu serwerów nazw?

Odpowiedzi:


24

Domyślne zachowanie dla resolv.conf i resolvera polega na wypróbowaniu serwerów w podanej kolejności. Program rozpoznawania nazw spróbuje użyć następnego serwera nazw, jeśli upłynie limit czasu dla pierwszego serwera nazw. Strona podręcznika resolv.conf mówi:

serwer nazw serwer Adres IP serwera nazw

Adres internetowy (w notacji kropkowej) serwera nazw, do którego powinien odwołać się resolver. Można podać maksymalnie MAXNS (obecnie 3, patrz) serwery nazw, po jednym na słowo kluczowe. Jeśli istnieje wiele serwerów, biblioteka tłumacząca wysyła do nich zapytania w podanej kolejności.

I:

(Zastosowany algorytm polega na wypróbowaniu serwera nazw, a jeśli upłynie limit czasu zapytania, wypróbuj następny, aż do wyczerpania serwerów nazw, a następnie powtarzaj próby wszystkich serwerów nazw, aż zostanie wykonana maksymalna liczba ponownych prób).

Zobacz także stronę podręcznika resolvera (5), aby uzyskać więcej informacji.

Możesz zmienić zachowanie resolvera za pomocą rotate, który będzie sprawdzał serwery nazw w kolejności rundy:

obracaj zestawy RES_ROTATE w _res.options, co powoduje, że okrągły serwer wybiera serwery nazw spośród wymienionych. Powoduje to rozłożenie obciążenia zapytaniami na wszystkie wymienione serwery, zamiast zmuszania wszystkich klientów do wypróbowania pierwszego serwera na liście za każdym razem za każdym razem.

Jednak nslookup użyje drugiego serwera nazw, jeśli otrzyma SERVFAILod pierwszego serwera nazw. Ze strony podręcznika nslookup :

[no] fail Wypróbuj następny serwer nazw, jeśli serwer nazw odpowie na SERVFAIL lub skierowanie (nofail) lub zakończ zapytanie (niepowodzenie) w przypadku takiej odpowiedzi.

(Domyślnie = nofail)


2

tak, możesz użyć ustawienia „rotate” i limitu czasu, aby poprawić wyszukiwanie DNS, poniżej znajduje się przykład,

Dawny:

[root@centos-xxxxxx ~]# cat /etc/resolv.conf
options rotate
options timeout:1
search xyz.abc.local
nameserver 192.168.56.3
nameserver 10.0.2.4

1

Czy 10.0.4.48 to rekurencyjny serwer dns aka resolver?

Czy jest to tylko autorytatywny serwer dla twoich wewnętrznych stref?

Powinieneś skonfigurować wewnętrzny resolver, który może również przechowywać twoje wiarygodne dane.


0

Aby działał zgodnie z oczekiwaniami, zainstaluj dnsmasq lub inny lekki repeater DNS (lub w pełni funkcjonalny serwer DNS). Zobacz Porównanie oprogramowania serwera DNS .

Konfiguracja dnsmasq jest tak prosta jak:

server=10.0.4.48
server=8.8.8.8

Możesz także określić, dla których domen należy użyć DNS. Na przykład:

server=/mcdc/10.0.4.48
server=8.8.8.8

To sprawi dnsmasq wygląd *.mcdcw 10.0.4.48DNS serwera i wszelkie inne w 8.8.8.8.

W /etc/resolv.confwystarczy użyć lokalnego DNS:

nameserver 127.0.0.1

Aby uzyskać więcej informacji na temat konfiguracji dnsmasq, zobacz moją odpowiedź tutaj: /unix/55090/change-default-dns-on-openvpn-connect/545591#545591 .


-3

Jeśli możesz, skonfigurowałbym to w ten sposób.

search mcdc
nameserver 127.0.0.1
nameserver 8.8.8.8


6
Która część pytania wskazuje, że na swoim komputerze działa serwer DNS lub chcesz?
Jay


1
Blake: Zauważ, że 127.0.0.1 jest zwykle używany tylko w systemach, które mają demona buforowania serwera nazw na hoście lokalnym. Zobacz tldp.org/HOWTO/DNS-HOWTO-3.html
Stefan Lasiewski
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.