named.confでの逆引きゾーンの基本ルール
DNSの逆引きゾーン(in-addr.arpa)は、以下のルールで指定する。
- IPアドレスをオクテット(8ビット)単位で逆順に表現する。
- サブネットのビット長にかかわらず、オクテット単位でしか分割できない。
- IPアドレスのネットワーク部分だけを使い、ホスト部分(最後のオクテット)を取り除く。
- 最後に in-addr.arpa を付加する。
【例】
named.conf
zone "179.168.192.in-addr.arpa" IN { type master; file "192.168.179.zone"; };
192.168.179.0/24 の逆引きゾーンを意味し、ホスト部(最後のオクテット)は除かれている。
逆引きゾーンの分割について
概要
- DNSの逆引き(in-addr.arpa)は、IPアドレスを1オクテット単位(/8, /16, /24など)で区切って逆順に表す仕組み。
- そのため、オクテット単位以外(例: /12, /20)のサブネットをDNS逆引きゾーンとして直接1つにまとめることはできない。
- この場合、ネットワーク範囲をオクテット境界まで広げ、必要な分だけゾーンを複数作成して管理する。
例:172.16/12 の逆引きゾーン
- IPアドレス:172.16.0.0 ~ 172.31.255.255
- サブネット範囲は /12 だが、逆引きは /16(1オクテット単位)で分ける必要がある。
- 具体的には以下のようにゾーンを複数定義する:
named.conf
zone "16.172.in-addr.arpa" { type master; file "172.16.zone"; };
zone "17.172.in-addr.arpa" { type master; file "172.17.zone"; };
...
中略
...
zone "31.172.in-addr.arpa" { type master; file "172.31.zone"; };
解説
IPアドレス:172.16.0.0 ~ 172.31.255.255の範囲を2進数にすると、以下の通りである。
10101100.00010000.00000000.00000000 ~ 10101100.00011111.11111111.11111111
- 先頭12ビットはネットワークアドレスの範囲なので固定である。
- DNSの逆引き(in-addr.arpa)は、IPアドレスを1オクテット単位で区切るため、/12より一段階大きい/16で区切る。
- こうすると、先頭13ビット~16ビット(1111)(=10進数の16)の数だけネットワークがあることになる。
- この場合のネットワークアドレスを10進数で表記すると、下記となる。
172.16.0.0
172.17.0.0
...
中略
...
172.31.0.0
- このネットワークをオクテット単位で逆順にし、named.confに一つずつ書く。