2016-06-21 48 views
5

Próbuję przekierować istniejący adres WWW na komputer zdalny w mojej podsieci. Aby to zrobić, umieścić następujące do pliku/etc/hosts/etc/hosts ignorowane w mac El Capitan (10.11.5)

192.168.1.249 holub.com

i opróżnić pamięć podręczną DNS z

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Jednak, kiedy ping ping holub.com (najbardziej niezawodny sposób, jaki znam, aby zobaczyć, jak adres jest rzeczywiście rozwiązany), ja se e prawdziwy adres internetowy (204.13.10.74), inny niż podany w/etc/hosts (192.168.1.249). Co ciekawe, narzędzie mysqladmin nie rozpoznaje poprawnie adresu, ale przeglądarka Chrome poprawnie rozpoznaje adres. Zgaduję, że Chrome ma jakieś wewnętrzne obejście.

Ogólnie rzecz biorąc wygląda na to, że /223/hosty są używane po rzeczywistych wyszukiwań DNS, a nie wcześniej, tak jak powinno być, więc zewnętrzny adres nie jest przystosowany do nadpisywania.

Próbowałem używać różnych równoważników IPv6 do mojego lokalnego adresu (0: 0: 0: 0: 0: ffff: c0a8: 01f9 :: ffff: 192.168.1.249 :: 192.168.1.249), ale to doesn t pomóc. Ponowne uruchomienie (zamiast opróżniania pamięci podręcznej) również nie pomaga.

Znalazłem jedno niezadowalające obejście. Gdybym wyłączyć reponder DNS z

sudo launchctl rozładować -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

następnie/etc/hosts jest używany, ale potem nie można uzyskać dostępu do Internetu.

Jeśli ktoś napotkał ten problem, chciałbym wiedzieć, czy istnieje obejście problemu.

+2

Upewnij się, że dodany wpis jest poprawnie sformatowany: adres IP z spacją lub kartą, a następnie nazwa, a następnie linia na końcu wiersza. Spróbuj wydrukować plik hosts za pomocą 'cat -vet/etc/hosts', aby normalnie widoczne były niewidoczne znaki. Linia powinna wyglądać jak "192.168.1.249^Iholub.com $" ("^ I" to karta, a "$" to linia) lub "192.168.1.249 holub.com $". Jeśli zobaczysz "^ M" (powrót karetki) tuż przed "$", masz sformatowany tekst DOS/Windows i musisz usunąć powrót karetki. –

+0

Gordon, dzięki, ale wszystko w porządku. Prosty plik ascii utworzony z vim na mac (który jest w zasadzie uniksem BSD), więc nie ma dziwnych okien :-). Problem jest głębszy. – aholub

+0

Czy dodanie 'order hosts, bind' jako pierwszej linii w'/etc/resolv.conf' pomaga? –

Odpowiedz

6

Natrafiłem na to, szukając odpowiedzi na podobny problem i chciałem opublikować moje wyniki dla kogokolwiek innego w tej samej pozycji.

Jako zespół złożony z trzech osób stwierdziliśmy, że edycja pliku my/etc/hosts okazała się możliwa do wykonania, podczas gdy edytowanie pozostałych plików hosta najwyraźniej nie miało miejsca. Podczas dalszego kopania zdaliśmy sobie sprawę, że jestem na OS X 10.10, podczas gdy oni byli na nowszych wersjach.

Okazało się, po wypróbowaniu o milion rzeczy, że dodatki do pliku hosts w 10.11 i się widocznie nie może mieć więcej niż jedną przestrzeń pomiędzy IP i domeny, na przykład:

nie działa:

1.2.3.4  some.site.com 

wyszło:

1.2.3.4 some.site.com 

Po dokonaniu tej zmiany, od razu zaczął widząc oczekiwanych rezultatów bez czyści cache, restartuje lub ot herwise.

Wiem, że na twoim przykładzie pokazujesz tylko jedno miejsce, ale w sytuacji, gdy pojawił się on w twoim rzeczywistym pliku, chciałem to udostępnić.