業務用エアコン関連の技術情報、エラーコード、環境問題対策に関する別サイト「エアコンの安全な修理・適切なフロン回収」

BindでDNSサーバー導入

DNS (Domain Name System) サーバー (RockyLinux ,AlmaLinux, MiracleLinux)

今回は以下のような環境で内部ネットワーク向けの設定をする

MiracleLinux8.6
BIND 9.11.36
ローカルネットワーク [192.168.11.0/24]
ドメイン  [korodes.jp]

サーバー#1
IPアドレス 192.168.11.83
ホスト名  aaa

サーバー#2
IPアドレス 192.168.11.84
ホスト名  www

サーバー#1にDNSサーバーを導入する

1.ドメイン、ネットワークの設定
1.1 BIND をインストール

# dnf -y install bind bind-utils

1.2 ローカルネットワーク、ドメイン名の設定

# vi /etc/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.
//
//追記
acl mynetwork {
192.168.11.0/24;
};

options {

listen-on port 53 { any; };    ← 変更
listen-on-v6 port 53 { none; };  ← 変更(IPv6でリスンしない)
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; mynetwork; }; ← 追記
/*
- 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 willca use 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 "korodes.jp" IN {
     type master;
     file "korodes.jp.lan";
     allow-update { none; };
};
zone "11.168.192.in-addr.arpa" IN {
     type master;
     file "11.168.192.db";
     allow-update { none; };
};

1.3 IPv4 のみの使用に限定する場合

# vi /etc/sysconfig/named
OPTIONS="-4"  ← 変更

2.ゾーンファイルの設定
2.1、正引き情報(ホスト名から IP アドレスを解決する)のゾーンファイルを新規作

# vi /var/named/korodes.jp.lan
内容

$TTL 86400
@ IN SOA aaa.korodes.jp. root.korodes.jp. (

2019100301 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)


IN NS aaa.korodes.jp.  ←ネームサーバーを定義
IN A 192.168.11.83  ←ネームサーバーのIPアドレス
IN MX 10 aaa.korodes.jp.  ←メールサーバーを定義


// ホスト名 IPアドレスの関連付け
aaa IN A 192.168.11.83
www IN A 192.168.11.84

2.2 逆引き情報(IP アドレスからホスト名を解決する)のゾーンファイルを新規作成

# vi /var/named/11.168.192.db
内容

$TTL 86400
@ IN SOA aaa.korodes.jp. root.korodes.jp. (
2019100301 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)

IN NS aaa.korodes.jp.  ←ネームサーバーを定義
//IP アドレスとホスト名の関連付け
83 IN PTR aaa.korodes.jp.
84 IN PTR www.korodes.jp.

3. 起動と名前解決の動作確認
3.1 BIND の起動と自動起動

# systemctl enable named

3.2 Firewalld を有効にしている場合、DNSサービス[53/TCP,UDP]を許可

# firewall-cmd --add-service=dns --permanent
success
# firewall-cmd --reload
success

3.3 名前解決の参照先を自ホストに変更(インターフェース名 ens160とする)

# nmcli connection modify ens160 ipv4.dns 192.168.11.83
# nmcli connection down ens160; nmcli connection up ens160
接続 'ens160' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)

3.4 名前解決ができるか動作確認
[ANSWER SECTION] に結果が表示されていれば OK

正引き確認

# dig aaa.korodes.jp.
; <<>> DiG 9.11.36-RedHat-9.11.36-5.el8.2 <<>> aaa.korodes.jp.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51556
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 2a249d0b180598a492acb1dd63d139cb017f27ca0c17a954 (good)
;; QUESTION SECTION:
;aaa.korodes.jp. IN A

;; ANSWER SECTION:
aaa.korodes.jp. 86400 IN A 192.168.11.83


;; AUTHORITY SECTION:
korodes.jp. 86400 IN NS aaa.korodes.jp.

;; Query time: 0 msec
;; SERVER: 192.168.11.83#53(192.168.11.83)
;; WHEN: 水 1月 25 23:16:43 JST 2023

逆引き確認

# dig -x 192.168.11.83
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3415
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 9e8077208394a3a198e0d8fc63d13ae567905240c6dfe4b7 (good)
;; QUESTION SECTION:
;83.11.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
83.11.168.192.in-addr.arpa. 86400 IN PTR aaa.korodes.jp.


;; AUTHORITY SECTION:
11.168.192.in-addr.arpa. 86400 IN NS aaa.korodes.jp.

;; ADDITIONAL SECTION:
aaa.korodes.jp. 86400 IN A 192.168.11.83

;; Query time: 0 msec
;; SERVER: 192.168.11.83#53(192.168.11.83)
;; WHEN: 水 1月 25 23:21:25 JST 2023
;; MSG SIZE rcvd: 141

DNS (Domain Name System) サーバー (Ubuntu,Debian)

今回は以下のような環境で内部ネットワーク向けの設定をする

Ubuntu22.04
BIND 9.18.1
ローカルネットワーク [192.168.11.0/24]
ドメイン  [korodes.jp]

サーバー#1
IPアドレス 192.168.11.83
ホスト名  aaa

サーバー#2
IPアドレス 192.168.11.84
ホスト名  www

サーバー#1にDNSサーバーを導入する

1.ドメイン、ネットワークの設定
1.1 BIND をインストール

# apt -y install bind9 bind9utils

1.2 ローカルネットワーク、ドメイン名の設定

# vi /etc/bind/named.conf
変更内容

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, BEFORE you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.internal-zones"; ←追記

# vi /etc/bind/named.conf.options
変更内容

追記 : ローカルネットワークを定義
acl mynetwork {
192.168.11.0/24;
};

options {
    directory "/var/cache/bind";


    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk. See http://www.kb.cert.org/vuls/id/800113


    // If your ISP provided one or more IP addresses for stable
    // nameservers, you probably want to use them as forwarders.
    // Uncomment the following block, and insert the addresses replacing
    // the all-0's placeholder.


    // forwarders {
    // 0.0.0.0;
    // };


    # 定義したローカルネットワークを追記
    allow-query { localhost; mynetwork; };
    # 追記 : 再帰的な検索を許可する
    recursion yes;

//======================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys. See https://www.isc.org/bind-keys
//======================================================================
    dnssec-validation auto;
    # IPV6 を利用しないので[none] に変更
    listen-on-v6 { none; };

};

定義したnamed.conf.internal-zonesを新規作成
# vi /etc/bind/named.conf.internal-zones
内容

zone "korodes.jp" IN {
    type master;
    file "/etc/bind/korodes.jp.lan";
    allow-update { none; };
};
zone "11.168.192.in-addr.arpa" IN {
    type master;
    file "/etc/bind/11.168.192.db";
    allow-update { none; };
};

1.3 IPv4 のみの使用に限定する場合

# vi /etc/default/named
OPTIONS="-u bind -4"  ← 変更

2.ゾーンファイルの設定
2.1、正引き情報(ホスト名から IP アドレスを解決する)のゾーンファイルを新規作成

# vi /etc/bind/korodes.jp.lan
内容

$TTL 86400
@ IN SOA aaa.korodes.jp. root.korodes.jp. (

2019100301 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)


IN NS aaa.korodes.jp.  ←ネームサーバーを定義
IN A 192.168.11.83  ←ネームサーバーのIPアドレス
IN MX 10 aaa.korodes.jp.  ←メールサーバーを定義


// ホスト名 IPアドレスの関連付け
aaa IN A 192.168.11.83
www IN A 192.168.11.84

2.2 逆引き情報(IP アドレスからホスト名を解決する)のゾーンファイルを新規作成

# vi /var/named/11.168.192.db
内容

$TTL 86400
@ IN SOA aaa.korodes.jp. root.korodes.jp. (
2019100301 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)

IN NS aaa.korodes.jp.  ←ネームサーバーを定義
//IP アドレスとホスト名の関連付け
83 IN PTR aaa.korodes.jp.
84 IN PTR www.korodes.jp.

3. 起動と名前解決の動作確認
3.1 BIND の起動と自動起動

# systemctl enable named

Synchronizing state of named.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable named

3.2 Firewalld を有効にしている場合、DNSサービス[53/TCP,UDP]を許可

# apt install firewalld
# firewall-cmd --add-service=dns --permanent
success
# firewall-cmd --reload
success

3.3 名前解決ができるか動作確認
[ANSWER SECTION] に結果が表示されていれば OK

正引き確認

# dig aaa.korodes.jp.
; <<>> DiG 9.18.1-1ubuntu1.3-Ubuntu <<>> aaa.korodes.jp.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54564
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;aaa.korodes.jp.       IN    A

;; ANSWER SECTION:
aaa.korodes.jp.    86400 IN    A    192.168.11.83

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Jan 26 10:22:11 JST 2023
;; MSG SIZE rcvd: 59

逆引き確認

# dig -x 192.168.11.83
; <<>> DiG 9.18.1-1ubuntu1.3-Ubuntu <<>> -x 192.168.11.83
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4610
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;83.11.168.192.in-addr.arpa.       IN    PTR

;; ANSWER SECTION:
83.11.168.192.in-addr.arpa.   86400  IN    PTR     aaa.korodes.jp.


;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Jan 26 10:23:31 JST 2023
;; MSG SIZE rcvd: 83


 

WordPressが利用できる代表的なレンタルサーバー

 

シェアする
nuyをフォローする
タイトルとURLをコピーしました