[Mac] DNSのキャッシュをクリアする方法

## 現象 nslookupコマンドではホスト名でIPアドレスが引けているのに、pingやssshでホスト名でアクセスしようとするとエラーメッセージが表示される。 ``` `gutter:false; % ssh hoge@lithium ssh: Could not resolve hostname lithium: nodename nor servname provided, or not known % ping lithium ping: cannot resolve lithium: Unknown host ``` 調べてみると、Macの場合はmDNSResponderなるものがDNSの情報をキャッシュしていて、sshコマンドなどはその値を使っているっぽい。以下のコマンドでキャッシュがクリアできるようです。 ``` `gutter:false; % sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder ``` やった直後は調子良かったけど、しばらくしたらまたできなくなっていたので自分が立てたDNSサーバの問題かも。 hostsファイルに追加した方が動作安定しました。 ### 動作確認環境 macOS 12.2.1 ## 参考URL - [MacでDNSキャッシュを削除する方法](https://macpaw.com/ja/how-to/clear-dns-cache-on-mac)

0 件のコメント :

コメントを投稿