DNSサーバー構築(BIND)

最終更新日: 2017.11.25

■概要

DNSサーバー(BIND)はcentossrv.jpというドメイン名からIPアドレスを返したり、IPアドレスからドメイン名を返すサーバー。
ここでは、内部でサーバーにアクセスするときにIPアドレスではなく、centossrv.jpでアクセスできるようにする。⇒内部向けDNSサーバー
また、外部からサーバーにアクセスするときの自ドメイン名からIPアドレスへの変換(名前解決)を行なうようにする。⇒外部向けDNSサーバー
外部向けDNSサーバー設定により、自宅サーバーが稼動中にも係わらず、ダイナミックDNSサービス側が保守やトラブル等によりサービス停止したことによりドメイン名でサーバーにアクセスできなくなるということがなくなる。

※非固定IPアドレス環境の場合はサブドメイン取得済であること
※固定IPアドレス環境の場合は独自ドメイン取得済であること
※外部向けDNSサーバーは固定IPアドレス環境の場合のみ
※centossrv.jpは当サイトの例なので、各自で置き換えること!


■BINDインストール

[root@centos ~]# yum -y install bind bind-chroot ← bind,bind-chrootインストール

■BIND設定

(1)chroot化
【CentOS6の場合】
[root@centos ~]# vi bind-chroot-admin ← bind-chroot-adminスクリプト作成
#!/bin/sh

# bind-chroot install check
rpm -q bind-chroot > /dev/null 2>&1
[ $? -ne 0 ] && echo bind-chroot not install && exit 1

# bind-chroot enabled
sed -i '/^ROOTDIR=/d' /etc/sysconfig/named
echo ROOTDIR=/var/named/chroot >> /etc/sysconfig/named

# file copy
filelist=`mktemp`
rpm -ql bind|grep ^/etc >> ${filelist}
rpm -ql bind|grep ^/var >> ${filelist}
for file in `cat ${filelist}`
do
  # directory make
  if [ -d ${file} ]; then
      DIRNAME=/var/named/chroot${file}
      [ ! -d ${DIRNAME} ] && mkdir -p ${DIRNAME}
  fi
  # file copy
  if [ -f ${file} ]; then
      DIRNAME=/var/named/chroot`dirname ${file}`
      [ ! -d ${DIRNAME} ] && mkdir -p ${DIRNAME}
      /bin/cp -a ${file} ${DIRNAME}
  fi
done
rm -f ${filelist}

chown named:named /var/named/chroot/var/named/data
chmod 770 /var/named/chroot/var/named/data
chown named:named /var/named/chroot/var/named/dynamic

exit

[root@centos ~]# sh bind-chroot-admin ← bind-chroot-adminスクリプト実行

(2)BIND設定
[root@centos ~]# vi /etc/named.conf ← BIND設定ファイル編集【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/etc/named.conf ← BIND設定ファイル編集【CentOS6の場合】
options {
        #listen-on port 53 { 127.0.0.1; }; ← 行頭に#を追加してコメントアウト
        #listen-on-v6 port 53 { ::1; }; ← 行頭に#を追加してコメントアウト
        version         "unknown"; ← bindのバージョン情報の非表示化
        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-transfer { none; }; ← 追加(ゾーン情報の転送を禁止)
        ・
        ・
        ・
        recursion yes; ← 再帰問合せ機能を有効化(内部DNSサーバーとして動作)
        allow-query     { localhost; localnets; }; ← 内部からのみ問合せを許可
        allow-recursion { localhost; localnets; }; ← 内部からのみ再帰問合せを許可
        allow-query-cache { localhost; localnets; }; ← 内部からのみキャッシュ問合せを許可
        forwarders{ 8.8.8.8; 8.8.4.4; }; ← 本DNSサーバー管理外の問合せ先としてGoogleの公開DNSサーバーを指定
        ・
        ・
        ・
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
        category lame-servers { null; }; ← 追加(error (connection refused) resolvingというエラーログの出力抑止)
};

追加(ここから)
// 内部向け設定開始
view "internal" {
        match-clients { localnets; };
        match-destinations { localnets; };
追加(ここまで)

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

追加(ここから)
        include "/etc/named/named.centossrv.jp.zone";
};
// 内部向け設定終了
追加(ここまで)

