特定のIP名(sample.com)に対するすべての要求をループバックアドレス(127.0.0.1)にルーティングするようにMacを構成しました。今、私はこれを削除しようとしていますが、どこでそれを行うかを決定できません。
以下のルーティングテーブル出力:
インターネット: DestinationGateway Flags Refs Use Netif Expire default 192.168.2.1 UGSc 4 1 en0 127 sample.com UCS 0 0 lo0 sample.com sample.com UH 1 7093 lo0 169.254 link#4 UCS 0 0 en0 192.168.2 link#4 UCS 6 0 en0 192.168.2.1 0:11: 22:22:3f:fa UHLW 20 55565 en0 1070 192.168.2.15 tsema.org UHS 0 9 lo0 192.168.2.255 link#4 UHLWb 4 84777 en0
どんな助けでも大歓迎です!
更新:注-192.168.2.15アドレスへのルートを削除できます-ループバックだけではありません。どこか別の場所で削除する必要があると思います...
したがって、重要なのは、これがホストエイリアスであるということだったようです。
便利な投稿 を見つけました
ホストのキャッシュを確認しました
Sudo dscacheutil -cachedump -entries Host
/ Local/Defaultの下にリストされているホストエイリアスを見つけました
ディレクトリサービスを確認しました。
Sudo dscl localhost -list Local/Default/Host
案の定、ありました!
私はそれを削除しました:
Sudo dscl localhost -delete Local/Default/Hosts/sample.com
ある時点で、再起動後も消えたままかどうかを確認しますが、今のところ、問題は解決しています。
ルーティングテーブルをフラッシュすることもできます!
# cf. http://ola-bini.blogspot.com/2008/05/faulty-routes-on-macos-x.html
Sudo route flush
特定のルートを削除するには、次を使用します。
Sudo route delete <ipnum> 127.0.0.1
デフォルトルートを取得するには、次を使用します。
route -n get default
netstat -rnf inet # ... and compare it with the Routing tables
最後の手段として、現在の/etc/hosts
ファイルの内容を以下の元の内容に置き換えて、コンピューターを再起動します。
# original /etc/hosts on Mac OS X 10.6
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
ターミナルで以下を実行します。route delete sample.com
便利な投稿 で述べたように、OSXは/etc/hosts
他のすべてのOSと同じように、NetInfoのCthulhoidホラーを呼び出す必要はもうありません。