Plik HOSTS jest ignorowany

23

Moja stacja robocza (Windows XP, Professional, v2002, SP3) całkowicie ignoruje plik hosts.

Oto kod w moim pliku hosts:

127.0.0.1       localhost

172.17.1.107    wiki

Ale kiedy otwieram przeglądarkę i wpisuję „wiki” w pasku adresu URL i nacisnę „Enter”, zabiera mnie do starej lokalizacji mojej wiki, tak jak pojawiła się w moim starym pliku hosts:

10.0.36.100     wiki

Mimo że zmieniłem nazwę starego pliku hosts na „hosts_full” i przeniosłem go na pulpit (więc całkowicie z folderu etc).

Do tej pory podjąłem następujące kroki:

  1. Uruchomiony ponownie (3 razy)
  2. Biegł ipconfig /flushdnsz linii poleceń
  3. Uruchomiono ping wikiz linii poleceń, odpowiedź była

Reply from 10.0.36.100: bytes=32 time=1ms TTL=63

Wyczyściłem każdą pamięć podręczną, o której mogę myśleć (IE, FF).

Mam klienta zapory ISA, który działa na moim komputerze i próbowałem tego wszystkiego z wyłączoną i włączoną funkcją. W rzeczywistości zapora używa starego pliku hosts do samodzielnego rozwiązania:

10.0.2.126      isa3

I jakoś nadal działa dobrze, mimo że nowy plik hosts nie zawiera tej linii.

Jakieś pomysły??? Z góry dziękuję za pomoc!

cmcculloh
źródło
co się stanie, gdy utworzysz nowy wpis dla tego adresu IP, powiedz 172.17.1.107 wikitest?
shufler

Odpowiedzi:

24

Czy jest jakaś szansa, że ​​używasz serwera proxy do przeglądania? Jeśli tak, być może serwer proxy rozpoznaje nazwę dns.

I dlatego otrzymujesz różne wyniki w linii poleceń z pingiem w przeciwieństwie do przeglądarki.

Ruch poza przypadkiem jest przechwytywany i zmieniany. Bardzo mało prawdopodobne ...

artefex
źródło
1
Tak, faktycznie dowiedziałem się, że istnieje korporacyjny serwer proxy, który przechwytuje moje żądania i odpowiada na nie. Jakoś omijał mój plik hosts. Jeśli w korporacyjnym serwerze proxy był wpis, przesłaniał on mój plik lokalnego hosta. Chociaż ta odpowiedź tak naprawdę nie powiedziała „jak” naprawić problem, zidentyfikowała rzeczywistą przyczynę problemu (nie jest to zapora ogniowa ...)
cmcculloh
1
Kiedy miałem problem, było to łatwe. Zdecydowałem się nie używać proxy dla tego adresu IP (w ustawieniach proxy w Firefoksie) Ta poprawka może nie dotyczyć twojego problemu (Zapora może blokować wychodzące HTTP bez proxy itp.). Może to być również dziwka w przypadku wielu komputerów, jeśli nie masz scentralizowanego zarządzania profilami Mozilli. Nie mogę odpowiedzieć za IE, ponieważ go nie używamy.
artifex
3
.. * suka * roll out .. Lol
manas
1
Minęły tylko 4 lata, zanim ktoś zauważył @silent_warrior;)
artifex,
1
@artifex Dziękuję za odpowiedź i komentarz, dzięki czemu zdałem sobie sprawę, że mogę skonfigurować wyjątki, które rozwiązały mój problem. Każdy zainteresowany może zobaczyć tutaj: stackoverflow.com/questions/37658876/…
haakym
9

Firewall odpowiada na pingi?
To jest długa szansa od adresu IP, który podałeś, ale co się stanie, gdy bezpośrednio pingujesz nowy adres IP, czy to działa?

Powód, dla którego pytam, jeśli 10.0.36.100 jest zaporą ogniową, która reaguje na ping, odpowie na to, nawet jeśli pingowałeś inne IP ....

Plik Big Hosts?
Poza tym dostałem raz i mnie od informatyka, w plikach hostów okien było mnóstwo pustych linii, a potem wpisy poniżej - nie zauważyliśmy paska przewijania :-)

