読者です 読者をやめる 読者になる 読者になる

masalibの日記

システム開発、運用と猫の写真ブログです

DNSの移行の確認について

DNSの移行の確認について

概要

もともとXXX.XXX.XXX.XXXというIPで
DNSを管理していたのですが
今後はクラウド環境のYYY.YYY.YYY.YYY
DNSサーバーに引っ越す事になりました

ゾーンファイルの内容は変えないので
そのままコピペで終了なのですが
YYY.YYY.YYY.YYYのサーバーに本当に反映されているのか
確認した


 移行ドメイン:masalib.net
 移行前DNS:XXX.XXX.XXX.XXX
 移行後DNS:YYY.YYY.YYY.YYY

内容の確認手順

digコマンドで確認する

dig a +norec @XXX.XXX.XXX.XXX masalib.net

; <<>> DiG  <<>> a @XXX.XXX.XXX.XXX masalib.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57650
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;masalib.net.                   IN      A

;; AUTHORITY SECTION:
masalib.net.            873     IN      SOA     ns-1692.awsdns-19.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

;; Query time: 1 msec
;; SERVER: XXX.XXX.XXX.XXX#53(XXX.XXX.XXX.XXX)
;; WHEN: Fri Aug dd hh:mm:ss 2015
;; MSG SIZE  rcvd: 116

補足
aはAレコードを取得するというものです

”+norec”は再起問合せをしない
(ゾーンファイルがあるならしないでもとれる為)
”+nottlid”でTTLを非表示にすることができる

http://www.geocities.jp/yasasikukaitou/dig.html

digコマンドのコメントを削除する手順


”;”で始まるのは実際には使っていない情報です
”;”で始まる部分は除外するプログラムを用意する

sanitize.pl

use strict;
use warnings;
use utf8;

while (my $line = <STDIN>){
	chomp($line);
	 if ($line =~/^\;/m ){
#	  print "出力しない";
	}elsif ($line eq "" ){
#	  print "出力しない";
	}else{
	  print "$line\r\n";
	}	
}

digコマンドの標準出力した結果に対して実行する

dig a +norec @XXX.XXX.XXX.XXX masalib.net | perl sanitize.pl

masalib.net.            900     IN      SOA     ns-1692.awsdns-19.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

すっきりしました

内容の確認手順

これで比較しやすくなったので
移行前と移行後をくらべます

dig a +norec @XXX.XXX.XXX.XXX masalib.net | perl sanitize.pl >> before.txt
dig a +norec @yyy.yyy.yyy.yyy masalib.net | perl sanitize.pl >> after.txt
diff before.txt after.txt


2015/09/01追記
diffした結果は
・nsレコードに差分がある
・変更するためにTTLを短くしているのでその差分がある
・serial№は必ず差分が発生する



ちなみに移行前だと結果がちがうので
ここでも確認できるかも


# dig a +norec @XXX.XXX.XXX.XXX masalib.net | perl sanitize.pl 
masalib.net.          5       IN      A       54.231.224.67
masalib.net.          172800  IN      NS      ns-1339.awsdns-39.org.
masalib.net.          172800  IN      NS      ns-1615.awsdns-09.co.uk.
masalib.net.          172800  IN      NS      ns-395.awsdns-49.com.
masalib.net.          172800  IN      NS      ns-735.awsdns-27.net.

# dig a +norec @yyy.yyy.yyy.yyy masalib.net | perl sanitize.pl
com.            171417  IN      NS      k.gtld-servers.net.
com.            171417  IN      NS      l.gtld-servers.net.
com.            171417  IN      NS      m.gtld-servers.net.
com.            171417  IN      NS      a.gtld-servers.net.
com.            171417  IN      NS      b.gtld-servers.net.
com.            171417  IN      NS      c.gtld-servers.net.
com.            171417  IN      NS      d.gtld-servers.net.
com.            171417  IN      NS      e.gtld-servers.net.
com.            171417  IN      NS      f.gtld-servers.net.
com.            171417  IN      NS      g.gtld-servers.net.
com.            171417  IN      NS      h.gtld-servers.net.
com.            171417  IN      NS      i.gtld-servers.net.
com.            171417  IN      NS      j.gtld-servers.net.


実際に手順に落としてみると
digコマンドの知らないことがわかってよかった


SOAのレコードは+multilneのオプションを付けたほうがわかりやすかった
(出力した結果を1行ではなくていとうな所で改行してくれる機能)
なしの場合

dig soa +norec +nottlid  @ns-1339.awsdns-39.org masalib.net | perl sanitize.pl
masalib.net.          IN      SOA     ns-1339.awsdns-39.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
masalib.net.          IN      NS      ns-1339.awsdns-39.org.
masalib.net.          IN      NS      ns-1615.awsdns-09.co.uk.
masalib.net.          IN      NS      ns-395.awsdns-49.com.
masalib.net.          IN      NS      ns-735.awsdns-27.net.

ありの場合

dig soa +norec +nottlid +multiline @ns-1339.awsdns-39.org masalib.net | perl sanitize.pl
masalib.net.          IN SOA  ns-1339.awsdns-39.org. awsdns-hostmaster.amazon.com. (
                        1          ; serial
                        7200       ; refresh (2 hours)
                        900        ; retry (15 minutes)
                        1209600    ; expire (2 weeks)
                        86400      ; minimum (1 day)
                        )
masalib.net.          IN NS   ns-1339.awsdns-39.org.
masalib.net.          IN NS   ns-1615.awsdns-09.co.uk.
masalib.net.          IN NS   ns-395.awsdns-49.com.
masalib.net.          IN NS   ns-735.awsdns-27.net.

明日はお休みなので
クローラーの作成の続きをおこないたいです