Growth Engineer

家庭とか組織とかサービスとか、いろんなものに対してエンジニア的な視点で育成してみる話

Ubuntu 16.10にDNSを導入する

古いPC端末を手に入れたのでこいつを宅内ローカルサーバとして設定してみる。家庭内向けの子供関連のアプリも作りたくなってきたのでこいつをベースに久しぶりに自宅インフラを構築していってみる。

まずはDNSサーバを設定。ローカルドメインを解決をしたいだけなのでコンテンツサーバのみで、用途を考えるとBindは大きすぎる(のとあまり好みじゃない)ので軽量なNSDを試してみる。

NSDの導入

最近良くおすすめされているDNSコンテンツサーバ、軽量。詳しくは下記参照。

NSDのインストール

パッケージ管理システムの恩恵を十二分に享受する。

sudo apt-get install nsd

/etc/nsd/nsd.confを編集

do-ip6: no

zonesdir: "/etc/nsd/zone"

//正引き
zone:
    name: "domain.local"
    zonefile: "domain.local.zone"

//逆引き
zone:
    name: 0.168.192.in-addr.arpa
    zonefile: 0.168.192.in-addr.arpa.zone

zoneファイルの作成

正引き

/etc/nsd/zone/domain.local.zone

$TTL    3600
$ORIGIN domain.local.
@ IN  SOA ns.domain.local. root.domain.local. (
        2017050701      ; serial number
        10800           ; Refresh
        3600            ; Retry
        604800          ; Expire
        1               ; Min TTL
)
                IN      NS      ns.domain.local.
                IN      A       192.168.0.10
www             IN      A       192.168.0.10
ns              IN      A       192.168.0.10

逆引き

$TTL    3600
$ORIGIN domain.local.
@ IN  SOA ns.domain.local. root.domain.local. (
        2017050701      ; serial number
        10800           ; Refresh
        3600            ; Retry
        604800          ; Expire
        1               ; Min TTL
)
                IN      NS      ns.domain.local.
10              IN      PTR     www.domain.local
10              IN      PTR     ns.domain.local

サービス登録と起動

sudo systemctl start nsd
sudo systemctl enable nsd

キャッシュサーバは?

今回はローカルドメイン参照のためのコンテンツサーバだけが欲しかったが、キャッシュサーバが必要になったらUnboundを使う感じらしい

https://www.unbound.net/

しかしUbuntu Desktopはdnsmasqがすでに動いていた、、、

dnsmasq

/etc/hostsと/etc/resolv.confをみてコンテンツサーバとキャッシュサーバとして働いてくれるやつ、、、ローカル向け簡易DNSサーバならこれでいいじゃん

とりあえずNSD検証のためdnsmasqを止める設定

/etc/NetworkManager/NetworkManager.confで下記をコメントアウト

#dns=dnsmasq

Network Managerを再起動

sudo service network-manager restart

、、、したけど無効化できずSystem Rebootで反映された、なぜだ。。。とりあえずしばらくNSDを使ってみよう

ちなみにdjbdnsの件

今流行のDNS周りを調べてたら懐かしい名前を見つけた、、、ちなみにUbuntuはaptで導入可能なもよう、、、

sudo apt-get install djbdns

隠れてないDJBファン(qmail最高)ではあるが、最近オススメ率の高いNSDを使ってみたかったので今回は見送り

参考