TOP ▲
itcore TOP
> TIPS
> dns.php
タグ:dns centos7 インストール 正引き セカンダリ whois ドメイン ログ windowsdynamicdns dnssec DNS(bind) in CentOS7 インストール| itcore 2017年
CentOS7
DNS登録
bind
正引き
セカンダリ
Whois
ドメイン追加
ログ(windows Dynamic DNS)
ログ(DNSSEC)
CentOS7
CentOS7をインストールします。
DNS登録
まずは、現在のDNSサーバに新しいDNSサーバの情報を登録します。
ns3.itcore.jp 61.213.223.46
bind
bindをインストールします。
セキュリティ対策のためにchrootもインストールします。
# yum -y install bind bind-chroot
# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
chroot on とした場合、以下に設定ファイルを作ります。
# ls /var/named/chroot
dev etc run usr var
# cp -ip /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf_`date "+%Y%m%d"`
# vi /var/named/chroot/etc/named.conf
:13
#listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; };
#listen-on-v6 port 53 { ::1; };
listen-on-v6 port 53 { none; };
:21
#allow-query { localhost; };
allow-query { any; };
:wq
named.confのチェック
# named-checkconf /var/named/chroot/etc/named.conf
# systemctl start named
# systemctl enable named
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
services: ssh dns
IPv4専用にする
# cp -ip /etc/sysconfig/named /etc/sysconfig/named_`date "+%Y%m%d"`
# vi /etc/sysconfig/named
:12
OPTIONS="-4"
:wq
# systemctl restart named
正引き
正引きのゾーンを設定します。
# cp -ip /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf_`date "+%Y%m%d"`zone
# vi /var/named/chroot/etc/named.conf
:$
zone "koganecloud.jp" IN {
type master;
file "koganecloud.jp.hosts";
};
:wq
named.confのチェック
# named-checkconf /var/named/chroot/etc/named.conf
# vi /var/named/chroot/var/named/koganecloud.jp.hosts
$ttl 38400
koganecloud.jp. IN SOA ns3.itcore.jp. admin.itcore.jp. (
2017110501 ; serial
10800 ; refresh
3600 ; retry
604800 ; expire
38400 ; TTL
)
koganecloud.jp. IN NS ns3.itcore.jp.
koganecloud.jp. IN A 61.213.223.47
www.koganecloud.jp. IN A 61.213.223.47
wp.koganecloud.jp. IN A 14.102.134.42
user101a1.wp.koganecloud.jp. IN A 14.102.134.42
user101b.wp.koganecloud.jp. IN A 14.102.134.42
test.koganecloud.jp. IN A 14.102.134.42
:wq
# chown named.named /var/named/chroot/var/named/koganecloud.jp.hosts
# chmod 600 /var/named/chroot/var/named/koganecloud.jp.hosts
ゾーンファイルのチェック
# named-checkzone koganecloud.jp /var/named/chroot/var/named/koganecloud.jp.hosts
zone koganecloud.jp/IN: loaded serial 2017110501
OK
# systemctl reload named
現在のDNSで定義されていないサーバの正引き確認。
C:\Users\yamada>nslookup
既定のサーバー: google-public-dns-a.google.com
> test.koganecloud.jp
*** google-public-dns-a.google.com が test.koganecloud.jp を見つけられません: Non-existent domain
> server ns3.itcore.jp
既定のサーバー: ns3.itcore.jp
> test.koganecloud.jp
Address: 14.102.134.42
セカンダリ
セカンダリサーバを作成します。
プライマリサーバとは別の物理サーバに作成します。
DNSに登録します。
ns4.itcore.jp 61.213.223.53
CentOS7をインストールします。
# yum -y install bind bind-chroot
# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
# cp -ip /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf_`date "+%Y%m%d"`
# vi /var/named/chroot/etc/named.conf
:13
#listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; };
#listen-on-v6 port 53 { ::1; };
listen-on-v6 port 53 { none; };
:21
#allow-query { localhost; };
allow-query { any; };
:47
forwarders {
61.213.223.46;
};
allow-transfer { 61.213.223.46; };
:$
server 61.213.223.46 {
};
:wq
# named-checkconf /var/named/chroot/etc/named.conf
# systemctl start named
# systemctl enable named
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --reload
# firewall-cmd --list-all
services: ssh dns
プライマリサーバへの設定
# vi /var/named/chroot/etc/named.conf
:47
forwarders {
61.213.223.53;
};
:wq
# systemctl start named
セカンダリサーバでの確認。
> server ns4.itcore.jp
> test.koganecloud.jp
サーバー: ns4.itcore.jp
Address: 61.213.223.53
権限のない回答:
名前: test.koganecloud.jp
Address: 14.102.134.42
Whois
whoisの確認
https://whois.ansi.co.jp/
[Domain Name] KOGANECLOUD.JP
[Name Server] ns1.itcore.jp
[Name Server] ns2.itcore.jp
ドメインを取得したレジストラ(プロバイダ)にてDNSサーバを変更します。
ドメイン名のネームサーバー変更が完了した事をお知らせいたします。
※お客様の環境により、反映完了まで24時間から72時間程度かかる場合がございます。
[ドメイン情報]
ドメイン名..................:koganecloud.jp
[ネームサーバー情報]
ns3.itcore.jp
ns4.itcore.jp
翌日にはWhoisに反映されていました。
[Domain Name] KOGANECLOUD.JP
[Name Server] ns3.itcore.jp
[Name Server] ns4.itcore.jp
GoogleのDNSで名前解決出来ることを確認できました。
C:\Users\yamada>nslookup
> test.koganecloud.jp
サーバー: google-public-dns-a.google.com
Address: 8.8.8.8
権限のない回答:
名前: test.koganecloud.jp
Address: 14.102.134.42
ドメイン追加
ゾーンファイルのテンプレート作成シェル
# cd /var/named/chroot/etc
# mkdir -p rireki
# vi _add.sh
today=`date "+%Y%m%d"`
# ドメインを追加します。
for domain in \
koganecloud.jp \
work80.jp \
sc80.jp
do
echo domain=$domain
ret=`grep $domain named.conf`
if [ -z "$ret" ]; then
echo add $domain to named.conf
cp -np named.conf rireki/named.conf_`date "+%Y%m%d"`
data=$(cat << EOT
zone "$domain" IN { type master; file "$domain.hosts"; };
EOT
)
echo "$data" >> named.conf
data=$(cat << EOT
\$ttl 38400
$domain. IN SOA ns3.itcore.jp. admin.itcore.jp. (
${today}01 ; serial
10800 ; refresh
3600 ; retry
604800 ; expire
38400 ; TTL
)
$domain. IN NS ns3.itcore.jp.
$domain. IN NS ns4.itcore.jp.
EOT
)
# 変数をダブルコーテーションでくくらないと改行がなくなるので注意。
# 追加にしているのは、万が一の上書き防止の為。
file=/var/named/chroot/var/named/$domain.hosts
echo "$data" >> $file
chown named.named $file
chmod 600 $file
ls -l $file
fi
done;
# sh _add.sh
domain=koganecloud.jp
domain=work80.jp
add work80.jp to named.conf
-rw------- 1 named named 194 11月 6 21:45 /var/named/chroot/var/named/work80.jp.hosts
domain=sc80.jp
add sc80.jp to named.conf
-rw------- 1 named named 190 11月 6 21:45 /var/named/chroot/var/named/sc80.jp.hosts
作成されたゾーンファイルにレコードを追加します。
# vi /var/named/chroot/var/named/work80.jp.hosts
# vi /var/named/chroot/var/named/sc80.jp.hosts
ゾーンファイルをチェックします。
# vi _check.sh
named-checkconf /var/named/chroot/etc/named.conf
for domain in \
koganecloud.jp \
work80.jp \
sc80.jp
do
named-checkzone $domain /var/named/chroot/var/named/$domain.hosts
done;
# sh _check.sh
zone koganecloud.jp/IN: loaded serial 2017110501
OK
zone work80.jp/IN: loaded serial 2017110601
OK
zone sc80.jp/IN: loaded serial 2017110601
OK
ゾーンファイルの読み込み
# systemctl reload named
ログ(windows Dynamic DNS)
WindowsマシンからのDynamic DNS登録拒否ログを解消する。
[root@ns3 ~]# tail /var/named/data/named.run
client 61.213.223.61#64283: update 'itcore.jp/IN' denied
[root@ns3 ~]# tail /var/log/messages
Feb 23 18:19:41 ns3 named[1074]: client 61.213.223.61#62617: update 'itcore.jp/IN' denied
[root@ns3 ~]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
[root@ns3 ~]# cp -ip /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf_`date "+%Y%m%d"`
[root@ns3 ~]# vi /var/named/chroot/etc/named.conf
options {
allow-update {61.213.223.32/27;};
}
[root@ns3 ~]# named-checkconf /var/named/chroot/etc/named.conf
[root@ns3 ~]# systemctl restart named
[root@ns3 ~]# tail /var/log/messages
Feb 23 18:25:46 ns3 named[1918]: all zones loaded
■しばらく運用
ジャーナルファイルの書き込みエラーになっているので、namedに対して書き込み権限を与える。
[root@ns3 ~]# tail /var/log/messages
Feb 23 18:39:48 ns3 named[1918]: client 61.213.223.61#54476: updating zone 'itcore.jp/IN': error: journal open failed: unexpected error
[root@ns3 ~]# ls -l /var | grep named
drwxr-x--- 7 root named 4096 12月 15 2017 named
[root@ns3 ~]# ls -l /var/named/chroot | grep var
drwxr-x--- 5 root named 52 11月 5 2017 var
[root@ns3 ~]# ls -l /var/named/chroot/var | grep named$
drwxrwx--- 7 root named 4096 12月 15 2017 named
[root@ns3 ~]# chmod g+w /var/named
[root@ns3 ~]# chmod g+w /var/named/chroot/var
[root@ns3 ~]# ls -l /var | grep named
drwxrwx--- 7 root named 4096 12月 15 2017 named
[root@ns3 ~]# ls -l /var/named/chroot | grep var
drwxrwx--- 5 root named 52 11月 5 2017 var
■しばらく運用
うまくいっているようだ
Feb 23 20:19:48 ns3 named[1918]: client 61.213.223.61#51507: updating zone 'itcore.jp/IN': adding an RR at 'ForestDnsZones.corp.itcore.jp' A
Feb 23 20:19:48 ns3 named[1918]: client 61.213.223.61#65445: updating zone 'itcore.jp/IN': adding an RR at 'DomainDnsZones.corp.itcore.jp' A
ログ(DNSSEC)
■ログ出力
error (insecurity proof failed) resolving 'aids.gov/ANY/IN':
■設定
# cp -ip /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf_20190302
# vi /var/named/chroot/etc/named.conf
dnssec-enable no;
dnssec-validation no;
systemctl restart named
tail /var/named/data/named.run