web-dev-qa-db-ja.com

奇妙なNS OS Xでの動作—SSHサーバーに接続できません

DHCPサーバーを介してホスト名がDNSに自動的に登録されるネットワーク上でDebianを実行しているEeePCラップトップにSSHで接続しようとしています。 Eee PCラップトップの電源が切れてスリープ状態になり、再度起動すると、Macはnslookupプログラムを除いてそれを認識できません。

gaz:~ jeff$ ssh epc
ssh: Could not resolve hostname epc: nodename nor servname provided, or not known
gaz:~ jeff$ nslookup epc
Server:     192.168.2.20
Address:    192.168.2.20#53

Name:   epc.osnetwork
Address: 192.168.2.139

gaz:~ jeff$ ssh epc.osnetwork
ssh: Could not resolve hostname epc.osnetwork: nodename nor servname provided, or not known

さて、ssh epcは私が通常EeePCにアクセスする方法ですが、何らかの理由で、マシンがオンラインであるにもかかわらずOS Xの一部が無応答をキャッシュしていると思いますが、方法がわかりません。ある程度確実にこれを解決する方法すらわかりません。再起動で解決できると思いますが、ダウンタイムのないソリューションがないため、代わりにIPアドレスを使用しています(これは、 nslookup epcを使用したmac。これは最も厄介な部分です)。

ダウン中にEeePCに接続しようとしなかった別のMacにSSHで接続した場合、そのMacは問題なくSSHで接続できますが、元のMacに戻ってもホスト名に到達できません。

ネットワーク上の他のApple以外のマシンは、この動作に悩まされているようには見えません。

誰かがこれが起こっている理由を知っていますか、またはこの動作を修正する方法についてのアイデアを持っていますか?

[編集] 30分後に戻って再試行することが有効であることがわかりましたが、それでも、なぜこれが発生しているのか、およびそれを修正する方法を知りたいです。

6
Jeff Welling

過度に熱心なOSXDNSキャッシュに遭遇しました。次にこれを見るとき、あなたはそれを洗い流すことができます:

# Sudo dscacheutil -flushcache

これでSSHなどが修正されるはずです。

4
polynomial

MavericksとYosemiteのコマンド(10.4以降)は次のとおりです。

Sudo killall -HUP mDNSResponder

出典: https://support.Apple.com/en-us/HT202516

1
Erik Kaplun