/etc/hosts가 macOS 10.13에서 작동하지 않습니다.

/etc/hosts가 macOS 10.13에서 작동하지 않습니다.

/etc/hosts파일을 사용하여 일부 웹사이트를 localhost로 리디렉션하려고 했습니다 . 이를 위해 터미널에서 파일을 연 sudo nano /etc/hosts다음 파일을 수정하고 저장했습니다. 마지막 단계로 sudo killall -HUP mDNSResponder.

내 호스트 파일은 다음과 같습니다.

$ cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1 somethig.com
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

이것은 단순히 작동하지 않습니다. 운없이 재부팅을 시도했습니다. 나 또한 많은 연구를 했지만 인터넷에서 효과적인 답변을 찾지 못했습니다. OS가 여전히 이 파일을 사용합니까, 아니면 실제로 작동하지 않습니까?

저는 macOS 10.13을 사용하고 있습니다.

답변1

호스트와 IP 주소를 탭으로 구분하여 그 사이에 공백 하나만으로 전환하는 것이 효과적이었습니다.

127.0.0.1 www3.mytestsite.com

답변2

OSX데일리High Sierra에 대한 다른 명령 세트가 있습니다. 시도해 볼 가치가 있을 것입니다...

sudo killall -HUP mDNSResponder; sleep 2; echo macOS DNS Cache Reset | say

아니면 끈적끈적한지..

sudo killall -HUP mDNSResponder && echo macOS DNS Cache Reset

답변3

10.13.3 시스템에서 작동합니다.

% grep example /etc/hosts
127.0.0.1 example.com
% perl -MSocket -e 'printf "%vx\n", inet_aton "example.com"'
7f.0.0.1
% dns-sd -G v4 example.com
DATE: ---Tue 06 Mar 2018---
10:49:47.455  ...STARTING...
Timestamp     A/R Flags if Hostname                               Address
                               TTL
10:49:47.457  Add     2 -1 example.com.                           127.0.0.1
                               1

하지만! 일부 애플리케이션(예: Google Chrome)은 자체 DNS 서버(예: )에 대해 자체 쿼리를 수행할 수 있으며 , 애플리케이션이 DNS 요청만 하고 시스템 확인자를 거치지 않는 경우 파일을 8.8.8.8쉽게 무시할 수 있습니다 ./etc/hosts

% host example.com
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946

관련 정보