/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