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分後に戻って再試行することが有効であることがわかりましたが、それでも、なぜこれが発生しているのか、およびそれを修正する方法を知りたいです。
過度に熱心なOSXDNSキャッシュに遭遇しました。次にこれを見るとき、あなたはそれを洗い流すことができます:
# Sudo dscacheutil -flushcache
これでSSHなどが修正されるはずです。
MavericksとYosemiteのコマンド(10.4以降)は次のとおりです。
Sudo killall -HUP mDNSResponder