それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

unboundでローカルPCの名前解決する。ローカルドメインの名前を解決したい

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へ丸投げが大半だった。dnsgoogleに握られて知らないうちにフィルタリングを食らうとか、怖くないんだろうか。

参考資料

https://gist.github.com/mischief/3293008ebe1588a3f9914e2f4487bac6