RaspberryPiにUnboundを入れたけど、IPv4/v6デュアルスタックだとv6のDNSサーバに出来なかった件
TL;DR. RaspberryPiにUnboundを入れてDNSフルリゾルバにしたけど、IPv6はNTT東日本フレッツ網のDNSサーバから変更する必要があるのでそこで詰まってる。解決策求む
→2018/04/09:とりあえず解決 RaspberryPiにUnboundを入れたので、IPv4/v6デュアルスタック環境でIPv6のDNSサーバにした件 - 悪霊にさいなまれる世界 -The Demon-Haunted World
science-as-a-candle-in-the-dark.hatenablog.com
先日再セットアップしたRaspberryPi、Unboundを入れようと思いつつ放っておいたのですが、ご存じの通り邪悪な国家権力は違法漫画配布サイトへのアクセスを妨害するため、「緊急避難」として検閲をもくろんでいるというお話が出てきました。DNSポイゾニングによる児童ポルノのブロッキングが開始された当初から懸念されてたことが大体実行され始めた感じです。そういうわけでサクサクとRaspberryPiをフルリゾルバにしてしまいましょう。
なお、以下の設定はNTT東日本のフレッツ 光ネクストとBIGLOBEのBIGLOBE光パックNeo with フレッツ「ひかり」で、IPv6オプションを申し込み、IPv6(IPoE)とIPv4のデュアルスタック環境でのものです。
sudo apt install unbound dnsutils sudo curl -o /etc/unbound/root.hints https://www.internic.net/domain/named.cache
という感じでサクサクとUnbound本体と関連ユーティリティをインストール、ルートヒントもDLしておきます。続いて設定。
sudo vim /etc/resolv.conf
で
nameserver 127.0.0.1 nameserver ::1
とループバックに変更。続いて/etc/unbound/unbound.confの設定
server: interface: 0.0.0.0 interface: ::0 do-ip4: yes do-ip6: yes access-control: 127.0.0.1/8 allow access-control: ::1/128 allow access-control: 192.168.11.0/24 allow root-hints: "/etc/unbound/root.hints"
こんな感じ。エラーが出ないことを確認して再起動。digで動作を確認
unbound-checkconfig sudo systemctl restart unbound.service dig www.google.com
まぁここら辺は問題ないですよね。と言うわけでRaspberryPi側の設定は終わりにして母艦PCのDNSサーバの設定を変更
ーー2018/04/24追記:IPv4ならここまでで動きます。
それでは確認のためにWindows PowerShellでnslookupしてみます。まぁここまで来ればトラブルが起きるようなところはもうないですよね。
……
ググってみたところ、NTT東日本のDNSサーバでした。はいそうですね。ミスしたのは私です。さっき設定したのはあくまでIPv4のDNSサーバの設定であって、IPv6 IPoEデュアルスタック環境なんだからそっちも設定してやらないと行けないわけです。
さてここで問題が。IPv4ならRaspberryPiに割り振ったプライベートアドレス(この場合192.168.11.3)を指定してやればいいわけですが、IPv6だとどうしたらいいものか。
v6アドレスはフレッツ網から自動で振られてくるし、手元のルータはIPv6パケットを素通りさせているだけ。振られたv6アドレスを指定するのもおかしいよな…と言うわけで旧知の成瀬ゆい氏(@nalsh)に相談してみたところ
と言う助言をもらいました。調べてやってみます(多分そのうち続く