はじめに
ドメインネームシステム(DNS)は、人間が読み取れるドメイン名をIPアドレスに変換します。 DNSは、ページにすばやくアクセスするためのインターネットアドレスの電話帳として機能します。 Raspberry PiをDNSサーバーとして設定すると、DNSルックアップ時間と接続速度が向上します。
このガイドでは、RaspberryPiをDNSサーバーとして構成する方法について説明します。

前提条件
- 静的IPアドレスを使用するRaspbianOSを搭載したRaspberryPi2、3、または4
- イーサネットケーブル接続またはWi-Fiドングル
- 電源
- MicroSDカード
- sudo権限を使用した端末アクセス(直接またはSSH経由)
RaspberryPiDNSサーバーセットアップガイド
RaspberryPiをDNSサーバーとして設定する方法はいくつかあります。ただし、最も簡単な方法は、軽量の DNSMasqを使用することです。 ユーティリティ。
ステップ1:パッケージを更新する
開始する前に、ターミナルを開き、aptパッケージマネージャーを使用してRaspberryPiのソフトウェアパッケージを更新します。
sudo apt update
sudo apt upgrade
次のステップに進む前に、更新とアップグレードが完了するのを待ちます。
ステップ2:DNSソフトウェアをインストールする
Raspberry PiにDNSMasqをインストールします:
sudo apt install dnsmasq

DNSMasqは、小規模ネットワークに最適です。
ステップ3:DNSMasqを構成する
DNSMasqを構成すると、DNSサーバーの最適なセットアップが保証されます。
1. dnsmasq.confを変更します 次のコマンドを実行して、nanoテキストエディタを使用してファイルを作成します:
sudo nano /etc/dnsmasq.conf
2.( CTRL を見つけます + W
検索するには)、ハッシュ記号( #
)を削除して、次の行のコメントを解除します ):
domain-needed
– ドット(。)またはドメイン名のない名前をアップストリームサーバーに転送しないようにDNSサーバーを構成します。ドットやドメインのない名前はローカルネットワークに残ります。-
bogus-priv
–DNSサーバーがローカルIP範囲の逆引き参照クエリをアップストリームDNSサーバーに転送しないようにします。これにより、ローカルネットワークがアップストリームサーバーにリークするのを防ぎます。 no-resolv
– /etc/resolv.confからのアップストリームネームサーバーの読み取りを停止します 代わりに、DNSMasq構成のものに依存するファイル。
3.検索( CTRL + W
)そして次の行を削除します:
#sever=/localnet/192.168.0.1
置換:
server=8.8.8.8
server=8.8.4.4
この手順では、アップストリームのネームサーバーにGoogleのDNSサーバーを使用します。
4.検索( CTRL + W
)次の行:
#cache-size=150
コメントを外し、キャッシュサイズを 1000
に変更します :
cache-size=1000
キャッシュサイズを大きくすると、DNSMasqキャッシュへのDNS要求の数が増えます。 DNSルックアップ時間が短縮されるため、ネットワークパフォーマンスが向上します。
5. CTRLでファイルを保存します + X
、次に Y
を押します Enterを押します 変更を保持します。
6. DNSMasqを再起動して、変更を適用します。
sudo systemctl restart dnsmasq
7.次のコマンドでDNSサーバーのステータスを確認します。
sudo systemctl status dnsmasq
ステータスはactive (running)
と表示されます 、Raspberry PiがDNSサーバーとして実行されていることを示します:

ステップ4:DNSサーバーをテストする
1.digコマンドを使用して新しくセットアップしたDNSサーバーをテストします。次のコマンドを実行してDNSデータを確認します:
dig <domain> @localhost
例:
dig phoenixnap.com/kb @localhost
2.応答でクエリ時間を確認します:

3.コマンドを再実行します。アドレスがキャッシュされるため、クエリ時間が短縮されることに注意してください。

ステップ5:RaspberryPiをDNSサーバーとして使用するようにデバイスを構成する
最後のステップは、RaspberryPiをDNSサーバーとして使用するように他のデバイスを構成することです。
1. ifconfig
を実行して、RaspberryPiのIPアドレスを見つけます ターミナルから。 eth0 inetを保存します イーサネット接続またはwlan0inetを使用している場合のアドレス Wi-Fiを使用している場合のアドレス:

2.DNSサーバーアドレスを構成するデバイスのRaspberryPiアドレスとして設定します。 DNSサーバーアドレスはネットワーク設定にあり、使用しているOSによって異なります。
すべてのデバイスは、DNSサーバーを利用するためにRaspberryPiアドレスを指している必要があります。