Introduction
Synology の NAS サーバで DNS を動かしているのだが、正引気くらいしか使っていないのと設定が GUI だけしかなくて追加が面倒、ベンダーロックでつぶしが効かない、ということで DNS サーバを別途用意することに決めた。
Alpine Linux にしたのは軽量だったから。
Description
全て root
で実施している。
1. dnsmasq のインストール
1 | $ apk add dnsmasq |
続いて /etc/dnsmasq.conf
を設定。dnsmasq
をインストールした DNS サーバをプライマリにし、外部のドメインの解決はインターネット回線に繋がっているルータにフォワードするようにしている。
1 | # ローカルゾーン定義 |
2. ローカルのドメイン設定
いわゆる hosts
ファイル。dnsmasq
は /etc/dnsmasq.d
の配下に hosts
ファイルを配置していく。
先の設定ファイル内の addn-hosts
で指定した、/etc/dnsmasq.d/hosts.local
を作成する。
1 | 192.168.11.107 snipeit.xxxxxx.local |
設定後、dnsmasq
を再起動 (不要かも)。
1 | $ rc-service dnsmasq restart |
3. 動作確認
DNS クライアントの DNS サーバ制定設定を変更し、名前解決ができているかを確認。
(もし、hosts ファイルを編集していたなら記述は削除しておく)
下記は Windows からの確認。
1 | $ nslookup gitlab.xxxxxx.local |
問題なく解決できている。
最終的に、DNS サーバのリソース消費は
- ストレージ: 1 GB 未満
- RAM: 600 MB
- CPU: 100 MHz
と超低スペックで済んだ。