CentOS Stream 10
Sponsored Link

Dnsmasq : インストールと設定2024/12/27

 

小規模な内部ネットワーク向けの軽量な DNS フォワーダー/DHCP サーバーソフトウェア [Dnsmasq] のインストールと設定です。

[1] Dnsmasq をインストールします。
[root@dlp ~]#
dnf -y install dnsmasq
[2] Dnsmasq の設定です。
[root@dlp ~]#
vi /etc/dnsmasq.conf
# 19行目 : コメント解除
# ドメイン名の無いクエリは上位サーバーに問い合わせない
domain-needed

# 21行目 : コメント解除
# プライベート IP アドレスの逆引き要求は上位サーバーに問い合わせない
bogus-priv

# 53行目 : コメント解除
# [resolv.conf] に記述のサーバーに上から順に問い合わせる
strict-order

# 67行目 : もし必要であれば追記
# 指定のドメインは指定のサーバーに問い合わせる
# 下例の場合 [server.education] ドメインは [10.0.0.10] のサーバーに問い合わせる
server=/server.education/10.0.0.10

# 133行目 : コメント化
# 全インターフェースをリスンする
#local-service=host

# 161行目 : コメント解除
# ホスト名に自動的にドメイン名を付加する
expand-hosts

# 171行目 : 自身のドメイン名を追記
domain=srv.world

[root@dlp ~]#
systemctl enable --now dnsmasq

[3] IP アドレスとホスト名のエントリは [/etc/hosts] へ登録します。
以上の設定により、クライアントからの要求に対して、設定した内部ドメインは [/etc/hosts] を参照し、その他は上位の DNS サーバーに問い合わせて結果を返します。
[root@dlp ~]#
vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 設定するエントリを追記
10.0.0.30   dlp.srv.world dlp
10.0.0.31   www.srv.world www 

[root@dlp ~]#
systemctl restart dnsmasq

[4] Firewalld を有効にしている場合は、DNS サービスの許可が必要です。DNS は [53/TCP,UDP] を使用します。
[root@dlp ~]#
firewall-cmd --add-service=dns

success
[root@dlp ~]#
firewall-cmd --runtime-to-permanent

success
[5] 内部ネットワーク内の任意のクライアントホストから名前解決可能か確認しておきます。
[root@node01 ~]#
dnf -y install bind-utils
# 名前解決の参照先を Dnsmasq サーバーへ変更 ( [enp1s0] は自身の環境に置き換え )

[root@node01 ~]#
nmcli connection modify enp1s0 ipv4.dns 10.0.0.30

[root@node01 ~]#
nmcli connection up enp1s0
[root@node01 ~]#
dig dlp.srv.world.


; <<>> DiG 9.18.21 <<>> dlp.srv.world.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 673
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;dlp.srv.world.                 IN      A

;; ANSWER SECTION:
dlp.srv.world.          0       IN      A       10.0.0.30

;; Query time: 0 msec
;; SERVER: 10.0.0.30#53(10.0.0.30) (UDP)
;; WHEN: Fri Dec 27 13:18:57 JST 2024
;; MSG SIZE  rcvd: 58

[root@node01 ~]#
dig -x 10.0.0.30


; <<>> DiG 9.18.21 <<>> -x 10.0.0.30
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19984
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
30.0.0.10.in-addr.arpa. 0       IN      PTR     dlp.srv.world.

;; Query time: 0 msec
;; SERVER: 10.0.0.30#53(10.0.0.30) (UDP)
;; WHEN: Fri Dec 27 13:19:38 JST 2024
;; MSG SIZE  rcvd: 78
関連コンテンツ