2013年3月26日火曜日

"Route 53"への移行前の確認用DNSサーバ(Unbound)

スズキです。

DNSサーバを"Route 53"に移行することはよくあると思いますが、当然、
移行(切り替え)前の確認は行いたいわけです。
ということでUnboundを使って確認用DNSサーバを作ってみました。

"cloudpack.jp"のDNSサーバを下記のRoute53に移行することを想定しています。


上記のRoute53をDNSサーバとして指定すると、下記のように登録されているレコードは
名前解決できますが、
# nslookup blog.cloudpack.jp ns-1053.awsdns-03.org
...
blog.cloudpack.jp canonical name = blog.suz-lab.com.
登録されてないレコードは次のように名前解決できません。
# nslookup www.suz-lab.com. ns-1053.awsdns-03.org
...
** server can't find www.suz-lab.com: REFUSED

なので、独自にDNSサーバ(Unbound)を立ち上げ、"cloudpack.jp"は上記のRoute53で
名前解決し、それ以外は、OSで設定してあるDNSサーバで名前解決するようにしてみました。

Unboundのインストールは下記の通りです。
# yum -y install unbound
...

「"cloudpack.jp"は上記のRoute53で名前解決」の部分は下記のように設定しています。

# cat /etc/unbound/conf.d/cloudpack.jp.conf 
forward-zone:
    name: "cloudpack.jp."
    forward-host: ns-1053.awsdns-03.org

次のようにUnboundを起動すれば、利用できるようになります。
# service unbound start
unbound の制御キーと証明証を生成中:
unbound を起動中: [  OK  ]

OSに設定してあるDNSサーバで名前解決した場合は、当然、下記のように本来の設定の
結果となります。
# nslookup blog.cloudpack.jp
...
Non-authoritative answer:
Name: blog.cloudpack.jp
Address: 216.239.34.21
Name: blog.cloudpack.jp
Address: 216.239.36.21
Name: blog.cloudpack.jp
Address: 216.239.38.21
Name: blog.cloudpack.jp
Address: 216.239.32.21

そしてUnboundを指定して名前解決すると次のようにRoute53に登録した内容が
結果として表示されます。
# nslookup blog.cloudpack.jp localhost
...
Non-authoritative answer:
blog.cloudpack.jp canonical name = blog.suz-lab.com.
blog.suz-lab.com canonical name= ghs.google.com.
ghs.google.com canonical name = ghs.l.google.com.
Name: ghs.l.google.com
Address: 74.125.31.121

Unboundを指定していても、"cloudpack.jp"以外の名前解決は、OSに設定されている
DNSサーバを利用して結果を返していることも確認できます。
# nslookup www.suz-lab.com localhost
...
Non-authoritative answer:
www.suz-lab.com canonical name = www.suz-lab.com.s3-website-ap-northeast-1.amazonaws.com.
www.suz-lab.com.s3-website-ap-northeast-1.amazonaws.com canonical name = s3-website-ap-northeast-1.amazonaws.com.
Name: s3-website-ap-northeast-1.amazonaws.com
Address: 27.0.1.84

この後、このDNSサーバ'(Unbound)をセキュリティグループなどを調整して、
インターネット越しに参照できるようにし、テストPCのDNSサーバに設定することで
テストを行う形になると思います。

Unbound、久しぶりに使った...
--------
http://www.suz-lab.com

0 コメント: