DNS逆引きやってみました!


目次

みなさん、こんにちは。ピクトリンク事業部インフラ課の藤本佳世です。

今回は「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逆引きをすることが可能となりました。

とても便利なので、みなさんも是非やってみて下さい!