Debian関係の技術日誌

DebianでDnsmasqを使ってDNSを実現する

小規模な内部ネットワーク向けの軽量な DNSソフトのDnsmasq を使用する。


DNSソフトといえばBINDが一般的だが、
BINDは設定が複雑で記述するべきところがとても多く複雑である。
Dnsmasqは設定が簡単で気軽に使えるのが特徴。
BINDほど高速ではないし機能も少ないが
小規模な家庭内LANや小規模事業所などでは十分使える。

DNSサーバーを実装する

Dnsmasqをインストールする。

# apt -y install dnsmasq

設定ファイルを書換える。

# cd /etc
# cp dnsmasq.conf dnsmasq.conf.default
# vi dnsmasq.conf

以下の内容に書き換える。

# コメントアウトを解除:ドメイン名の無いクエリは上位サーバーに問い合わせない
domain-needed

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

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

# コメントアウトを解除してネットワークインターフェース名を追記する
interface=enp1s0

# コメントアウトを解除
bind-interfaces

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

# コメントアウトを解除:/etc/hosts をdnsmasqでは使用しない
no-hosts

# コメントアウトを解除:/etc/hosts-dnsmasqにホスト名とIPアドレスを記載する
addn-hosts=/etc/hosts-dnsmasq

# コメントアウトを解除:ローカルネットワークのドメイン名を記述する
domain=local.example.jp

dnsmasqを再起動する。

# systemctl restart dnsmasq

/etc/hosts-dnsmasq を編集する。

# vi /etc/hosts-dnsmasq

IPアドレスとホスト名を記述していく

192.169.1.100       www.local.example.jp www

リロードする。

# systemctl reload dnsmasq

DNSを使用する他のクライアント・マシンの設定を行う

/etc/resolv.conf を編集する。

# vi /etc/resolv.conf

DnsmasqをインストールしたマシンのIPアドレスを追加する。

nameserver 192.168.1.100
nameserver 192.168.1.1

digコマンドやpingを使ってDNS解決が行われるかを確認する。

コメントは受け付けていません。

挨拶

このサイトの著者:
NEVER_NOTHING(なっしんぐ)

フリーランスのITエンジニア
京都出身/東京在住