RHEL8 DNSサーバ BINDを構築する方法

環境
RHEL 8.6

操作方法
1.BINDのインストール
$ yum install bind bind-utils

2.設定ファイルの変更
#vi /etc/named.conf

箇所1:ここでは、2つの内部ネットワークを許可のリストに入れています。
acl “internalnet"{192.168.112.0/24; 172.17.0.0/24;};

箇所2:以下2行はコメントアウト( Listen する IPを固定するために使用する)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// listen-on port 53 { 127.0.0.1; };
// 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";
// listen-on port 53 { 127.0.0.1; }; // 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";
// listen-on port 53 { 127.0.0.1; };
// 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";

 

箇所3: allow-queryに internalnet を追加します。デフォルトだと localhost なので、外からDNS Query を受け付けません。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
allow-query {internalnet; localhost; };
allow-query {internalnet; localhost; };
allow-query {internalnet; localhost; };

箇所4. 追加Forwarder
// BINDサーバーで解決できないドメイン名の解決をお願いする別のDNSサーバーのIPアドレス。
forwarders {192.168.124.10;};

箇所5:管理したい Zone名についての記述。
// file “…" の部分で行うので、ここで指定したフィル名のファイルを別途作成する。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
zone "example.localdomain" {
type master;
file "/etc/named/named.example.localdomain.zone";
};
zone "example.localdomain" { type master; file "/etc/named/named.example.localdomain.zone"; };
zone "example.localdomain" {
type master;
file "/etc/named/named.example.localdomain.zone";
};

3.Zoneの定義ファイルの作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# vi /etc/named/named.example.localdomain.zone
$ORIGIN example.localdomain.
$TTL 3600
@ IN SOA ns1.example.localdomain. root.example.localdomain.(
2000091801 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns1.example.localdomain.
ns1 IN A 192.168.124.101
bastion IN A 192.168.124.102
ldap IN A 192.168.124.103
lb1 IN A 192.168.124.110
lb2 IN A 192.168.124.111
# vi /etc/named/named.example.localdomain.zone $ORIGIN example.localdomain. $TTL 3600 @ IN SOA ns1.example.localdomain. root.example.localdomain.( 2000091801 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS ns1.example.localdomain. ns1 IN A 192.168.124.101 bastion IN A 192.168.124.102 ldap IN A 192.168.124.103 lb1 IN A 192.168.124.110 lb2 IN A 192.168.124.111
# vi /etc/named/named.example.localdomain.zone

$ORIGIN example.localdomain.
$TTL 3600
@       IN      SOA     ns1.example.localdomain. root.example.localdomain.(
                                2000091801      ; Serial
                                3600            ; Refresh
                                900             ; Retry
                                3600000         ; Expire
                                3600 )          ; Minimum
        IN      NS      ns1.example.localdomain.
ns1     IN      A       192.168.124.101
bastion IN      A       192.168.124.102
ldap    IN      A       192.168.124.103
lb1     IN      A       192.168.124.110
lb2     IN      A       192.168.124.111

# named.conf の書式確認
$ named-checkconf -z /etc/named.conf

# namedの起動
$ systemctl start named

# namedステータスの確認
$ systemctl status named

4.DNS を許可されたサービスに追加します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ firewall-cmd --add-service=dns
success
$ firewall-cmd --add-service=dns success
$ firewall-cmd --add-service=dns
success

# 新しい設定を永続化させます。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ firewall-cmd --runtime-to-permanent
success
$ firewall-cmd --runtime-to-permanent success
$ firewall-cmd --runtime-to-permanent
success

5.基本コマンド
# 起動
$ systemctl start named

# 停止
$ systemctl stop named

# 設定のリロード
$ systemctl reload named

# ステータスの確認
$ systemctl status named

# 自動起動
$ systemctl enable named

# 自動起動設定確認
$ systemctl is-enabled named

# named.conf の書式確認
$ named-checkconf -z /etc/named.conf

RHEL9

Posted by arkgame