unbound でローカルPCの名前を解決
unboundはroot.hint から調べるけど、ローカルPCについては除外したい。
ローカルなドメイン名だけローカルPCの名前を解決したい。
127.0.0.1 で unboundが listen してるとして
外部向けは、rootから
dig dns.google @127.0.0.1
ローカル向け .myhomeドメインはルータ(DHCP)に訊きにゆく
dig raspi.myhome @127.0.0.1 dig -x 192.168.100.100 @127.0.0.1
unbound 設定(抜粋
server: local-zone: "168.192.in-addr.arpa." nodefault domain-insecure: "myhome." private-domain: "myhome." forward-zone: name: "168.192.in-addr.arpa." forward-addr: 192.168.100.1 forward-zone: name: "myhome." forward-addr: 192.168.100.1
設定のポイント。
domain-insecureで存在しないTLDを指定する。insecureを指定しないと、ルータから応答を貰っても無視してしまう。
forward-zone は最後に書く。forward-zoneでまっちしたらその場でフォワードに行く。
in-addr.arpa. はローカルPCを逆引きする用
設定のチェック
$ sudo unbound-checkconf unbound-checkconf: no errors in /etc/unbound/unbound.conf
設定を書いたら、チェック用のコマンドでチェックする。
insecure がハマりどころだった。
unboundに関する資料を日本語資料いくつか見たけど、insecure の言及がなかったりする。雑誌も売れないし、ブログも書かないので、日本語の記事が古くなったまま検索にマッチしてるかもしれない。
あと日本語記事を読むと内容は、8.8.8.8へ丸投げが大半だった。dnsをgoogleに握られて知らないうちにフィルタリングを食らうとか、怖くないんだろうか。
参考資料
https://gist.github.com/mischief/3293008ebe1588a3f9914e2f4487bac6