Czy plik hosts naprawdę jest plikiem hosts?
Na koniec spójrz do rejestru i upewnij się, że plik hosta jest tam, gdzie go uważasz, następujący klucz określa, gdzie jest rzeczywisty plik hostów:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
Kyle Brandt
źródło
1
1: Odpowiedź od 172.17.1.107: bajty = 32 czas <1ms TTL = 63 2: Nie, przejrzał pasek przewijania całego pliku hostów i wszystko ... 3: DataBasePath, Type = "REG_EXPAND_SZ", Data = "% SystemRoot% \ System32 \ drivers \ etc "Ta część% SystemRoot% zainteresowała mnie, więc otworzyłem moje" Zmienne środowiskowe "i szukałem zmiennej SystemRoot. Nie widziałem jednego, więc utworzyłem jeden i ustawiłem go na C: \ Windows, potem zrobiłem ipconfig / flushdns i wysłałem ping do www.wiki.com, ale nadal odpowiadał z 70.35.23.23 zamiast 172.17.1.107 (który jest co ustawiłem w pliku hosts). W każdym razie dzięki! Dobre sugestie wszystkim!
cmcculloh,
Dobry chwyt, mój system uruchamiał się z dysku E: a nie C: zgodnie z oczekiwaniami.
Manny,
5

Spróbuj opróżnić pamięć podręczną DNS za pomocą przycisku Start -> Uruchom ...

 ipconfig /flushdns

Spróbuj także dezaktywować NetBIOS i LMHOSTS dla swojej karty sieciowej. Możesz zmienić ustawienia we właściwościach TCP / IP używanego połączenia sieciowego, w obszarze Zaawansowane -> WINS.

żarcie
źródło
To jest pierwsza rzecz, którą ktoś spróbuje ...
vsync 18.09.16
3

Według http://technet.microsoft.com/en-us/library/bb727005.aspx może to być lokalna pamięć podręczna nazw NETBIOS. Możesz użyć nbtstat ( http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true ) do zapytania / czyszczenia tej pamięci podręcznej.

Maximus Minimus
źródło
kiedy wydaje polecenie „nbstat”, otrzymuję komunikat „nbstat” nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy
cmcculloh
nbtstat, nie nbstat - brakuje pierwszego „t” ... :)
Maximus Minimus
oops: P Ok, zrobił nbtstat -R i nbtstat -RR i nbtstat -r, a następnie nbtstat -c (i powiedział: „brak nazw w pamięci podręcznej)
cmcculloh
i nadal nie działało btw
cmcculloh
3

