DNSの情報はキャッシュされるため、変更が反映されるまでに時間がかかることがあります。キャッシュの有効期間は3時間程度に設定されていることが多いですが、この時間を大幅に越えても変更が反映されない場合は、設定に問題があったかも知れません。チェックポイントを次に挙げます。
BINDを再起動したか
ログファイル(/Library/Logs/named.log)を確認します。シリアルを上げ忘れていないか
シリアル番号が増えていないとゾーンファイルの内容が読み込まれません。DNSを設定したネームサーバに問い合わせてみる
nslookup で2つ目の引数にDNSを設定したサーバ(オーソリティ)を指定して変更が反映されているかを確認します。TTLの値を確認
Windowsのnslookupでは、デバッグモード(nslookup を引数無しで起動してset debugを実行)問い合わせを行うとTTLの値が表示されます。C:\prg\test\java\RegExp>nslookup
Default Server: ntt.setup
Address: 192.168.1.1
> set debug
> www.orquesta.biz
Server: ntt.setup
Address: 192.168.1.1
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
www.orquesta.biz, type = A, class = IN
ANSWERS:
-> www.orquesta.biz
internet address = 210.150.254.122
ttl = 39104 (10 hours 51 mins 44 secs)
------------
Non-authoritative answer:
Name: www.orquesta.biz
Address: 210.150.254.122
上の例(レジストラの初期設定)では、TTLが10時間以上になっているので、キャッシュが無効になるまでだいぶ待つ必要があるようです。Default Server: ntt.setup
Address: 192.168.1.1
> set debug
> www.orquesta.biz
Server: ntt.setup
Address: 192.168.1.1
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
www.orquesta.biz, type = A, class = IN
ANSWERS:
-> www.orquesta.biz
internet address = 210.150.254.122
ttl = 39104 (10 hours 51 mins 44 secs)
------------
Non-authoritative answer:
Name: www.orquesta.biz
Address: 210.150.254.122
変更を早く反映させるには
DNSの変更を早く反映させるには、予めTTLを短くセットして、キャッシュが長く保持されないようにしておくと良いようです。その場合、DNSの変更と同時にTTLの値を通常(3時間ぐらい?)に戻します。
投稿:竹形 誠司[takegata]/2009年 04月 16日 22時 34分
/更新:2009年 04月 16日 22時 41分
ルータが怪しい?
by 竹形 誠司[takegata]
レジストラでDNSの登録設定を変えてから丸一日経ったのですが、依然として設定が反映されません。それどころかttlの値が17時間に増えてしまいました。
ルータ(RV-S340NE)の設定を確認すると、DNSのアドレスは自動取得になっています。インターリンクの説明でも自動取得を推奨しているので、この設定でよいはずですが、試しにこれを手動設定に変えて、インターリンクから知らされているDNSサーバ(203.141.128.33と203.141.128.35)を設定してみます。
このルータはプロバイダの設定を変更して保存すると、接続が自動的に切れるようです。再接続してnslokoupを実行してみます。
いやー、なんだったんでしょう。ネットでちょっと検索してみた限りでは、RV-S340NEのDNS中継機能にバグがあるというような情報は見つからなかったので、もしかしたら別の原因かも知れませんが、とにかく、ルータを再起動したことで問題が解消されました。それにしれもハマったハマッた。
DNSって難しいですねぇ〜・・・
ANSWERS:
-> www.orquesta.biz
internet address = 210.150.254.122
ttl = 64423 (17 hours 53 mins 43 secs)
これは何かが変です。そこで、nslookupを実行する際にプロバイダ(インターリンク)のDNSサーバ(203.141.128.33)を指定してみました。-> www.orquesta.biz
internet address = 210.150.254.122
ttl = 64423 (17 hours 53 mins 43 secs)
C:\prg\test\java\RegExp>nslookup www.orquesta.biz 203.141.128.33
Server: tegtan1.interlink.or.jp
Address: 203.141.128.33
Non-authoritative answer:
Name: ns.orquesta.biz
Address: 116.58.176.51
Aliases: www.orquesta.biz
あれっ!?正しいIPアドレスが帰ってきます。ルータはプロバイダのDNSを中継しているはずなのに???Server: tegtan1.interlink.or.jp
Address: 203.141.128.33
Non-authoritative answer:
Name: ns.orquesta.biz
Address: 116.58.176.51
Aliases: www.orquesta.biz
ルータ(RV-S340NE)の設定を確認すると、DNSのアドレスは自動取得になっています。インターリンクの説明でも自動取得を推奨しているので、この設定でよいはずですが、試しにこれを手動設定に変えて、インターリンクから知らされているDNSサーバ(203.141.128.33と203.141.128.35)を設定してみます。
このルータはプロバイダの設定を変更して保存すると、接続が自動的に切れるようです。再接続してnslokoupを実行してみます。
> www.orquesta.biz
Server: ntt.setup
Address: 192.168.1.1
Non-authoritative answer:
Name: www.orquesta.biz
Address: 210.150.254.122
やはり帰ってくるIPは古い設定のままです。こうなると、ルータ(のDNS中継機能)を疑うしかありません。ルータを再起動してみました。その後、nslookupの実行結果は次のようになりました。Server: ntt.setup
Address: 192.168.1.1
Non-authoritative answer:
Name: www.orquesta.biz
Address: 210.150.254.122
Server: ntt.setup
Address: 192.168.1.1
Non-authoritative answer:
Name: www.orquesta.biz
Address: 116.58.176.51
新しいIPアドレスが帰ってきました!Address: 192.168.1.1
Non-authoritative answer:
Name: www.orquesta.biz
Address: 116.58.176.51
いやー、なんだったんでしょう。ネットでちょっと検索してみた限りでは、RV-S340NEのDNS中継機能にバグがあるというような情報は見つからなかったので、もしかしたら別の原因かも知れませんが、とにかく、ルータを再起動したことで問題が解消されました。それにしれもハマったハマッた。
DNSって難しいですねぇ〜・・・
投稿:竹形 誠司[takegata]/2009年 04月 17日 16時 35分
/更新:2009年 04月 17日 16時 36分