ファイルを使用して、いくつかの Web サイトを localhost にリダイレクトしようとしました/etc/hosts
。これを行うには、 を使用してターミナルでファイルを開きsudo nano /etc/hosts
、ファイルを変更して保存しました。最後の手順として、 を使用して DNS キャッシュをフラッシュしました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 アドレスはタブで区切っていましたが、その間にスペースを 1 つ入れるとうまくいきました。
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 サーバー ( など8.8.8.8
) に独自のクエリを実行する場合があります。また、アプリケーションが DNS 要求のみを実行し、システム リゾルバーを経由しない場合は、ファイルを簡単に無視する可能性があります/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