したいこと
Route53(PrivateDNS)の設定をした後に、
オンプレの環境からVPC内のProvidedDNSに対して名前解決を行い回答をもらう。
直接はできないんです
オンプレの環境からVPC内のProvidedDNSに対して名前解決を行いたい!とAWSに聞いてみた。
AWSサポートからの回答
・オンプレミス環境からVPC内のデフォルトDNSサーバに対して名前解決することはできない
・必要な場合には、VPC内のEC2インスタンスにDNSサービスを構築し、forwarder先としてVPC内のデフォルトDNSサーバとすれば実現可能
DNSを構築しよう@BIND
前提
対象のVPCに対してRoute53(PrivateDNS)で正引き/逆引きのZone設定を行っていること
※PrivateDNSについては時間が有れば書きます。
環境
VPC:192.168.0.0/16
→ProvidedDNSはVPC+2の「192.168.0.2」ということになる。
AmazonLinux:amzn-ami-hvm-2015.09.1.x86_64-gp2 (ami-383c1956)
SecurityGroupは適宜設定をお願いします。
インストールなど
sudo yum update -y
sudo yum install bind -y
sudo cp /etc/named.conf /etc/named.conf.org
chkconfig named on
設定ファイル
/etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 127.0.0.1; XXX.XXX.XXX.XXX; }; //privateIPを追加
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
//allow-query { localhost; }; //コメントアウト
allow-query { any; }; //localhost→anyに変更
recursion yes;
dnssec-enable no; //yes→no
dnssec-validation no; //yes→no
//dnssec-lookaside auto; //コメントアウト
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//zone "." IN { //コメントアウト
// type hint; //コメントアウト
// file "named.ca"; //コメントアウト
//}; //コメントアウト
zone "." { //以下4行追加
type forward;
forwarders { 192.168.0.2; }; //ProvidedDNSのIPを記載
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
/etc/reslve.conf
以下に変更
nameserver 127.0.0.1
/etc/sysconfig/network-scripts/ifcfg-eth0
以下に変更
PEERDNS=no
起動
service named start
テスト
nslookup 「Route53のレコードに登録してあるホスト名」
を実行し回答が帰ってくるか確認