Raspberry Piで宅内用のDNSサーバをDnsmasqで構築する!

宅内用に独自のドメインを立てるためDNSサーバを構築します。DNSサーバは、常時起動が望ましいため、省電力のRasberry Piを活用します。

使用するバージョンを確認する!

使用するRaspberry Piのバージョンを確認します。

$ cat /etc/debian_version 
11.5

Dnsmasqをインストールする!

Dnsmasqをインストールします。

sudo apt install dnsmasq -y

インストールが完了すると、Dnsmasqは起動済みの状態になっています。自動起動も設定済みです。

Dnsmasqのデフォルトの動作を確認する!

Dnsmasqのデフォルトの動作を確認します。デフォルトで、以下の設定となっていることを前提に設定を行っていきます。

  • 上位のサーバは、/etc/resolv.confを参照する。
  • 名前解決の情報は、/etc/hostsを参照する。

Dnsmasqの設定を行う!

ドメインなしの問い合わせを、上位のDNSサーバに問い合わせしないように、以下の設定を有効にします。

# Never forward plain names (without a dot or domain part)
domain-needed

宅内のIPアドレスの問い合わせを、上位のDNSサーバに問い合わせしないように、以下の設定を有効にします。

# Never forward addresses in the non-routed address spaces.
bogus-priv

宅内のドメインの問い合わせを、上位のDNSサーバに問い合わせしないように、以下の設定を行います。以下は、ローカルのドメインが「lab4ict.local」の例です。

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/lab4ict.local/

設定が終わったら、Dnsmasqを再起動して、名前解決のテストを行います。

systemctl restart dnsmasq

名前解決の設定を行う!

Dnsmasqでは、デフォルトの設定で、名前解決のデータベースとして「/etc/hosts」を参照します。名前解決の情報は、「/etc/hosts」に追加していきます。「/etc/hosts」に情報を追加したら、Dnsmasqを再起動します。

おわりに

宅内用のDNSサーバには、省電力のサーバを使用することが望ましいです。省電力のRaspberry Piで簡単にDNSサーバを構築することができます。