ルーターの DNS を捨てて NAS を使用したら、突然 Web サイトの読み込みが速くなりました
長い間、私は自宅でのウェブブラウジングの遅さに悩まされてきました。私のインターネット接続はそれほど高速ではありませんが、古い Wi-Fi 5 ルーターの方が、新しい Wi-Fi 7 モデルよりも速くウェブサイトを読み込むことができたはずです。それはあまり意味がありませんでした。新しいルーターは低価格モデルですが、それでも新しいテクノロジーが満載されており、より高い理論上の帯域幅をサポートしています。
そこで、ネットワークを調整したり、さまざまな DNS プロバイダーを試したりするのに数え切れないほどの時間を費やしましたが、目立った違いは何もありませんでした。皮肉なことに、本当の修正は、私が無関係な NAS プロジェクトに取り組んでいるときに行われました。 DNS の役割をルーターから NAS に移すことで、ネットワーク全体の Web ブラウジングの応答性が大幅に向上しました。
ルーターが DNS 転送を処理すべきではない理由
消費者向けルーターには十分な機能がある
一般的なホームルーターは、驚くほど多くのタスクをやりくりする必要があります。ローカル ネットワークの管理、デバイスとインターネット間のトラフィックのルーティング、Wi-Fi 無線の操作、IP アドレスの割り当て、ファイアウォール ルールの適用、デバイスの検出の処理などを行います。
さらに、多くの場合、ネットワーク上のすべてのデバイスの DNS フォワーダーとして機能します。
DNS 転送に慣れていない方のために説明すると、DNS 転送は、デバイスから DNS リクエストを受信し、リクエストをローカルで解決するのではなく、Cloudflare などの上流の DNS サーバーに渡すプロセスです。上流サーバーが応答を返すと、ルーターはその応答をデバイスに返します。
言い換えれば、ルーターはすべての DNS ルックアップの仲介者として機能します。 DNS 転送自体は特に要求の厳しいタスクではありませんが、遅延に非常に敏感です。すべての Web サイト、アプリ、オンライン サービスは DNS ルックアップに依存しているため、わずかな遅延でもブラウジング エクスペリエンスの応答性に不相応に影響を与える可能性があります。
通常、強力なルーターはこれらの責任を問題なく処理できます。ただし、私の 50 ドルの Wi-Fi 7 ルーターのような低価格ルーターは、要求を迅速に解決できない控えめなハードウェアを使用しています。
ソフトウェアはハードウェアと同じくらい重要な場合があります。多くのコンシューマ ルーターは、dnsmasq などのキャッシュとカスタマイズのオプションが制限された軽量の DNS サービスに依存しています。 NAS 上で実行される専用の DNS ソフトウェアは、はるかに大規模なキャッシュを維持し、高度なカスタマイズを提供できるため、クエリに対してより迅速かつ効率的に応答できます。
私の場合、DNS の役割を NAS に移したことで、DNS クエリに応答するのにかかる時間が短縮され、Web ブラウジングの応答性が著しく向上しました。
NAS で DNS サーバーを実行すると、ブラウジングが著しく高速になりました
改善はすぐに起こりました
私の NAS は特別なものではありません。古いラップトップを 24 時間年中無休のホームラボ兼ストレージ マシンとして再利用しただけです。高速接続にもかかわらずブラウジングが遅い場合は、安価な Raspberry Pi を使用して現実的に再現できるプロジェクトです。
私が最初に NAS に AdGuard Home をインストールした理由は、DNS の速度を向上させるためではありませんでした。聞いたことがない方のために付け加えておきますが、AdGuard Home は、不要なドメインの「シンクホール」 (ネットワーク全体のフィルター) として機能する DNS サーバーです。
私の主な目標は、既知の悪意のある Web サイトをブロックし、不要なテレメトリ トラフィックを削減し、大量の広告関連ドメインを削減することでした。特にスマート TV や IoT ガジェットでは、実際には制御したり無効にしたりできないバックグラウンド リクエストが大量に生成される傾向があります。
AdGuard Home をインストールし、いくつかの上流 DNS プロバイダーを構成し、事前に構築されたブロックリストを追加し、ルーターをプライマリ DNS サーバーとして指定すると、すべてが期待どおりに機能しました。ネットワーク上のすべての DNS クエリの約 30% がネットワーク レベルでフィルタリングされるようになり、これだけでもルーターが実行しなければならなかった作業負荷が軽減されました。
それが目標だったので、最初はあまり考えていませんでした。しかし、いつものように閲覧を開始すると、探していたものではないことにすぐに気づきました。Web サイトが開くのが著しく速くなりました。
結局のところ、ルーターベースの DNS 転送から NAS 上の AdGuard Home に移行すると、DNS キャッシュがはるかに大きく効率的になりました。これにより、アップストリームで再度解決されるのではなく、より多くの応答がローカルで提供されるため、繰り返しの検索の速度が向上しました。
ハードウェアも役割を果たしました。ルーターは本質的に小型の汎用コンピューターであり、低価格の消費者向けモデルはプロセッサが比較的弱く、RAM が限られている傾向があります。 「私の NAS は、4 GB の DDR4 メモリを搭載した単なる古いデュアルコア ラップトップ プロセッサですが、それでも、DNS などの専用サービスの実行に関しては顕著な進歩をもたらしています。
ラップトップは受信クエリを迅速に処理し、ブロックリストをチェックし、キャッシュを参照し、リクエストをログに記録し、未解決のクエリを上流に転送できます。
おそらく最も過小評価されている利点は、ルータがネットワーク上のすべてのデバイスに対する DNS 転送の処理から解放され、ルータが行う必要があるすべての作業に相当量のオーバーヘッドが解放されることです。
セルフホステッド DNS サーバーには他の利点もあります
速度向上は始まりにすぎませんでした
AdGuard Home や Pi-hole などの DNS サーバーをセルフホスティングすると、DNS ルックアップのパフォーマンスが向上し、不要なトラフィックがフィルタリングされるだけでなく、他にも多くの利点があります。
その 1 つはローカル DNS の書き換えです。デバイスにアクセスするたびにデバイスの IP アドレスを入力する代わりに、デバイスをカスタム ホスト名にマップできます。したがって、「192.168.1.1」と入力してルーター設定にアクセスする代わりに、「router.home」などと入力するだけで、そこに直接アクセスできます。
これは小さいですが、特にネットワーク上に多くのデバイスやセルフホスト型サービスがある場合に、驚くほど便利な調整です。
それは便利ですが、潜在的にさらに大きな利点はプライバシーです。 DNS over HTTPS (DoH) などの暗号化プロトコルを使用するように上流の DNS サーバーを構成して、DNS リクエストやデバイスが検索しているドメインを ISP が認識できないようにすることができます。
ルーターで暗号化 DNS を有効にするか、各デバイスで手動で構成することで、技術的には同じことを実現できますが、すべてのルーターとデバイスが暗号化 DNS サーバーをサポートしているわけではありません。
しかしおそらく、セルフホスティング DNS の私が最も気に入っている利点は、ネットワーク全体で何が起こっているかを最終的に可視化できることです。
AdGuard Home は、それを使用するすべてのデバイスからの DNS クエリの集中ログを提供します。これが、私の IoT デバイスの一部がバックグラウンドで常に「コール ホーム」していることを発見したきっかけです。ダッシュボードのおかげで私はそのことを知り、最終的には彼らのインターネット アクセスを完全に制限することになりました。
これは私が行ったプロジェクトの中で最も簡単でありながら最も効果的なプロジェクトの 1 つです
私はこのプロジェクトにほとんど期待せずに参加しましたが、結果的に日常のインターネットの使用法とワークフローが大幅に改善されました。 DNS の役割を NAS にオフロードすることで、実際のインターネット速度はまったく同じであっても、すべてが少し速くなったように感じます。
予備のミニ PC、または Raspberry Pi のような SBC が手元にある場合は、おそらくそれを DNS サーバーとして使用できます。シンプルなプロジェクトですが、驚くほど顕著な効果があるので、ぜひ試してみる価値があります。
関連情報は以下のリンクからご確認いただけます