LoginSignup
19
21

More than 5 years have passed since last update.

Raspberry Pi 2(略してパイ2)で内向きDNS

Posted at

概要

Raspberry Pi 2にdnsmasq を導入して、プライベートネットワーク内の内向きDNSサーバとして利用します。
DNSといえばbindが一般的だと思いますが、bindは機能は豊富だけど設定が面倒。
dnsmasq は軽量で、hostsファイルを編集するだけで内容を展開してくれるので運用が簡単です。

dnsmasq の導入

dnsmasq は apt-get でインストールできます。
設定内容については他のサイトで解説されているのでそちらをご覧ください。

$ sudo apt-get install dnsmasq
$ sudo vi /etc/dnsmasq.conf
    port=53
    domain-needed
    bogus-priv
    local=/local.example.com/
    expand-hosts
    domain=local.example.com

$ sudo service dnsmasq restart

Aレコードの登録

hostsファイルに記述するだけでdnsmasq がAレコードと判断してくれます。
hostsファイル変更後は、dnsmasq を再起動する必要があります。

$ sudo vi /etc/hosts
    192.168.1.192   host1.example.com

$ sudo service dnsmasq restart

クライアントで名前解決ができることを確認

WindowsOSの場合、コントロールパネルのイーサネットの設定から優先DNSサーバーに raspberry piのIPアドレスを指定します。
代替DNSサーバーは、内向きDNSがraspberry piのみであれば、普段使っているルーターなどを指定すればいいでしょう。

pi011.PNG

ここでは名前解決してApacheにアクセスできるかを確認してみます。
ブラウザからraspberry piのhostsで指定した http://host1.example.com/ へアクセスしてみましょう。
raspberry piにアクセスできれば成功です。

dnsmasqのメモリ使用量

psコマンドのRSS値を見てみましょう。

$ ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    dnsmasq   2040  0.0  0.2   4448  2344 ?        S    22:03   0:00 /usr/sbin/dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r /var/run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new

ほぼ起動直後で2.3MB程度のメモリを使用しているようです。

dnsmasq がダウン後に復旧した場合

dnsmasqがダウンすると当然内向きDNSは機能しません。

試しにraspberry piのLANケーブルを抜いてみます。

当然raspberry piのhostsに設定した内容は引けず、代替DNSサーバーへの問い合わせになります。

抜いたLANケーブルを再び差し込んでみます。

WindowsOSの場合、このままではすぐにdnsmasqを見てくれません。
WindowsのDNSキャッシュをクリアする必要があります。
コマンドプロンプトから下記のコマンドを実行します。

ipconfig /flushdns
    Windows IP 構成
    DNS リゾルバー キャッシュは正常にフラッシュされました。

ブラウザを再起動すると、再びdnsmasqを参照してくれるようになります。

19
21
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
21