最終行へ追加(ここから)※固定IPアドレス環境の場合のみ
// 外部向け設定開始
view "external" {
        // 外部向け設定
        match-clients { any; };
        match-destinations { any; };
        include "/etc/named/named.centossrv.jp.zone.wan";
};
// 外部向け設定終了
最終行へ追加(ここまで)

[root@centos ~]# vi /etc/named/named.centossrv.jp.zone ← centossrv.jpの内部向けゾーン定義ファイル作成【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/etc/named/named.centossrv.jp.zone ← centossrv.jpの内部向けゾーン定義ファイル作成【CentOS6の場合】
zone "centossrv.jp" {
        type master;
        file "centossrv.jp.db";
};
zone "1.168.192.in-addr.arpa" {
        type master;
        file "1.168.192.in-addr.arpa.db";
};

[root@centos ~]# vi /etc/named/named.centossrv.jp.zone.wan ← centossrv.jpの外部向けゾーン定義ファイル作成※固定IPアドレス環境の場合のみ【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/etc/named/named.centossrv.jp.zone.wan ← centossrv.jpの外部向けゾーン定義ファイル作成※固定IPアドレス環境の場合のみ【CentOS6の場合】
// 正引き設定
zone "centossrv.jp" {
        type master;
        file "centossrv.jp.db.wan";
        allow-query { any; };
};
// 逆引き設定※プロバイダ(当サイトではGMOとくとくBB)より逆引き権限を委譲されている場合のみ
zone "SUBxxx.xxx.xxx.xxx.in-addr.arpa" {
        type master;
        file "SUBxxx.xxx.xxx.xxx.in-addr.arpa.db.wan";
        allow-query { any; };
};

[root@centos ~]# echo OPTIONS="-4" >> /etc/sysconfig/named  ← IPv4のみ有効にする(error (network unreachable) resolvingというエラーログの出力抑止)

(3)ルートゾーン最新化
ルートゾーンは世界に13台しかないトップレベルドメインを管理するDNSサーバーのIPアドレスを管理しているファイルで、めったに更新されることはないが、念のため最新化しておく。
[root@centos ~]# dig . ns @198.41.0.4 +bufsize=1024 > /var/named/chroot/var/named/named.ca ← ルートゾーン(named.ca)最新化

(4)ルートゾーン自動更新設定
1ヶ月に一度、ルートゾーンが最新かチェックし、更新されていればルートゾーンの最新化及び、BINDの再起動を自動的に行うようにする。
※ルートゾーンが更新されていた場合のみ、新旧ルートゾーン情報及び、新旧ルートゾーンの差分情報をroot宛にメールする
[root@centos ~]# vi named.root_update ← ルートゾーン最新化スクリプト作成
#!/bin/bash

new=`mktemp`
errors=`mktemp`

dig . ns @198.41.0.4 +bufsize=1024 > $new 2> $errors

if [ $? -eq 0 ]; then
    sort_new=`mktemp`
    sort_old=`mktemp`
    diff_out=`mktemp`
    sort $new > $sort_new
    sort /var/named/chroot/var/named/named.ca > $sort_old
    diff --ignore-matching-lines=^\; $sort_new $sort_old > $diff_out
    if [ $? -ne 0 ]; then
        (
         echo '-------------------- old named.root --------------------'
         cat /var/named/chroot/var/named/named.ca
         echo
         echo '-------------------- new named.root --------------------'
         cat $new
         echo '---------------------- difference ----------------------'
         cat $diff_out
        ) | mail -s 'named.root updated' root
        cp -f $new /var/named/chroot/var/named/named.ca
        chown named. /var/named/chroot/var/named/named.ca
        chmod 644 /var/named/chroot/var/named/named.ca
        which systemctl > /dev/null 2>&1
        if [ $? -eq 0 ]; then
            systemctl restart named-chroot > /dev/null
        else
            /etc/rc.d/init.d/named restart > /dev/null
        fi
    fi
    rm -f $sort_new $sort_old $diff_out
else
    cat $errors | mail -s 'named.root update check error' root
fi
rm -f $new $errors

[root@centos ~]# chmod 700 named.root_update ← ルートゾーン最新化スクリプトへ実行権限付加

[root@centos ~]# mv named.root_update /etc/cron.monthly/ ← ルートゾーン最新化スクリプトを毎月自動実行されるディレクトリへ移動

(5)内部向け正引きゾーンデータベース(ドメイン名⇒IPアドレス)作成
[root@centos ~]# vi /var/named/centossrv.jp.db ← 正引きゾーンデータベース作成【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/var/named/centossrv.jp.db ← 正引きゾーンデータベース作成【CentOS6の場合】
$TTL    86400
@       IN      SOA     centossrv.jp.  root.centossrv.jp.(
                                      2011062001 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN NS    centossrv.jp.
        IN MX 10 centossrv.jp.
@       IN A     192.168.1.3 ← サーバーのプライベートIPアドレスを指定(centossrv.jp用)
*       IN A     192.168.1.3 ← サーバーのプライベートIPアドレスを指定(*.centossrv.jp用)

(6)内部向け逆引きゾーンデータベース(IPアドレス⇒ドメイン名)作成
[root@centos ~]# vi /var/named/1.168.192.in-addr.arpa.db ← 逆引きゾーンデータベース作成【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/var/named/1.168.192.in-addr.arpa.db ← 逆引きゾーンデータベース作成【CentOS6の場合】
$TTL    86400
@       IN      SOA     centossrv.jp.  root.centossrv.jp.(
                                      2011062001 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS    centossrv.jp.
3             IN      PTR   centossrv.jp. ← サーバーIPアドレス最下位部(192.168.1.3)とドメイン名を指定

(7)外部向け正引きゾーンデータベース(ドメイン名⇒IPアドレス)作成※固定IPアドレス環境の場合のみ
[root@centos ~]# vi /var/named/centossrv.jp.db.wan ← 外部向け正引きゾーンデータベース作成【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/var/named/centossrv.jp.db.wan ← 外部向け正引きゾーンデータベース作成【CentOS6の場合】
$TTL    86400
@       IN      SOA     ns1.centossrv.jp.  root.centossrv.jp.(
                                      2011062001 ; Serial
                                      7200       ; Refresh
                                      7200       ; Retry
                                      2419200    ; Expire
                                      86400 )    ; Minimum
        IN NS    ns1.centossrv.jp. ← ネームサーバー名
        IN MX 10 centossrv.jp. ← MXホスト名(メールサーバーを構築する場合のみ)
ns1     IN A     XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスを指定(ns1.centossrv.jp用)
@       IN A     XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスを指定(centossrv.jp用)
www     IN A     XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスを指定(www.centossrv.jp用)
ftp     IN A     XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスを指定(ftp.centossrv.jp用)
mail    IN A     XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスを指定(mail.centossrv.jp用)
centossrv.jp. IN TXT "v=spf1 ip4:XXX.XXX.XXX.XXX ~all" ← サーバーのグローバルIPアドレスを指定(メールサーバーを構築する場合のみ)

(8)外部向け逆引きゾーンデータベース(IPアドレス⇒ドメイン名)作成※固定IPアドレス環境でプロバイダ(当サイトではGMOとくとくBB)より逆引き権限を委譲されている場合のみ
[root@centos ~]# vi /var/named/SUBxxx.xxx.xxx.xxx.in-addr.arpa.db.wan ← 外部向け逆引きゾーンデータベース作成【CentOS7の場合】
[root@centos ~]# vi /var/named/chroot/var/named/SUBxxx.xxx.xxx.xxx.in-addr.arpa.db.wan ← 外部向け逆引きゾーンデータベース作成【CentOS6の場合】
$TTL    86400
@       IN      SOA     ns1.centossrv.jp.  root.centossrv.jp.(
                                      2017012901 ; Serial
                                      7200       ; Refresh
                                      7200       ; Retry
                                      2419200    ; Expire
                                      86400 )    ; Minimum
        IN NS    ns1.centossrv.jp.
xxx     IN PTR   centossrv.jp. ← サーバーIPアドレス最下位部(xxx.xxx.xxx.xxx)とドメイン名を指定
※ゾーン情報変更時は、Serial行を年月日通番2桁(YYYYMMDDXX)のようにして、必ず変更前よりも大きい数値に変更すること(例:変更前が2005011001なら、変更後は2005011002にする)。これにより、後述するセカンダリ側へのゾーン情報の変更が正しく行われるようになる

■BIND起動

(1)BIND起動
[root@centos ~]# systemctl start named-chroot ← BIND起動※CentOS7の場合

[root@centos ~]# /etc/rc.d/init.d/named start ← BIND起動※CentOS6の場合

[root@centos ~]# systemctl enable named-chroot ← BIND自動起動設定※CentOS7の場合

[root@centos ~]# chkconfig named on ← BIND自動起動設定※CentOS6の場合

(2)TCP53番、UDP53番ポート開放
【ルーター】
ルーター側の設定で、TCP53番、UDP53番ポートへのアクセスをサーバーに転送するようにする。
※ルーターの設定は各ルーターのマニュアルまたはメーカー別ルーターポート開放手順を参照

【ファイアウォール】
サーバー側のファイアウォール設定で、TCP53番、UDP53番ポートへのアクセスを許可するようにする。
ファイアウォール設定はこちらを参照

ポート開放確認ツールで「IP」にサーバー名(例:centossrv.jp)、「ポート番号」に53と入力、「TCP」または「UDP」を選択して「確認」ボタンを押下し、ポートは開放されていますと表示されることを確認。


■問合せ先DNSサーバーをLinuxサーバーに変更

(1)サーバー自身の問合せ先DNSサーバーを自分自身に変更
[root@centos ~]# sed -i 's/DNS1=.*/DNS1=127.0.0.1/g' /etc/sysconfig/network-scripts/ifcfg-eth0 ← Linuxサーバー自身を問合せ先DNSサーバーとする

[root@centos ~]# systemctl restart network ← DNSサーバー変更反映※CentOS7の場合
[root@centos ~]# /etc/rc.d/init.d/network restart ← DNSサーバー変更反映※CentOS6の場合

(2)クライアントの問合せ先DNSサーバーを本DNSサーバーに変更※ルーターのDHCP機能でクライアントの問合せ先DNSサーバーのIPアドレスを設定している場合
ルーターのDHCP設定でDNSサーバーのIPアドレスを本DNSサーバーのIPアドレスに変更する

(3)クライアントの問合せ先DNSサーバー変更反映
クライアントを再起動し、問合せ先DNSサーバーの変更を反映させる

■BIND確認

(1)BIND確認(クライアントがWindowsの場合)
C:>nslookup ← nslookup起動
Default Server:  centossrv.jp
Address:  192.168.1.3

> centossrv.jp ← Linuxサーバーの正引きテスト
Server:  centossrv.jp
Address:  192.168.1.3

Name:    centossrv.jp
Address:  192.168.1.3 ← IPアドレスが返ってきた

> 192.168.1.3 ← Linuxサーバーの逆引きテスト
Server:  centossrv.jp
Address:  192.168.1.3

Name:    centossrv.jp ← ドメイン名が返ってきた
Address:  192.168.1.3

> www.isc.org ← 外部ドメインの正引きテスト
Server:  centossrv.jp
Address:  192.168.1.3

Non-authoritative answer:
Name:    www.isc.org
Address:  149.20.64.42 ← IPアドレスが返ってきた

> 149.20.64.42 ← 外部ドメインの逆引きテスト
Server:  centossrv.jp
Address:  192.168.1.3

Name:    external.isc.org ← ホスト名が返ってきた
Address:  149.20.64.42

> exit ← nslookup停止

C:>

(2)BIND確認(クライアントがLinuxの場合)
[root@centos ~]# dig centossrv.jp ← Linuxサーバーの正引きテスト

; <<>> DiG 9.2.3 <<>> centossrv.jp
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59712
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;centossrv.jp.               IN      A

;; ANSWER SECTION:
centossrv.jp.        86400   IN      A       192.168.1.3 ← IPアドレスが返ってきた

;; AUTHORITY SECTION:
centossrv.jp.        86400   IN      NS      centossrv.jp.

;; Query time: 8 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: Mon Oct  4 17:39:31 2004
;; MSG SIZE  rcvd: 63

[root@centos ~]# dig -x 192.168.1.3 ← Linuxサーバーの逆引きテスト

; <<>> DiG 9.2.3 <<>> -x 192.168.1.3
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14938
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;1.1.168.192.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
1.1.168.192.in-addr.arpa. 86400 IN      PTR     centossrv.jp. ← ドメイン名が返ってきた

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 86400   IN      NS      centossrv.jp.

;; ADDITIONAL SECTION:
centossrv.jp.        86400   IN      A       192.168.1.3

;; Query time: 8 msec
;; SERVER: 192.168.1.3#53(192.168.1.3)
;; WHEN: Mon Oct  4 17:39:39 2004
;; MSG SIZE  rcvd: 101

[root@centos ~]# dig www.isc.org ← 外部ドメインの正引きテスト

; <<>> DiG 9.7.2-P2-RedHat-9.7.2-2.P2.fc14 <<>> www.isc.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32477
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 6

;; QUESTION SECTION:
;www.isc.org.                   IN      A

;; ANSWER SECTION:
www.isc.org.            600     IN      A       149.20.64.42 ← IPアドレスが返ってきた

;; AUTHORITY SECTION:
isc.org.                42570   IN      NS      ns.isc.afilias-nst.info.
isc.org.                42570   IN      NS      sfba.sns-pb.isc.org.
isc.org.                42570   IN      NS      ams.sns-pb.isc.org.
isc.org.                42570   IN      NS      ord.sns-pb.isc.org.

;; ADDITIONAL SECTION:
ams.sns-pb.isc.org.     42570   IN      A       199.6.1.30
ams.sns-pb.isc.org.     42570   IN      AAAA    2001:500:60::30
ord.sns-pb.isc.org.     42570   IN      A       199.6.0.30
ord.sns-pb.isc.org.     42570   IN      AAAA    2001:500:71::30
sfba.sns-pb.isc.org.    42570   IN      A       149.20.64.3
sfba.sns-pb.isc.org.    42570   IN      AAAA    2001:4f8:0:2::19

;; Query time: 181 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov  8 17:47:58 2010
;; MSG SIZE  rcvd: 276

[root@centos ~]# dig -x 149.20.64.42 ← 外部ドメインの逆引きテスト

; <<>> DiG 9.7.2-P2-RedHat-9.7.2-2.P2.fc14 <<>> -x 149.20.64.42
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20611
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 6

;; QUESTION SECTION:
;42.64.20.149.in-addr.arpa.     IN      PTR

;; ANSWER SECTION:
42.64.20.149.in-addr.arpa. 3537 IN      PTR     external.isc.org. ← ホスト名が返ってきた

;; AUTHORITY SECTION:
64.20.149.in-addr.arpa. 3526    IN      NS      sfba.sns-pb.isc.org.
64.20.149.in-addr.arpa. 3526    IN      NS      ord.sns-pb.isc.org.
64.20.149.in-addr.arpa. 3526    IN      NS      ams.sns-pb.isc.org.

;; ADDITIONAL SECTION:
ams.sns-pb.isc.org.     42519   IN      A       199.6.1.30
ams.sns-pb.isc.org.     42519   IN      AAAA    2001:500:60::30
ord.sns-pb.isc.org.     42519   IN      A       199.6.0.30
ord.sns-pb.isc.org.     42519   IN      AAAA    2001:500:71::30
sfba.sns-pb.isc.org.    42519   IN      A       149.20.64.3
sfba.sns-pb.isc.org.    42519   IN      AAAA    2001:4f8:0:2::19

;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Nov  8 17:48:49 2010
;; MSG SIZE  rcvd: 267

(3)オープンリゾルバ確認
DNSサーバーがオープンリゾルバ(外部の不特定のIPアドレスからの再帰的な問い合わせを許可しているDNS サーバ)となっていないことを確認する。
[root@centos ~]# wget -qO - http://www.openresolver.jp/cli/check.html ← オープンリゾルバ確認
Configured DNS server: [NOT open] xxx.xxx.xxx.xxx(xxx.xxx.xxx.xxx) ← [NOT open]確認
Source IP address: [NOT open] xxx.xxx.xxx.xxx(centossrv.jp) ← [NOT open]確認


■プライマリネームサーバー変更※固定IPアドレス環境の場合のみ

centossrv.jpのプライマリネームサーバーをレジストラのDNSサーバーから自宅DNSサーバーに変更する。
VALUE DOMAINで独自ドメインを取得した場合のプライマリネームサーバーの変更手順を以下に示す。
その他のレジストラで独自ドメインを取得した場合は各レジストラのWebサイトで確認すること

(1)ユーザー登録時のユーザーIDとパスワードでログインする。

(2)「ドメイン操作」⇒「ネームサーバーの変更」⇒「このドメインでネームサーバーを作成」で、「ネームサーバー名」はデフォルト(ns1.centossrv.jp)のまま、「ネームサーバーのIPアドレス」に現在のグローバルIPアドレス(確認くんで「現在接続している場所(現IP)」からコピー)を入力して「追加」ボタンを押下し、ネームサーバーを追加する。

(3)「ドメイン操作」⇒「ネームサーバーの変更」でネームサーバー 1〜5をクリアし、「ネームサーバー 1」に"ns1.centossrv.jp"と入力して「保存する」ボタンを押下する。

※なお、プライマリネームサーバー変更が反映されるまで24〜48時間程度掛かる

■プライマリネームサーバー確認※固定IPアドレス環境の場合のみ

※レジストラでのプライマリネームサーバー変更後24〜48時間程度経過後に行うこと

(1)正引き確認
Free Monitoring Test Toolsの「Select Test Type」欄で「NS records lookup」を選択、「Enter Test Target」欄にドメイン名(例:centossrv.jp)を入力して「Perform Test」ボタンを押下する。

以下のような結果が表示されればOK
NS records lookup

Domain name tested:	centossrv.jp
Test performed from:	New York, NY
Test performed at:	2017-01-23 12:28:05 (GMT +00:00)
Known NS records:	
ns1.centossrv.jp	XXX.XXX.XXX.XXX
 ← ネームサーバーが自宅DNSサーバーになっていること
 ← サーバーのグローバルIPアドレスになっていること
Hostname test results

(2)逆引き確認※プロバイダ(当サイトではGMOとくとくBB)より逆引き権限を委譲されている場合のみ
Free Monitoring Test Toolsの「Select Test Type」欄で「Reverse DNS」を選択、「Enter Test Target」欄にグローバルIPアドレスを入力して「Perform Test」ボタンを押下する。

以下のような結果が表示されればOK
Reverse DNS results

IP address tested:	xxx.xxx.xxx.xxx
Test performed from:	New York, NY
Test performed at:	2017-01-29 14:45:19 (GMT +00:00)
Known DNS records:	
centossrv.jp	xxx.xxx.xxx.xxx ← ドメイン名が表示されること

■セカンダリネームサーバー登録※固定IPアドレス環境の場合のみ

セカンダリネームサーバーはプライマリネームサーバーのゾーン定義ファイルをコピーして、プライマリネームサーバーと同じようにcentossrv.jpからグローバルIPアドレスへの変換を行なってくれるサーバーで、プライマリネームサーバーへの負荷分散が行なえる。
ここでは、無料でセカンダリネームサーバーを請け負ってくれるマイハマネットのサービスを利用する。

(1)セカンダリネームサーバー申し込み
マイハマネットでユーザー登録し、登録時のメールアドレス宛にきたメールに従い、プライマリネームサーバー情報として自宅DNSサーバーの情報を登録する。
※なお、ユーザー登録時に指定するメールアドレスは、登録するドメイン名のメールアドレス(例:webmaster@centossrv.jp)でなければならないため、先にメールサーバーを構築しておく

(2)セカンダリネームサーバー設定
[root@centos ~]# vi /etc/named/named.centossrv.jp.zone.wan ← 外部向けゾーン定義ファイル編集※CentOS7の場合
[root@centos ~]# vi /var/named/chroot/etc/named/named.centossrv.jp.zone.wan ← 外部向けゾーン定義ファイル編集※CentOS6の場合
zone "centossrv.jp" {
        type master;
        file "centossrv.jp.db.wan";
        allow-query { any; };
        allow-transfer {
                160.16.54.90; ← このゾーン情報の転送先として160.16.54.90(ns1.maihama-net.comのIPアドレス)を追加
                153.120.38.37; ← このゾーン情報の転送先として153.120.38.37(ns3.maihama-net.comのIPアドレス)を追加
        };
        notify yes; ← このゾーン情報変更時は即座に上記セカンダリへ反映させる
};

[root@centos ~]# vi /var/named/centossrv.jp.db.wan ← 外部向け正引きゾーンデータベース編集※CentOS7の場合
[root@centos ~]# vi /var/named/chroot/var/named/centossrv.jp.db.wan ← 外部向け正引きゾーンデータベース編集※CentOS6の場合
$TTL    86400
@       IN      SOA     ns1.centossrv.jp.  root.centossrv.jp.(
                                      2011062002 ; Serial ← 下2桁の通番をカウントアップする
                                      7200       ; Refresh
                                      7200       ; Retry
                                      2419200    ; Expire
                                      86400 )    ; Minimum
        IN NS    ns1.centossrv.jp.
        IN NS    ns1.maihama-net.com. ← セカンダリネームサーバーとしてns1.maihama-net.comを追加
        IN NS    ns3.maihama-net.com. ← セカンダリネームサーバーとしてns3.maihama-net.comを追加
        IN MX 10 centossrv.jp.
ns1     IN A     XXX.XXX.XXX.XXX
@       IN A     XXX.XXX.XXX.XXX
www     IN A     XXX.XXX.XXX.XXX
ftp     IN A     XXX.XXX.XXX.XXX
mail    IN A     XXX.XXX.XXX.XXX
centossrv.jp. IN TXT "v=spf1 a mx ~all"

[root@centos ~]# systemctl reload named-chroot ← BIND設定反映※CentOS7の場合
[root@centos ~]# /etc/rc.d/init.d/named reload ← BIND設定反映※CentOS6の場合

(3)レジストラへセカンダリネームサーバー登録
VALUE DOMAINで独自ドメインを取得した場合、「■プライマリネームサーバーの変更」を参考にcentossrv.jpのセカンダリネームサーバーをレジストラに登録する。
その他のレジストラで独自ドメインを取得した場合は各レジストラのWebサイトで確認すること

■セカンダリネームサーバー確認※固定IPアドレス環境の場合のみ

(1)セカンダリネームサーバーでの正引き確認
[root@centos ~]# dig @160.16.54.90 centossrv.jp ← セカンダリネームサーバー(ns1.maihama-net.com)で正引きできるか確認

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> @160.16.54.90 centossrv.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27648
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;centossrv.jp.                 IN      A

;; ANSWER SECTION:
centossrv.jp.          86400   IN      A       XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスが返ってきた

;; AUTHORITY SECTION:
centossrv.jp.          86400   IN      NS      ns1.centossrv.jp.
centossrv.jp.          86400   IN      NS      ns3.maihama-net.com.
centossrv.jp.          86400   IN      NS      ns1.maihama-net.com.

;; ADDITIONAL SECTION:
ns1.centossrv.jp.      86400   IN      A       XXX.XXX.XXX.XXX

;; Query time: 31 msec
;; SERVER: 160.16.54.90#53(160.16.54.90)
;; WHEN: 水 12月 10 12:23:40 JST 2014
;; MSG SIZE  rcvd: 172

[root@centos ~]# dig @153.120.38.37 centossrv.jp ← セカンダリネームサーバー(ns3.maihama-net.com)で正引きできるか確認

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> @153.120.38.37 centossrv.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43913
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;centossrv.jp.                 IN      A

;; ANSWER SECTION:
centossrv.jp.          86400   IN      A       XXX.XXX.XXX.XXX ← サーバーのグローバルIPアドレスが返ってきた

;; AUTHORITY SECTION:
centossrv.jp.          86400   IN      NS      ns3.maihama-net.com.
centossrv.jp.          86400   IN      NS      ns1.centossrv.jp.
centossrv.jp.          86400   IN      NS      ns1.maihama-net.com.

;; ADDITIONAL SECTION:
ns1.centossrv.jp.      86400   IN      A       XXX.XXX.XXX.XXX
ns1.maihama-net.com.    7200    IN      A       160.16.54.90
ns3.maihama-net.com.    7200    IN      A       153.120.38.37

;; Query time: 117 msec
;; SERVER: 153.120.38.37#53(153.120.38.37)
;; WHEN: 水 12月 10 12:24:05 JST 2014
;; MSG SIZE  rcvd: 172


(2)セカンダリネームサーバー情報確認
※レジストラでのセカンダリネームサーバー登録後24〜48時間程度経過後に行うこと

Free Monitoring Test Toolsの「Select Test Type」欄で「NS records lookup」を選択、「Enter Test Target」欄にドメイン名(例:centossrv.jp)を入力して「Perform Test」ボタンを押下する。

以下のような結果が表示されればOK
NS records lookup

Domain name tested:	centossrv.jp
Test performed from:	New York, NY
Test performed at:	2017-01-23 12:28:05 (GMT +00:00)
Known NS records:	
ns1.maihama-net.com [XXX.XXX.XXX.XXX]
ns3.maihama-net.com [XXX.XXX.XXX.XXX]
 ← セカンダリネームサーバーが表示されていること
 ← セカンダリネームサーバーのIPアドレスがあっていること
ns1.centossrv.jp	XXX.XXX.XXX.XXX
Hostname test results


■関連コンテンツ




▲このページのトップへ戻る

Copyright© 2005-2017 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします