Jeśli mam następujące wpisy w pliku hosts:
192.168.100.1 bugs
192.168.100.2 daffy.example.com
192.168.100.3 elmer.example.com.
Czy próby rozpoznawania nazw IP-> przez lokalne zastosowania (zakładam użycie „gethostbyaddr” lub odpowiednika Windows) honorują te wpisy? Czy to zachowanie można skonfigurować? Czym różni się w zależności od systemu operacyjnego? Czy ma znaczenie to, czy wpisy pliku „hosty” są w pełni kwalifikowane, czy nie?
EDYCJA: W odpowiedzi na Russella, w moim testowym systemie Linux działa RHEL 4. Mój /etc/nsswitch.conf zawiera następującą linię „hosts”:
hosts: files dns nis
Jeśli pinguję jednego z moich hostów według nazwy (np. Błędy, daffy), rozdzielczość przesyłania dalej działa poprawnie. Jeśli śledzę dowolny z nich według adresu IP, wyszukiwanie wsteczne działa zgodnie z oczekiwaniami. Jeśli jednak pinguję je za pomocą adresu IP, polecenie ping nie wydaje się rozpoznawać nazw hostów. Zrozumiałem, że ping Linux zawsze będzie próbował rozwiązać adresy IP na nazwy, chyba że zalecono inaczej. Dlaczego traceroute miałby obsługiwać wyszukiwania wsteczne w plikach hostów, a ping nie?
źródło
host
narzędzia ISC , można odnieść wrażenie, że edycja / etc / hosts nie ma żadnego wpływu.host 10.0.0.1
wykona zapytanie DNS i zignoruje plik hosts. Umożliwia to sprawdzenie resolvera systemu:perl -MSocket -le '$a=inet_aton(shift); $_=gethostbyaddr $a, AF_INET; print' 10.0.0.1
Znalazłem odniesienie do zmiany wpisów rejestru w celu zmiany kolejności rozpoznawania nazw w systemie Windows:
http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=963485
Cytując stamtąd:
Domyślnie system Windows sprawdza dostawców rozpoznawania nazw w następującej kolejności:
Lokalny, (pamięć podręczna lokalnych nazw NetBT), hosty, DNS, NetBT (WINS).
Chcesz, aby zamówienie było hostami, DNS, lokalnymi, NetBT.
W dalszej części niższe liczby mają wyższy priorytet.
Następujące klucze rejestru w
wymagają modyfikacji.
źródło
W
/etc/host.conf
Określa jakiej kolejności plik jest używany do wykrywania adresów IP. Mój domyślnie zawiera następujące elementy:Oznacza to, że plik hosts jest zawsze najpierw sprawdzany, a następnie DNS (wiązanie).
Jeśli
nis
nie zostanie tu określone, to nigdy nie będzie na nie patrzeć/etc/nsswitch.conf
.Link do dokumentacji: http://tldp.org/LDP/nag/node82.html
źródło