DNSキャッシュは何層にもわたって保存されている


名前解決の順番

  1. chrome内キャッシュ
  2. ローカルキャッシュ
  3. DNSサーバ1
  4. DNSサーバ2
  5. ...

chromeのキャッシュをいくら消しても、ローカルマシンにキャッシュが残ってる限り、古いipにアクセスする。
ローカルマシンのキャッシュをいくら消しても、問い合わせ先のDNSサーバーがキャッシュを持ってる限り、古いipにアクセスする。

chrome内キャッシュの消し方

chrome://net-internals/#dns

にアクセス。

"clear host cache" ボタンをクリックで消える。

ローカルマシンのキャッシュの消し方

Macの場合

$ sudo killall -HUP mDNSResponder

mDNSResponderにSIGHUPシグナルを送るとキャッシュをクリアしてくれる

DNSキャッシュの残り時間の確認方法

$ dig hoge.com

...
;; ANSWER SECTION:
hoge.com.   1379    IN  A   42.42.42.42
...

digコマンドを打った時の、ANSWER SECTIONの2番目の項目。
上の例だと、残り1379秒。

もう一度digコマンド打つと残り時間が減っているのが確認できて楽しい。

応答サーバーの確認

$ dig hoge.com

...
;; SERVER: 10.7.128.252#53(10.7.128.252)
...

digコマンドの応答の、SERVERセクション。
この場合はローカルネット内のdnsに問い合わせしてる。

Linuxではdnsレコードのローカルキャッシュを持たない。

デフォルトでは何も持たない仕様になってるみたい。