みなさん、こんにちは。ピクトリンク事業部インフラ課の藤本佳世です。
今回は「DNS逆引き」についてお話しします。
インフラ業務を行っていると、「このIPアドレス、どこのサーバ?」といった状況に出くわすことが多く、今回DNS逆引き対応をして、日々の業務改善ができました。
DNSとは
DNSとは、Domain Name Systemの略で、ホスト名をもとに、ホストのIPアドレスを教えてくれます。
IPアドレスとは、サーバ1台ずつに割り振られた識別番号で、ネットワーク上の住所のようなもの。
このIPアドレスをもとに、情報のやり取りをします。
例として、nslookupを使って、test01.server.com(ホスト名)のIPアドレスを調べてみます。
$ nslookup test01.server.com Server: 127.0.1.1 Address: 127.0.1.1#53 Name: test01.server.com Address: 192.168.33.60
IPアドレスは、192.168.33.60と教えてくれます。
IPアドレスは、8bitごとに4つに分割され、それぞれ10進数で表示されます。
上記の例では、test01.server.comというホスト名に対して、IPアドレスを取得しました。
しかし、もしこれが「192.168.33.60」だけ知っていて、ホスト名を調べる際どうすればいいでしょうか?
この問題を解決してくれるのが、DNS逆引きです。
DNS逆引きとは
ホストのIPアドレスをもとに、ホスト名を教えてくれます。
nslookupを使って、192.168.33.60のホスト名を調べます。
$ nslookup 192.168.33.60 Server: 127.0.1.1 Address: 127.0.1.1#53 60.33.168.192.in-addr.arpa name = test01.server.com.
ホスト名は、test01.server.comと教えてくれます。
逆引きを実施したときの、60.33.168.192.in-addr.arpaとは何でしょうか?
in-addr.arpaとは
IPアドレスに名前を付けたものが、in-addr.arpaアドレスです。
つまり、192.168.33.60のin-addr.arpaアドレスは60.33.168.192.in-addr.arpaとなります。
逆引きの設定
/var/named/chroot/etc/named.confに設定を追加
zone "33.168.192.in-addr.arpa" IN { type master; file "data/192.168.33.rev"; allow-update { none; }; };
/var/named/chroot/var/named/data/192.168.33.revファイルを指定します。
そして、192.168.33.revファイルの中身がこちらです。
$TTL 1800 @ in soa hoge.fuga.com. postmaster.hoge.fuga.com. ( 2018060101; serial 3600 ; refresh 3600 ; retry 2419200 ; expire 1800 ) ; default_ttl IN NS hoge.fuga.com. 60 IN PTR test01.server.com. 61 IN PTR test02.server.com.
60はtest01.server.com、61はtest02.server.comだと分かります。
このように設定ファイルを少し修正するだけで、DNS逆引きをすることが可能となりました。
とても便利なので、みなさんも是非やってみて下さい!