RaspberryPiにUnboundを入れたので、IPv4/v6デュアルスタック環境でIPv6のDNSサーバした件
TL;DR. ラズパイのリンクローカルアドレスを指定してやることでIPv6のDNSサーバ化に成功したけど、パーミッションの設定がとてもスマートじゃないので今後なんとかしたい。
→2018/05/28:とりあえず解決。ラストに追記
science-as-a-candle-in-the-dark.hatenablog.com
昨日の続きです。
と言うわけで、リンクローカルアドレスを調べてみました。その結果、
と言うことが判明。早速RaspberryPiでifconfigをかけてみると、確かにそれっぽいアドレスが割り振られてます。これを母艦PCで、IPv6のDNSサーバに設定すればいいわけですね。そういうわけで早速試してみました。
さぁこれでどうだ。
Query refused. はいそうです。Unbound側で許可してるIPアドレスはループバックと192.168.11.0/24だけでした。初歩的なミスですね。母艦PCのIPv6アドレスを許可してやる必要がありますが、当然母艦PCにもリンクローカルアドレスが振られているはずです。そういうわけでunbound.confに次の1行を追加してみます。
access-control: fe80::/10 allow
これでUnboundを再起動して、もう一度チャレンジ。
思わず昔懐かしのAAを使ってしまいますが、うまく行きました。
と言うわけでこれで万事OK。Problem Solved.です。つかさ先生の次回作にご期待ください。
…
本当にfe80::/10をAllowしてて大丈夫なんでしょうか?
「ルータは越えない」とは言っても、我が家のルータはIPv6はブリッジさせる…つまり素通りさせるだけのシロモノ。気がついたらオープンリゾルバになってましたとかそういう悲しいことは避けたい。のでUnbound.confをさらに書き換え。
#access-control: fe80::/10 allow
#MainPC
access-control: fe80::****/128 allow
と、母艦PCのリンクローカルアドレスを直接指定してやりました。正直、すっごく筋の悪い対処法な気がします。PCやタブレットが増えるたびに許可を1行ずつ追加してやらなきゃならないと言う全然スマートさが感じられないアレ。
ま、とりあえず動いてるのでよしとしますが、ここらへんも今後の課題と言うことで。
2018/05/28追記:
Wiresharkで流れてくるパケットを眺めてみたりする限り、どうやらfe80::/10をAllowしても大丈夫な模様。そういうわけで
access-control: fe80::/10 allow #MainPC #access-control: fe80::****/128 allow
と言うパーミッションに変更。ログとかも一応チェックしましたが、まぁ多分大丈夫でしょう。