作業日記@HatenaBlog

各種の作業メモ

BIND の設定

2010-05-01 BIND 9 の設定(イントラネット向け)で設定した named.conf および zone ファイルの一部を書き換える。

named.conf の設定

listen-on-v6

今のところエラーが出るのでコメントアウトしている。

# vi /etc/namedb/named.conf
 
//listen-on-v6    {
//                         ::1;
//                         fe80::1;
//                         200X:XXXX::1;
//                };
zone ステートメント

allow-query に IPv6 アドレスを追加する。
loopback アドレス、リンクローカルアドレス(fe80::/64)、グローバルアドレス(200X:XXXX::/56) からの問い合わせを受け付けるようにする。

zone "FOO.com" {
        type master;
        file "master/FOO.com.zone";
        allow-transfer { none; };
        allow-query {
                127.0.0.1;
                192.168.1.0/24;
                ::1/128;
                fe80::/64;
                200X:XXXX::/56;
        };
};

zone ファイル

上記の zone ステートメントで指定した zone ファイルに IPv6 アドレスを追加する。
IPv6 でアクセスするさいは、http://www6.FOO.com/ へアクセスする。
または http://[200X:XXXX::2]/ で IPv6 アドレスを直接指定する。

# vi /etc/namedb/master/FOO.com.zone
 
$TTL 86400
@                       IN SOA  @       root.FOO.com. (
                                        2012010901      ;serial
                                        10800           ;refresh
                                        900             ;retry
                                        604800          ;expiry
                                        86400 )         ;minimum

                        IN NS           @
                        IN MX           10 @
                        IN A            192.168.X.2

www6.FOO.com.           IN      AAAA    200X:XXXX::2

zone ファイル(その2)

EXAMPLE.com ドメイン配下の www.EXAMPLE.com (IPv4) と www6.EXAMPLE.com (IPv6) は、次のとおり設定する。
www6.EXAMPLE.com は、200X:XXXX::1 の web サーバから proxy により 200X:XXXX::4 へ接続するので設定アドレスに注意。
webmail.EXAMPLE.com や ircsvr.EXAMPLE.com は、その他のサービスが稼働している場合の設定例。
Alaxala ネットワークの IPv6 導入ガイドを参考にした。

# vi /etc/namedb/master/EXAMPLE.com.zone
 
$TTL 3600
$ORIGIN EXAMPLE.com.
@       IN      SOA     gatewaysvr  root.EXAMPLE.com. (
                        2012010901      ; Serial
                        3600            ; Refresh
                        900             ; Retry
                        3600000         ; Expire
                        3600 )          ; Minimum
           IN      NS      gatewaysvr
           IN      MX      10 gatewaysvr

gatewaysvr IN      A       192.168.1.1
           IN      AAAA    200X:XXXX::1
webmail    IN      A       192.168.1.2  ← webmail.EXAMPLE.com.
           IN      AAAA    200X:XXXX::2
irc        IN      A       192.168.1.2  ← ircsvr.EXAMPLE.com.
           IN      AAAA    200X:XXXX::2
@          IN      A       192.168.1.1  ← EXAMPLE.com.
           IN      AAAA    200X:XXXX::1
www6       IN      AAAA    200X:XXXX::1 ← www6.EXAMPLE.com.
 
www        IN      CNAME   ppprtr

逆引き zone ファイル

IPv6 に対応した逆引き zone ファイルを作成する。

200X:XXXX::1/56 の逆引きアドレス
  • IPv6 アドレスは 128 bit
  • 数字 1 桁につき 4 bit
  • 全部で 32 桁
  • プレフィックスが 56 bit なので上位 14 桁で区切る
  • 全 32桁 = 上位 14 桁 + 下位 18 桁
200X:XXXX::1/56
↓
200X:XXXX:0000:0000:0000:0000:0000:0001/56
↓
200X:XXXX:0000:00 + 00:0000:0000:0000:0001
↓
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 + 0.0.0.0.0.0.X.X.X.X.X.0.0.2
named.conf

IPv6 アドレスの逆引きゾーンファイルは EXAMPLE.com.ipv6.rev とする。
zone には逆引きアドレスの上位 14 桁を逆にして記述する。

zone "0.0.0.0.0.0.X.X.X.X.X.0.0.2.ip6.arpa" {
        type master;
        file "master/EXAMPLE.com.ipv6.rev";
};
EXAMPLE.com.ipv6.rev

逆引きゾーンファイルは次の通り。

# vi /etc/namedb/master/EXAMPLE.com.ipv6.rev
 
$TTL 86400
@               IN      SOA     gatewaysvr.EXAMPLE.com.   root.EXAMPLE.com. (
                                      2012010907      ;serial
                                      10800           ;refresh
                                      900             ;retry
                                      604800          ;expiry
                                      86400 )         ;minimum
 
                                      IN NS   gatewaysvr.EXAMPLE.com.
4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0   IN PTR  www6.EXAMPLE.com.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0   IN PTR  gatewaysvr.EXAMPLE.com.
変更を反映
# /etc/rc.d/named reload
逆引きの確認
# dig -x 200X:XXXX::4
 
; <<>> DiG 9.7.4-P1 <<>> -x 200X:XXX::4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63423
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
 
;; QUESTION SECTION:
;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.X.X.X.X.0.0.2.ip6.arpa. IN PTR
 
;; ANSWER SECTION:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.X.X.X.X.0.0.2.ip6.arpa. 86400IN PTR www6.EXAMPLE.com.
 
;; AUTHORITY SECTION:
0.0.0.0.0.0.X.X.X.X.X.0.0.2.ip6.arpa. 86400 IN NS gatewaysvr.EXAMPLE.com.
 
;; ADDITIONAL SECTION:
gatewaysvr.EXAMPLE.com.   3600    IN      A       192.168.X.1
gatewaysvr.EXAMPLE.com.   3600    IN      AAAA    200X:XXXX::1
 
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jan  9 23:50:59 2012
;; MSG SIZE  rcvd: 187