・パッケージのインストール
# dnf install -y bind bind-chroot bind-utils
・named-chrootの起動と自動起動設定
# systemctl enable --now named-chroot
・namedが停止していて自動起動設定がdisableになっていることを確認
# systemctl status named
# systemctl is-enabled named
・named-chrootが起動していて自動起動設定がenableになっていることを確認
# systemctl status named-chroot
# systemctl is-enabled named-chroot
・chroot化の設定
# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
vi /etc/sysconfig/named
↓
ROOTDIR=/var/named/chroot
・正引きのゾーンファイルの作成
ゾーンファイルは、上記をコピーペースをしてもなぜか書式が間違っていてnamed-chrootを起動できないことがあるため、「/var/named/named.localhost」をコピーしてそれを編集することで正確にゾーンファイルを作成することができる
/var/named/example.local
$TTL 1D
@ IN SOA @ ns.example.local. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns.example.local.
example.local. IN A 192.168.10.107
ns IN A 192.168.10.107
web IN CNAME test.local.
・逆引きのゾーンファイルの作成
ゾーンファイルは、上記をコピーペースをしてもなぜか書式が間違っていてnamed-chrootを起動できないことがあるため、「/var/named/named.loopback」をコピーしてそれを編集することで正確にゾーンファイルを作成することができる
/var/named/rev-example.local
$TTL 1D
@ IN SOA @ ns.example.local. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.10.107
107 PTR example.local.
107 PTR ns
・named.confのバックアップ
# cp -ip /etc/named.conf /etc/named.conf.org
・named.confの編集
/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 { 192.168.10.107; };
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 { any; };
/*
- 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";
};
zone "example.local" IN {
type master;
file "example.local";
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "rev-example.local";
allow-update { none; };
};
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";
・サービス再起動と起動確認
systemctl restart named-chroot && systemctl status named-chroot