LAN内部DNSサーバdnsmasq 設定メモ

2023年2月12日:OSをAlmaLinux 9.1へアップグレードしたので設定を見直しした。
2021年11月12日

・未解決事項:何故かスマホからはアクセスできないので別途プロキシサーバを設置した。その時の資料「プロキシサーバのインストールと設定」はこちら。

内部LAN環境

ルーターIP:192.168.2.1
DNSサーバIP:192.168.2.2 # dnsmasqをインストール
Webサーバ(QnapNAS)IP:192.168.2.3 # chi2npui2.mydns.jp
WindowsPC IP:192.168.2.5(ドメインに所属していない・ワークグループを設定)

DNSサーバ仕様 

メーカー:MeLE
機種:Quieter2
OS:AlmaLinux 9.1
ホスト名+ドメイン名:dns1.localdomain
IPアドレス:192.168.2.2
サブネットマスク:255.255.255.0

dnsmasqインストール

# dnf -y install dnsmasq

/etc/dnsmasq.confを編集

/etc/dnsmasq.confをコピーして編集
# cp /etc/dnsmasq.conf /etc/dnsmasq.conf.org
# nano /etc/dnsmasq.conf

no-hosts
# サーバ上の/etc/hostsで名前解決をさせない

addn-hosts=/etc/hosts_dnsmasq
# 読み込むホストファイルを指定

log-queries
# logを残す

log-facility=/var/log/dnsmasq/dnsmasq.log
# logファイルの場所

port=53
# Port番号設定

bogus-priv
# プライベート IP アドレスの逆引き要求は上位サーバーに問い合わせない

resolv-file=/etc/dnsmasq_resolv.conf
# /etc/resolv.confは使用せず、このファイルを使用

strict-order
# resolv-fileに指定しているIPを上から順番に問い合わせする

domain-needed
#ドメイン名や.のないクエリを上位サーバーに問い合わせない

cache-size=0
# dnsmasqでキャッシュするレコード数。0にするとキャッシュしない

/etc/dnsmasq_resolv.confを作成

# nano /etc/dnsmasq_resolv.conf

nameserver ?.?.?.? #プロバイダのDNSサーバIPアドレス

読み込むhostsファイルを指定

# nano /etc/hosts_dnsmasq
( /etc/hostsファイルをコピーして必要部分を追記する)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.2 dns1 dns1.localdomain
192.168.2.3 chi2npui2.mydns.jp www.chi2npui2.mydns.jp

log用ディレクトリを作成

# mkdir /var/log/dnsmasq

ファイヤーウォールのポート「53/udp」を許可

# firewall-cmd --add-port=53/udp --zone=public --permanent
success

ファイアウォール再起動して上記で許可したポートを有効化する。
# firewall-cmd --reload
success

ファイアウォール再起動・ポート開放確認

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

ポート開放確認
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp2s0
sources:
services:cockpit dhcpv6-client dns ssh
ports: 53/udp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

dnsmasq 起動

dnsmasq起動
# systemctl start

dnsmasq再起動
# systemctl restart dnsmasq

サービス自動起動有効化
# systemctl enable --now dnsmasq

dnsmasq 稼働確認

# ps -A | grep dnsmasq
1012 ? 00:00:03 dnsmasq

名前解決確認

(DNSサーバーにて)
# dig @localhost chi2npui2.mydns.jp


;; ANSWER SECTION:
chi2npui2.mydns.jp. 0 IN A 192.168.2.3


(WindowsPCにて)
PS C:\Windows\System32> nslookup chi2npui2.mydns.jp
サーバー: dns1
Address: 192.168.2.2

名前: chi2npui2.mydns.jp
Address: 192.168.2.3

ping確認(WindowsPC→Webサーバー)

PS C:\Windows\system32> ping chi2npui2.mydns.jp

chi2npui2.mydns.jp [192.168.2.3]に ping を送信しています 32 バイトのデータ:
192.168.2.3 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.3 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.3 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.3 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.3 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms

ping確認(WindowsPC→DNSサーバー)

PS C:\Windows\System32> ping dns1.

dns1 [192.168.2.2]に ping を送信しています 32 バイトのデータ:
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.2.2 からの応答: バイト数 =32 時間 <1ms TTL=64

192.168.2.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms

このページを閉じる   ホームページへ