Mam 2 maszyny w tej samej podsieci z systemem Debian 5.0. Używają tego samego DNS (/etc/resolv.conf), kierują się do tej samej bramy (#route) i mają te same ustawienia iptables (#iptables -L). Mogę pingować z obu z nich, zarówno na adresy IP, jak i nazwy hostów. Mogę uruchomić #host www.google.com i uzyskać te same wyniki na obu z nich. Problem polega jednak na tym, że na jednym z nich nie mogę się zgiąć ani zwinąć.
Tak więc na maszynie 1 wszystko jest w porządku, ale na maszynie 2 (z tymi samymi ustawieniami co maszyna 1) nie mogę się zgiąć ani zawinąć.
Występuje błąd:
# wget google.com
--2009-10-20 16:38:36-- http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'
Ale na maszynie 1 nie ma problemu z podglądaniem lub zwijaniem się i zwraca:
# wget google.com
--2009-10-20 16:43:55-- http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
...
Saving to: `index.html.3'
Itp.
Mam nadzieję, że ktoś tutaj wskaże mi właściwy kierunek, abym mógł rozwiązać ten problem :)
Odpowiedzi:
Sprawdź swój
/etc/nsswitch.conf
plik (lub cokolwiek w ekwiwalencie Debiana, jeśli tak nie jest).host
inslookup
zawsze wykonuj wyszukiwania DNS.Jednak inne aplikacje najpierw sprawdzą w NSS inne systemy nazewnictwa (np.
/etc/hosts
NIS itp.). Jeśli coś innego jest skonfigurowane, ale nie działa, może to uniemożliwić aplikacji próbowanie DNS.źródło
getent hosts google.com
. To używa nsswitch.conf, a następnie resolv.conf zgodnie z wymaganiami.Dzięki za odpowiedzi!
To był plik nsswitch.conf. Miałem konfigurację LDAP z samouczka, który kazał mi używać tej linii na hostach:
Kiedy zmieniłem to na:
Działa bez problemu. Więc sądzę, że plik konfiguracyjny nsswitch powodował, że zwracał null, jeśli nie został znaleziony w plikach lub mdns4_minimal, prawda?
Dzięki za pomoc!
źródło
Pierwszą rzeczą do wypróbowania jest sprawdzenie, czy DNS działa poprawnie.
Jeśli nie otrzymasz tej odpowiedzi, sprawdź /etc/resolv.conf i znajdź serwery nazw wymienione w tym pliku. Czy potrafisz pingować każdy z nich?
Spróbuj wysłać zapytanie do każdego z nich osobno:
Czy możesz rozwiązać inny host?
źródło
Miałem ten sam problem, ale oprócz zmiany
/etc/nsswitch.conf
:Musiałem także zmienić serwery nazw:
Zmień,
/etc/resolv.conf
aby wskazywał na serwery nazw Google. Te dodane przez menedżera sieci nie działają dla mnie.źródło
Czy na komputerze może być nieprawidłowy serwer proxy z błędem? Spróbuj tego:
źródło