Okazuje się, że mój korporacyjny DNS został trafiony przed plikiem mojego hosta. Więc ja:

  1. Otworzyłem moje właściwości TCP / IP (Panel sterowania> Połączenia sieciowe> Połączenie lokalne> Właściwości> (przewiń w dół) Protokół internetowy (TCP / IP)> Właściwości.
  2. Kliknął „Użyj następujących adresów serwera DNS:” (zamiast Uzyskaj adres serwera DNS automatycznie)
  3. wpisał „172.0.0.1” i „172.0.0.2” (i kliknął OK)

Teraz mój plik hosts działa dobrze ... Z wiersza poleceń. Jeśli jednak wstawię wpis dla www.google.com, który wskazuje na 172.17.1.107, kiedy pinguję go z wiersza poleceń, zwraca adres IP podany w pliku hosts. Ale jeśli kliknę go w przeglądarce, nadal pokazuje mi Google zamiast mojej strony lokalnej. Ale jeśli wstawię wpis dla „fredspc”, który wskazuje na 172.17.1.107, i kliknę go w przeglądarce, zabierze mnie to do 172.17.1.107.

Zrozumiałem to, ponieważ jeśli wprowadzę „tedspc” w moim pliku hosts (tj. Coś, co nigdy się nie rozwiąże) i podam mu adres IP i wyśledzę go ping, rozwiąże to ten adres IP. Problem polegał na tym, że www.wiki.com i cokolwiek innego, co wpisywałem do mojego pliku hosts, miało wpis na moim firmowym serwerze DNS, co powodowało, że się go rozwiązywało, co oznaczało, że nigdy nie przeglądał pliku mojego hosta (ponieważ korporacyjny serwer DNS zostanie najpierw sprawdzony przed plikiem hosts). Więc wyciąłem korporacyjny DNS z pętli wiersza poleceń, ale chyba nie z pętli przeglądarki. Chyba ... Jakieś pomysły?

cmcculloh
źródło
1
Cześć. Dobrze słyszeć, że masz obejście. Ale o ile wiem, plik hostów powinien zawsze być używany najpierw do wyszukiwania dns przed każdym wpisem na liście serwerów dns. Czy można całkowicie wyłączyć wyszukiwanie w pliku hosts za pomocą niektórych opcji dhcp? Być może możesz dodać swoje korporacyjne serwery DNS jako trzeci i czwarty wpis na liście serwerów dns.
grub
Być może twoje przeglądarki są skonfigurowane z serwerem proxy?
Oskar Duveborn,
2

Za każdym razem, gdy używam pliku hosta dla moich wpisów DNS (co jest zawsze), wyłączam (wyłączam) usługę DNS (services.msc) działającą natywnie. Następnie wykonaj ipconfig / flushdns, jeśli to się nie powiedzie, uruchom ponownie serwer / pulpit i wyczyści pamięć podręczną. Jakie wpisy DNS nie znajdują się w pliku hosta, serwer / pulpit zastosuje domyślne ustawienia DNS skonfigurowanego interfejsu sieciowego. Pozwala to również na testowanie różnych zapór ogniowych i tym podobnych.

mikedopp
źródło
2

Właśnie mnie przyłapano na zmianie C: \ windows \ system32 \ drivers \ etc \ hosts, gdy % SystemRoot% zdefiniowano jako C: \ WINNT zamiast C: \ windows ... Nie wiem, dlaczego ten konkretny serwer miał cały instalacja systemu Windows w C: \ windows i C: \ winnt, ale przynajmniej nie czuję się już szalona.

Czuję się trochę głupio, ale to kolejny szybki test dla innych osób, które napotykają ten problem!

nvuono
źródło
2

Czy na pewno edytujesz PRAWY plik hostów? Zwykle znajduje się w

%SystemRoot%\system32\drivers\etc\hosts

Mikrofon
źródło
2

Po wypróbowaniu wielu różnych sugerowanych rozwiązań sprawdziłem zabezpieczenia w folderze „etc” i porównałem jego uprawnienia z uprawnieniami do folderu „es-ES”, i stwierdziłem, że użytkownicy grupy nie mieli uprawnień do odczytu i wykonywania, tak jak w przypadku inny. Po przejęciu własności (ponownie) folderu „etc” przyznałem grupie Użytkownicy uprawnienia do odczytu i wykonywania oraz odziedziczyłem je po zawartości folderu. To naprawiło dla mnie problem - jakakolwiek część systemu wysyła zapytania do pliku hosts, najwyraźniej podlega ograniczeniom grupy użytkowników. Musiałem w pewnym momencie przypadkowo usunąć uprawnienia grupy podczas próby modyfikacji pliku hosts.

peterr
źródło
Naprawiłem to dla mnie. Właśnie dodałem grupę Użytkownicy bezpośrednio do pliku hosts, opróżniłem pamięć podręczną, a plik hosts został natychmiast ponownie przestrzegany.
user51928
2

Ważne jest usunięcie oryginalnego pliku w systemie Windows i zastąpienie go nowym.

Wiem, że na pytanie udzielono odpowiedzi, ale jasne jest, że istnieje wiele różnych przyczyn i możliwych rozwiązań. Sztuczka polegała na usunięciu pliku, a nie na zastąpieniu go.

Wiem też, że @olefebvre opublikował już coś podobnego, ale nie rozpoznałem go za pomocą skrótów i nie jest (tylko) związany z nieparzystymi znakami, ma doprowadzić okna do rozpoznania pliku w ogóle.

Hugo der Hungrige
źródło
Dzięki, to właśnie zaoszczędziło mi dużo czasu i frustracji.
Andy Lester,
2

spróbuj użyć spacji zamiast tabulatorów.

Jak tutaj:

127.0.0.1 localhost
172.17.1.107 wiki
Ahmad Ahmad
źródło
1

Czy możesz sprawdzić swoje uprawnienia do pliku hosta? Spróbuj użyć nazwy FQDN dla wpisu „wiki” pliku hosta.

olefebvre
źródło
Jakie powinny być uprawnienia (w tej chwili plik nie jest tylko do odczytu i wszystkie uprawnienia są ustawione tak, aby umożliwić wszystkim użytkownikom)? Próbowałem ustawić www.wiki.com i nadal nie działało. (Zmieniłem wiersz na 172.17.1.107 www.wiki.com) Następnie otworzyłem wiersz polecenia i spróbowałem pingować www.wiki.com, a ono zwróciło „Pinging www.wiki.com [70.35.23.23] z 32 bajtami danych ”, ale trzy razy powiedział„ Upłynął limit czasu żądania ”. Potem wszystko, co próbowałem pingować, zwróciło limit czasu żądania. Jestem teraz w trakcie instalacji BIND, aby spróbować to naprawić, nie wiem, czy to wpłynęłoby na pingi ...
cmcculloh
A teraz albo źle zainstalowałem BIND, albo mój komputer też to ignoruje, ponieważ albo nie działa ...
cmcculloh
Spróbuj usunąć plik i utwórz nowy, bez kopiowania / wklejania. Może jakiś redaktor wstawił tam nieparzyste znaki (UTF8).
olefebvre
1

sprawdziłeś hosty i lmhosts.sam?

JamesRyan
źródło
Tak, wszystko w lmhosts.sam jest skomentowane i są tylko dwie linie, które
podałem