chrome firefox IE safari chain youtube-play pocket hatena facebook feedly github google-plus rss twitter search code envelope-o home pencil website works calendar drawer tag
2014/06/06

[Mac] DNSキャッシュについて

ある案件で、DNSを書換えた後、まだ作業が残っている為アクセスした所、前のアドレス先を参照してしまい、作業が出来なかったので、DNSのクリアを実行した所、正規のコマンドでは効かなかった為、少々無理矢理な方法ではありますが一応こういった方法があるという事でご紹介いたします。

ある案件にて、新規サーバーにて構築した後、ドメインを移行する事になった。
ドメイン移管についてはスムーズに進んだが、Wordpressを構築している事もあり、WPアドレスや、
サイトアドレスを変更する必要があり、DNSが浸透する前に先にキャッシュをリセットをして
作業を進めようとしていた。

だが、MacのDNSのキャッシュが削除出来ない!

Windowsの方では、すぐにDNSのクリアは出来ました。

実行した内容

キャッシュのリセットについては、Macの公式サイトに乗っているコマンドを参考し、
以下のコマンドをターミナルにて実行した。Macのバージョンは10.8

$ sudo killall -HUP mDNSResponder

またローカルでのDNSをチェックする為に、以下のコマンドを実行し確認していた

$ nslookup www.foobar.jp

結果としては、前のIPアドレスを出力した.

ブラウザはGoogle Chromeを使用していたので、DNSの設定であるchrome://net-internals/#dns
にアクセスし、下の画像の赤で囲っている”Clear host cache”をクリックしクリアし、もう一度ターミナルでnslookupを確認したが、まだ前のIPアドレスを示したので、これもダメであった。

chrome-dns

コマンドが効いていないのかと思い、OnyxというMacの内部管理ソフトにて、DNSキャッシュのクリアを実行したがこれもダメであった。

結論

結論としては、DNSキャッシュは出来なったので、hostsファイルに行き先を設定する事にした。

Macのhostsファイルの置き場所は

/private/etc/hosts

ターミナルを開いて、

$ sudo vi /private/etc/hosts 

sudoでviエディタを開き、INSERTモードにしてから、

192.68.1.1 foobar.jp www.foobar.jp
接続先IPアドレス 接続先ホスト名 接続先ホスト名2

今回はこれで回避しました。
※DNSが浸透すれば、この記述は消して問題がないです。あくまで、DNSが浸透していない状態でのチェックの方法のご紹介でした。

今後の励みになりますので、良かったらシェアをお願いします。

このエントリーをはてなブックマークに追加