Mam prawie świeże okno pulpitu Ubuntu. System operacyjny został zainstalowany dwa tygodnie temu i zaktualizowany z repozytoriów karmicznych. W zeszłym tygodniu nie miałem problemów z DNS. Ale w tym tygodniu coś się zmieniło. Nie jestem pewien, co i kiedy, i nie jestem pewien, czy zmieniłem jakieś konfiguracje.
Więc teraz mam naprawdę dziwną sytuację. Zgodnie z logami rozpoznawanie nazw powinno działać normalnie.
/ etc / hosts
127.0.0.1 localhost test
127.0.1.1 desktop
/etc/host.conf
order hosts,bind
multi on
/etc/resolv.conf
# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3
/etc/nsswitch.conf
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Ale jeśli tak nie jest.
użytkownik @ test ~> test ping
PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]
Pingowanie jest w porządku.
użytkownik @ test ~> test hosta
test.mydomain.com has address xx.xxx.161.201
Podejrzewam, że NetworkManager może powodować to niewłaściwe zachowanie, ale nie wiem od czego zacząć, aby to sprawdzić. Wszelkie myśli, sugestie?
źródło
host
narzędzie nie używa/etc/hosts
? I nie ma nic do naprawienia w moim przypadku?host
> zwykłem <być „zwykłym” poleceniem zapytania o nazwę,/etc/nsswitch.conf
host
kiedykolwiek to zrobiłyhost
Polecenie (wraz zdig
anslookup
) jest częściąbind
narzędzi DNS. Jako narzędzie do rozpoznawania nazw DNS wykonuje tylko rozpoznawanie DNS.Jeśli chcesz
libnss
pobrać wpis z dowolnego magazynu danych z bezpośrednim dostępem do sieci, możesz użyćgetent
programu. Aby uzyskać wpis hosta, na przykład, użyj go w następujący sposób:Wynika to kolejność rezolucję zamieszczoną pod
hosts:
w/etc/nsswitch.conf
celem, który zawiera/etc/hosts
jeżeli „Pliki” wzglę jest jako jedna z opcji.źródło
getent
polecenia.getent ahosts
zamiast zgetent hosts
powodugetent hosts
zastosowańgethostbyaddr()
lubgethostbyname*()
które są przestarzałe. Jeśli dobrze zrozumiałem,getent hosts
emuluje, jak stare programy UNIX C działały igetent ahosts
emuluje sposób działania programów moderm.Dla mnie ten problem wystąpił z powodu niepoprawnych uprawnień do plików. Tylko root może czytać / etc / hosts. Plik powinien być czytelny dla całego świata.
źródło