見出し画像

[unbound] プライベートIPアドレスが返却されない場合の対策

先日、"unbound"で広告ブロックしてみたら、家の中で使っているホスト名の名前解決ができなくなりました。ぉぅ…。

"unbound"では、デフォルトでプライベートIPアドレスの名前が返却された場合にはDNSとしての回答をしない構成となっているからです。

private-address:  <IP address or subnet>
 IPv4やIPv6のアドレスかクラスレスのサブネットを与えます。これらはあなたのプライベートネットワークのアドレスであり、パブリックなインターネットの名前を返すことを許可しません。そのようなアドレスがあればDNSの回答から削除されます。さらに、DNSSECバリデータは回答を偽であると示します。これはDNS Rebindingと呼ばれる攻撃に対して防御します。

unbound.conf

家庭内でも利用している'oshiire.to'配下のホスト名(FQDN)は、外部DNSで設定していてプライベートIPアドレスを返却する仕様になっています(なんでそんなことしてんだとか言わない)。従って、このままではプライベートIPアドレスの名前解決ができません。

外部DNSからプライベートIPアドレスを返却して欲しい場合、private-domainを使用します。

private-domain: <domain name>
このドメインとプライベートアドレスを含むそのサブドメインの全てを許可します。プライベートアドレスを含む複数のドメイン名を許可するには複数回記述します。

unbound.conf

ということで結論。このように "server:" 配下に "private-domain:" を定義してあげれば実現可能です。ああ、良かった。

server:
		:
	private-domain: "oshiire.to"

久しぶりにサービスの設定すると、必ずなんか起きますねぇ。

まだインフラエンジニアだった頃、システムテストの期間を長めにとること。一巡以上全ての運用サイクルテストが終わるまでは本番提供してはならない、と散々言われたことを思い出します。テストと仮運用は本当に大事。まだ当該unboundは仮運用中です。そもそも1台でしか運用してないしね。


貴方がサポートしてくれると、私が幸せ。 私が幸せになると、貴方も幸せ。 新しいガジェット・ソフトウェアのレビューに、貴方の力が必要です。