web-dev-qa-db-ja.com

OS X10.5でルートを削除するにはどうすればよいですか

特定のIP名(sample.com)に対するすべての要求をループバックアドレス(127.0.0.1)にルーティングするようにMacを構成しました。今、私はこれを削除しようとしていますが、どこでそれを行うかを決定できません。

  1. / etc/hostsの下にそのエントリはありません。
  2. ルーティングテーブルは、IP名をMacのIPアドレスにマッピングしていることを示しています。

以下のルーティングテーブル出力:

インターネット:
 
 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アドレスへのルートを削除できます-ループバックだけではありません。どこか別の場所で削除する必要があると思います...

2
user40853

したがって、重要なのは、これがホストエイリアスであるということだったようです。

  1. 便利な投稿 を見つけました

  2. ホストのキャッシュを確認しました

    Sudo dscacheutil -cachedump -entries Host

  3. / Local/Defaultの下にリストされているホストエイリアスを見つけました

  4. ディレクトリサービスを確認しました。

    Sudo dscl localhost -list Local/Default/Host

  5. 案の定、ありました!

  6. 私はそれを削除しました:

    Sudo dscl localhost -delete Local/Default/Hosts/sample.com

ある時点で、再起動後も消えたままかどうかを確認しますが、今のところ、問題は解決しています。

3
user40853

ルーティングテーブルをフラッシュすることもできます!

# 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
3
jeff

ターミナルで以下を実行します。route delete sample.com

0
Mark Henderson

便利な投稿 で述べたように、OSXは/etc/hosts他のすべてのOSと同じように、NetInfoのCthulhoidホラーを呼び出す必要はもうありません。

0
Brad Ackerman