Na mojej stacji roboczej Windows XP mogę znaleźć komputer, z którym chcę się połączyć w DNS za pomocą nslookup
:
nslookup wolfman
Server: dns.company.com
Address: 192.168.1.38
Name: wolfman.company.com
Address: 192.168.1.178
Ale kiedy próbuję połączyć się z tym komputerem, pojawia się błąd informujący, że nie można znaleźć komputera (tzn. Nie można go wyszukać w DNS):
C:\> ping wolfman
Ping request could not find host wolfman. Please check the name and try again.
Jestem w stanie się połączyć, jeśli bezpośrednio używam adresu IP:
C:\> ping 192.168.1.178
Pinging 192.168.1.178 with 32 bytes of data:
Reply from 192.168.1.178: bytes=32 time=41ms TTL=126
Reply from 192.168.1.178: bytes=32 time=41ms TTL=126
Reply from 192.168.1.178: bytes=32 time=44ms TTL=126
Reply from 192.168.1.178: bytes=32 time=38ms TTL=126
Mógłbym to obejść, dodając wpis do mojego hosts
pliku, ale wolałbym dowiedzieć się, dlaczego tak się dzieje. Problem jest przejściowy, przez większość dnia mogę dobrze połączyć się z maszyną.
Jak to jest możliwe?
ETA: Zostawiłem to dla zwięzłości, ale poproszono o:
C:\> ping wolfman.company.com
Ping request could not find host wolfman.company.com. Please check the name and try again.
ETA: Inne aplikacje uzyskują takie same wyniki. Próbowałem tylko pingować, aby uprościć. telnet nie może się połączyć, aplikacje Cygwin drukują komunikat „nieznany host wolfman”.
Aktualizacja: Za pomocą wireshark odkryłem, że moja stacja robocza nie próbuje wyszukać DNS. Po prostu zgłasza komunikat o błędzie „Nie można znaleźć hosta”.
źródło
.company.com
.nslookup
który wykorzystujesearch domain
parametr oferty DHCP (lub cokolwiek podasz dla statycznej konfiguracji IP). Potwierdź to, robiąc to, co powiedział @SLaks i sprawdzając ping nazwy FQDN hosta :)ping -4 wolfman
?Odpowiedzi:
Uważam, że nslookup otwiera połączenie winsock na porcie DNS i wydaje zapytanie, podczas gdy ping korzysta z usługi klienta DNS. Możesz spróbować zatrzymać tę usługę i sprawdzić, czy to robi różnicę.
Niektóre polecenia, które ponownie zainicjują różne stany sieci:
Zresetuj wpisy WINSOCK do domyślnych ustawień instalacji:
netsh winsock reset catalog
Zresetuj stos TCP / IP do domyślnych ustawień instalacji:
netsh int ip reset reset.log
Opróżnij pamięć podręczną resolvera DNS:
ipconfig /flushdns
Odnów rejestrację klienta DNS i odśwież dzierżawę DHCP: Opróżnij
ipconfig /registerdns
tabelę routingu:
route /f
(wymagane ponowne uruchomienie)źródło
ipconfig /registerdns
(rozwinąłem odpowiedź poniżej)Spróbuj ping z nazwą hosta, a następnie kropką. Więc zamiast
ping wolfman
używaćping wolfman.
To powinno pomóc Ci rozwiązać problem bez konieczności obejścia problemu z plikiem hosts itp.
źródło
Spróbuj
ipconfig /displaydns
poszukać wolfmana. Jeśli jest przechowywany w pamięci podręcznej, ponieważ „nazwa nie istnieje” (być może z powodu poprzedniego przerywanego nieudanego wyszukiwania), możesz opróżnić pamięć podręcznąipconfig /flushdns
.nslookup
nie korzysta z pamięci podręcznej, ale bezpośrednio wysyła zapytania do serwera DNS.źródło
nslookup -all
? Jest nanovc
liście?Spróbuj dodać
.
do sufiksów DNS dla tego połączenia. Tj. Przejdź do:.
jako sufiks.Te same kroki pokazano na poniższym zrzucie ekranu:
To powinno
ping wolfman
zadziałać.Wyjaśnienie
nslookup wolfman
(wyszukiwanie serwera nazw: wolfman) wysyła nazwę hosta (wolfman
) do DNS (system nazw domen) w celu uzyskania odpowiedniego adresu IP. Jest to jedyny celnslookup
polecenia. To już działa, więc sprawdziliśmy, czy DNS działa i czywolfman
rzeczywiście odpowiada adresowi IP.Przeciwnie,
ping wolfman
musi zrobić dwie rzeczy:wolfman
).W systemie Windows (nawet najnowsze wersje, takie jak Windows 10), pierwszy krok może łatwo zakończyć się niepowodzeniem. Ze względu na kompatybilność wsteczną system Windows obsługuje różne metody rozpoznawania nazw hostów (plik hosts, DNS, NetBIOS / WINS, plik LMHOST).
Niestety wydaje się, że
ping
polecenie systemu Windows nie zawsze próbuje wyszukać DNS. Nie znam konkretnych warunków, które powodują to zachowanie.Na szczęście możemy zmusić system Windows do przeprowadzenia wyszukiwania DNS przy użyciu nazwy FQDN (w pełni kwalifikowanej nazwy domeny). W praktyce, możemy to zrobić poprzez dodanie przyrostka do
.
kropki do hosta:wolfman.
. Spróbujping wolfman.
i sprawdź, czy to działa.Ostatnim krokiem jest wymuszenie na systemie Windows dodania tej kropki. Już na początku tej odpowiedzi pokazałem, jak to zrobić.
źródło
wolfman
a wyszukiwanie DNS nie jest (najwyraźniej) priorytetem wśród tych metod. Teraz, jeśli użyjeszwolfman.
zamiast tego, system Windows będzie traktować priorytetowo wyszukiwanie DNS przed innymi metodami, ponieważwolfman.
jest to nazwa FQDN, która (oczywiście) wymaga wyszukiwania DNS.nslookup
działa inaczej niż inne polecenia podczas rozwiązywania nazw / adresów IP w systemie Windows.Normalny sposób rozdzielczości w systemie Windows jest następujący:
nslookup
z drugiej strony służy do testowania serwerów nazw domen.źródło
Walczyłem z podobnym problemem i wypróbowałem rozwiązanie sugerowane przez @harrymc. Znalazłem to, co ostatecznie wydaje się (przynajmniej nieco) działać na forum Microsoft Technet ( nslookup działa, ale nic innego nie ma DNS na samodzielnym komputerze z Win7 )
Oto cytat:
Zasadniczo więc brakowało mi
ipconfig /registerdns
źródło
/registerdns
polecenieWłaśnie dzisiaj mieliśmy ten sam problem , ale rozwiązanie było inne . Pomyślałem, że dodam go w celach informacyjnych, ponieważ był to najwyższy wynik wyszukiwania.
ping
nie rozwiąże nazwy hosta, alenslookup
może. (Obserwowane na 2 różnych hostach Windows Server 2012 R2).źródło
Może wolfman.company.com znajduje się na liście C: \ Windows \ system32 \ drivers \ etc \ hosts?
nslookup omija ten plik i zawsze pyta DNS, podczas gdy ping i inne narzędzia najpierw szukają w pliku „hosts”, a potem w DNS.
źródło
Miałem ten sam problem w systemie Windows 2012R2 (= 8.1) i wypróbowałem wszystkie powyższe sugestie, ale żadna z nich nie rozwiązałaby tego problemu:
- Pingowanie w pełni kwalifikowanej nazwy działało.
- Pingowanie niewykwalifikowanego imienia nie.
- Oba działały na kilku innych systemach, które miały ten sam system operacyjny i najwyraźniej tę samą konfigurację.
- Były tam wszystkie niezbędne ciągi wyszukiwania sufiksów.
(Należy pamiętać, że niektóre z proponowanych poprawek, takie jak obejście dla zapytań obejmujących wiele etykiet, są oczywiście nieistotne, ponieważ niekwalifikowana nazwa ma tylko jedną część.)
Potem zauważyłem, że system docelowy, który próbowałem pingować, NIE ma adresu IPv6. Próbowałem więc „ping -4 unqualified_name ” i bingo! to zadziałało.
Z jakiegoś powodu, tylko w tym systemie, ping tylko próbował rozwiązać niewykwalifikowaną nazwę-> adres IPv6, a nie niewykwalifikowaną nazwę-> IPv4.
Dla mnie poprawką było całkowite wyłączenie IPv6, ponieważ wcale go nie potrzebuję. Byłbym jednak bardzo zainteresowany znalezieniem łagodniejszego sposobu, aby powiedzieć ping (lub prawdopodobnie usługa klienta DNS), aby spróbował rozwiązać zarówno adresy IPv4, jak i IPv6.
źródło
Dodanie wpisu do pliku
c:/windows/system32/drivers/etc/hosts
może to naprawić.źródło
Próbowałem dowiedzieć się, dlaczego na jednym komputerze z systemem Windows 7 mogę użyć,
ping server
który działa, a na drugim nie można go rozwiązaćserver
. Jednak oba mogły pingować,server.lan
czego nie do końca rozumiałem.Okazuje się, że zawiodłem przy niektórych ustawieniach (sufiksach DNS), aby nie musieć używać nazw FQDN podczas korzystania z pracy VPN. Musiałem dodać moje lokalne
.lan
do tych przyrostków, aby oba komputery działały tak samo.Przejdź do Panelu sterowania> Sieć i Internet> Połączenia sieciowe i kliknij prawym przyciskiem myszy połączenie sieciowe i kliknij Właściwości. Kliknij Protokół internetowy w wersji 4 i naciśnij przycisk Właściwości. Następnie przycisk Zaawansowane ... w tym nowym oknie. Przejdź do zakładki DNS, tutaj dodałem sufiks DNS do mojej pracy, ale potrzebowałem go również do normalnych połączeń domowych.
źródło
Natknąłem się również na ten problem. „Najłatwiejszym” sposobem, aby to naprawić, było po prostu dodać
.
na końcu nazwy hosta. Jest to jednak dość irytujące. Większość sieci tego nie wymaga. Wolałbym nie mówić każdemu w sieci, aby zrobił to, gdy musi uzyskać dostęp do tego samego zasobu.Patrzyłem na sugestię Frederika Aalunda jako możliwego rozwiązania i zauważyłem, że sugerowali oni przejście z domyślnej opcji „Dołącz sufiksy DNS podstawowej i specyficznej dla połączenia”. To sprawiło, że pomyślałem, że może moja sieć była po prostu nieco źle skonfigurowana.
Patrząc na moje ustawienia DD-WRT, „Domena LAN” pozostała nieustawiona. Ustawienie tego na dowolny ciąg rozwiązało ten problem dla wszystkich klientów w mojej sieci bez specjalnej konfiguracji na każdym komputerze, rozwiązanie, którego chciałem! :)
źródło
Zetknąłem się z tym podczas migracji do systemu Windows 7 z systemu Windows XP, ten problem był związany z problemem Windows 7 Multi Label DNS Query.
Zezwalaj na dołączanie sufiksu DNS do niekwalifikowanych zapytań o nazwy z wieloma etykietami - patrz:
http://computerstepbystep.com/allow_dns_suffix_appending_to_unqualified_multi_label_name_queries.html
Mam nadzieję że to pomoże
źródło
Jeśli w systemie Mac OS X może to być problem z pamięcią podręczną DNS:
Zrzuć pamięć podręczną
źródło
Podnoszę to, ponieważ przeszkadzało mi to w zeszłym roku i może znalazłem obejście.
Dla mnie wydawało się, że jakiś system buforowania dns w kliencie Windows jest uszkodzony. Dotyczy to systemów Windows 7 i 8.1 ... nie można już wiele powiedzieć o Windows XP. ping nie rozpoznaje nazwy. to nie część icmp jest ważna, ale część rozpoznająca nazwę). Program nslookup służy do wysyłania zapytań do serwera nazw i robi dokładnie to, bez rozwiązywania hierarchii nazw systemu Windows.
Ponowne uruchomienie usługi dnscache pomogło za każdym razem. Ale ponieważ wyłączyłem IPv6 na wszystkich interfejsach klienta, problem już się nie pojawił.
Twoje zdrowie!
źródło
Mogę się mylić, ponieważ jest to oparte na moich dawno zapomnianych dniach korzystania z zestawu zasobów NT4.
Jako taryf mogę przypomnieć, PING używa Netbios / WINS i DNS (w tej kolejności, przynajmniej jeśli nie podasz FQDN).
WINS nie ma już wiele lat temu, ale wciąż możesz mieć włączone Netbios w swoim interfejsie, dlatego PING może używać netbios, które mogą nie dać ci żadnego rezultatu. Zwłaszcza jeśli ruch gdzieś przechodzi przez router.
Wystarczy wyłączyć Netbios, a Ping użyje DNS jako pierwszego priorytetu i dołączy nazwę interfejsu DNS zarejestrowanego w interfejsie do twojej nazwy hosta.
źródło
Właśnie miałem ten problem, znalazłem coś dość osobliwego i udało mi się go naprawić Lol
Zasadniczo, jeśli masz jakieś wpisy w pliku hosts, które są takie same jak adres IP, na który ping próbuje rozwiązać ping, zakończy się niepowodzeniem.
Na przykład, jeśli w swoim DNS masz rekord dla www.example.com - 10.0.0.20, ale potem masz wpis w pliku hostów klienta, 10.0.0.20 cośelse.com, nie będziesz mógł pingować www .example.com
Dziwne huh
źródło
W moim przypadku rozwiązaniem tego problemu było dodanie domeny hosta, którą próbowałem pingować do opcji zasad grupy o nazwie „Lista wyszukiwania sufiksów DNS” .
Procedura jest w skrócie następująca: Otwórz
gpedit.msc
i przejdź doComputer Configuration -> Administrative Templates -> Network -> DNS Client > DNS Suffix Search List
, ustaw ją na „Włączone” i dodaj nazwę domeny do listy (lista jest domyślnie pusta).Bardziej szczegółowy opis tych kroków można znaleźć tutaj
źródło
Miałem ten sam problem i okazało się, że inna maszyna ma ten sam adres IP, i to go spowodowało.
Zmieniono adres IP z powrotem na DHCP i wszystko działało dobrze.
źródło
ping bbbbbbb.com
iping bbbbbb.com
dla porównania.)Żadne z rozwiązań tutaj nie działało dla mnie. To, co zadziałało, to ponowne połączenie się z VPN mojej pracy za pomocą OpenVPN. Potem po rozłączeniu wszystko działało dalej.
Uważam, że problem związany był z brakiem zasilania, gdy mój komputer był połączony z openVPN. Jedynym sposobem, w jaki to wymyśliłem, było użycie WireShark. Zauważyłem, że docelowe adresy IP wszystkich zapytań były adresami IP w wewnętrznej sieci mojej pracy.
źródło
ping używa protokołu ICMP, w szczególności „żądania echa” i „odpowiedzi echa”.
wiele sieci wyłącza narzędzia ICMP, aby zapobiec atakom lub podstawowym skanowaniu sieci. Zauważyłem, że wiele routerów, które kupujesz, ma ustawienie wyłączające ping i podobne narzędzia włączone domyślnie.
więcej o ICMP można znaleźć tutaj:
http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
źródło