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
と超低スペックで済んだ。
