今回は、CentOS8でBINDをインストールし、DNSサーバを構築します。
手順
1.CentOS8 4号機にログイン
2.BINDのインストール
3.セキュリティ設定
4.動作確認
1.CentOS8 4号機にログイン
TeraTermで、CentOS 4号機にrootでログインします。
2.BINDのインストール
# BINDのインストール
[root@CE08PRD101 ~]# dnf -y install bind bind-utils
(省略)
インストール済み:
bind-32:9.11.13-6.el8_2.1.x86_64
完了しました!
# BINDの設定ファイルバックアップ
[root@CE08PRD101 ~]# cp -p /etc/named.conf /etc/named.conf_`date "+%Y%m%d_%H%M%S"`
[root@CE08PRD101 ~]# ll /etc/named.conf*
-rw-r----- 1 root named 1705 9月 10 01:48 /etc/named.conf
-rw-r----- 1 root named 1705 9月 10 01:48 /etc/named.conf_20200923_131035
# BINDの設定ファイル編集
[root@CE08PRD101 ~]# vim /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind/sample/ for example named configuration files.
//
options {
#listen-on port 53 { 127.0.0.1; };
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
# 名前解決できるアドレスを指定
allow-query { localhost; 192.168.0.0/24; };¨
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
/ https://fedoraproject.org/wiki/Changes/CryptoPolicy */
include "/etc/crypto-policies/back-ends/bind.config";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
# 正引き用ゾーンファイルの定義追加
zone "daredemose.com" IN {
type master;
file "daredemose.com";
allow-update { none; };
};
# 逆引き用ゾーンファイルの定義追加
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.rev";
allow-update { none; };
};
# 正引き用ゾーンファイル作成
[root@CE08PRD101 ~]# vim /var/named/daredemose.com
$TTL 86400
@ IN SOA ns.daredemose.com. root.daredemose.com. (
; シリアル番号は任意の数値で OK
; 管理上の推奨は [YYYYMMDDnn] (更新日付 + 連番)
2020092301 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
; ネームサーバーを定義
IN NS ns.daredemose.com.
; ネームサーバーの IP アドレス
IN A 192.168.0.151
; 使用するメールサーバーを定義
IN MX 10 ns.daredemose.com.
; ホスト名に関連付ける IP アドレスを定義
ns IN A 192.168.0.151
www IN A 192.168.0.101
# 逆引き用ゾーンファイル作成
[root@CE08PRD101 ~]# vim /var/named/0.168.192.rev
$TTL 86400
@ IN SOA ns.daredemose.com. root.daredemose.com. (
2020092301 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
; ネームサーバーを定義
IN NS ns.daredemose.com.
; IP アドレスに関連付けるホスト名を定義
151 IN PTR ns.daredemose.com.
101 IN PTR www.daredemose.com.
# DNSサーバのアドレスをCentOS8 4号機に設定
[root@CE08PRD101 ~]# nmcli c modify enp0s3 ipv4.dns 192.168.0.151
[root@CE08PRD101 ~]# nmcli c modify enp0s3 ipv4.dns-priority 1 ipv6.dns-priority 2
[root@CE08PRD101 ~]# systemctl restart NetworkManager
# ネットワークマネージャーの再起動
[root@CE08PRD101 ~]# systemctl restart NetworkManager
# サービス起動
[root@CE08PRD101 ~]# systemctl enable --now named
# サービス起動確認
# Active:がactiveになっていることを確認する。
[root@CE08PRD101 ~]# systemctl status chronyq
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-09-08 12:00:38 JST; 59s ago
(省略)
3.セキュリティ設定
# ファイヤーウォールの許可設定
[root@CE08PRD101 ~]# firewall-cmd --add-service=dns --permanent
success
[root@CE08PRD101 ~]# firewall-cmd --reload
success
# ファイヤーウォールの許可設定確認
# dnsが追加されたことを確認する。
[root@CE08PRD101 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: cockpit dhcpv6-client ftp http ntp dns ssh
(省略)
4.動作確認
# 正引きの名前解決確認
# ANSWER SECTIONにAレコード(192.168.0.151)が表示されていればOK
[root@CE08PRD101 ~]# dig daredemose.com
; <<>> DiG 9.11.13-RedHat-9.11.13-6.el8_2.1 <<>> daredemose.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55567
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 5b94a6ecf658c435abc50a9b5f6aedcfe81e53609d35dfd0 (good)
;; QUESTION SECTION:
;daredemose.com. IN A
;; ANSWER SECTION:
daredemose.com. 86400 IN A 192.168.0.151
;; AUTHORITY SECTION:
daredemose.com. 86400 IN NS ns.daredemose.com.
;; ADDITIONAL SECTION:
ns.daredemose.com. 86400 IN A 192.168.0.151
;; Query time: 0 msec
;; SERVER: 192.168.0.151#53(192.168.0.151)
;; WHEN: 水 9月 23 15:40:15 JST 2020
;; MSG SIZE rcvd: 120
# 逆引きの名前解決確認
# ANSWER SECTIONにPTRレコード(ns.daredemose.com)が表示されていればOK
[root@CE08PRD101 ~]# dig -x 192.168.0.151
; <<>> DiG 9.11.13-RedHat-9.11.13-6.el8_2.1 <<>> -x 192.168.0.151
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64158
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 57e67a8571261d56dc960b975f6aee82bd19a0c6aa023201 (good)
;; QUESTION SECTION:
;151.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
151.0.168.192.in-addr.arpa. 86400 IN PTR ns.daredemose.com.
;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400 IN NS ns.daredemose.com.
;; ADDITIONAL SECTION:
ns.daredemose.com. 86400 IN A 192.168.0.151
;; Query time: 0 msec
;; SERVER: 192.168.0.151#53(192.168.0.151)
;; WHEN: 水 9月 23 15:43:14 JST 2020
;; MSG SIZE rcvd: 144