ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

セキュアDNS機能を有効化するとあのブラウザーではDNS名前解決できない

セキュアDNS機能はFirefox、Chrome、Edgeなどのブラウザーに実装されています。 なぜその機能が必要なのかは、次のページの情報がわかりやすいです。

ssl.sakura.ad.jp

developers-jp.googleblog.com

support.mozilla.org

ChromeやEdgeのデフォルトの設定ではセキュアDNSはオンになっていますが、DNSプロバイダーはシステムのDNSを使うようになっているようです。 Firefoxの場合は、米国ではデフォルトで有効に設定され、その他の国ではデフォルトはオフに設定されているようです。

デフォルト設定のままではおそらく問題は起きないと思います。 しかしあえてこの機能を有効にすると、EdgeとChromeでは問題が起きる場合があります。

この機能はFirefoxはDoHを介してドメインを解決できない場合、「アクセスできません」と表示する代わりにシステムのDNSにフォールバックするようです。一方、EdgeやChromeはその処理をしないようですね(現時点では)。

というわけで、「社内(もしくは自宅)のサーバーにブラウザーでドメイン名でアクセスできない」とか「テスト用に作ったサーバーが名前で引けない」とかが起きたら、この機能を疑うといいかもしれません。

設定はどこにあるか

Chrome 88.0.4324.150のセキュアDNSの設定。「プライバシーセキュリティ」の項目にある。特に注意書きはない。

f:id:ytooyama:20210208001639p:plain

Edge 88.0.705.63のセキュアDNSの設定。「プライバシー、検索、サービス」の項目にある。この設定が原因でサイトに到達できなくなるかもという注意書きがある。

f:id:ytooyama:20210208001706p:plain

これがFirefoxの該当の設定(同じ設定はFirefox ESRにも存在するのを確認している)。「ネットワーク設定」の中に設定項目がある。セキュアDNSという名前ではなく、DNS-over-HTTPSという本来の機能名で設定項目が存在する。ちなみにこの設定が有効でも大体問題は起きないのは手元の環境で確認済み。詳細はこちらのFAQページに書かれている。

f:id:ytooyama:20210208001800p:plain:w360

というわけで、最近はもっぱらFirefoxを使っている。ちなみにこの機能、Safariには影も形もない。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。