このセクションの複数ページ・印刷対応ビューです。 印刷するにはここをクリック.

通常ビューに戻る.

基礎チュートリアル

生き生きとした比喩でネットワークの基礎知識を学ぶ

📚 読むためのガイド

ネットワークの知識をより理解しやすくするため、このチュートリアルでは日常生活からたくさんの比喩や類推を使用します。 私たちの目標は、技術的背景の有無にかかわらず、誰もが簡単にネットワークの基礎知識を身につけられるようにすることです。 これらの比喩は厳密ではないかもしれませんが、ネットワークの概念に関する基本的な認識を素早く築くのに役立ちます。

ネットワーク基礎知識の紹介

このチュートリアルでは、生き生きとした比喩や類推を通じてネットワークの基礎知識を説明します。私たちの目標は、技術的背景の有無にかかわらず、誰もがこれらの概念を簡単に身につけられるようにすることです。これらの比喩は厳密ではないかもしれませんが、ネットワークの概念に関する基本的な認識を素早く築くのに役立ちます。

厳密な専門用語とは異なり、このセクションでは多くの平易な表現を使用して、非専門家がネットワークの基礎概念を理解できるようにします。

私たちは適切または不適切な多くの比喩や類推を使用します。目的は、読者がネットワークの基礎概念を素早く理解できるようにすることです。

1 - DNSとは何か

DNS(ドメインネームシステム)はインターネットの基盤インフラの一つであり、本記事ではDNSの基本概念と動作原理を紹介します

本質的に、DNSサービスは新華字典のようなもので、辞書を検索することでドメイン名に対応するIPアドレスを見つけることができます。

DNSの概要

DNS(Domain Name System、ドメインネームシステム)はインターネットの基盤インフラの一つであり、新華字典のように、人間が読みやすいドメイン名をコンピュータが理解できるIPアドレスに変換します。

DNS解析原理

DNSの動作原理

ブラウザにウェブアドレスを入力すると:

  1. ブラウザはまずローカルキャッシュをチェックします
  2. 見つからない場合、DNSサーバーにクエリを送信します
  3. DNSサーバーは対応するIPアドレスを返します
  4. ブラウザはそのIPアドレスを使用して対象ウェブサイトにアクセスします

重要な概念

  • ドメイン名(Domain Name): ウェブサイトの人間が読みやすいアドレス、例:www.nullprivate.com
  • URL(Uniform Resource Locator): プロトコル、ドメイン名、パスを含む完全なウェブアドレス、例:https://www.nullprivate.com
  • IPアドレス: ネットワークデバイスの数値識別子、例:1.1.1.1
  • DNSサーバー: ドメイン名解決サービスを提供するコンピュータ
  • ウェブホスティング: ウェブサイトファイルをサーバーに保存し、インターネット経由でアクセス可能にすること

2 - NullPrivateの基本原理

DNSレベルでのブロックにより、NullPrivateは広告、トラッカー、悪意のあるサイトを効果的に阻止します

動作原理の概要

NullPrivateはDNSレベルでのブロックを通じて、ネットワークセキュリティとプライバシーを保護します。これはすべてのドメインリクエストをスクリーニングするスマートな門番のようなものです:

  • ✅ 安全なサイト:正常にアクセス
  • ❌ 広告ドメイン:ブロック
  • ❌ トラッカー:ブロック
  • ❌ 悪意のあるサイト:ブロック

ブロックフローの図解

NullPrivateブロック基本原理

主な特徴

  1. DNSレベルでのブロック:リクエスト発生前にブロックするため、より効率的
  2. プラグイン不要:ネットワークレベルでの保護で、すべてのデバイスに有効
  3. 低リソース消費:DNSリクエストのみを処理するため、デバイス性能への影響は最小限
  4. 全デバイス対応:一度の設定ですべての接続デバイスを保護

3 - DNS があなたのインターネット体験にどのように影響するか

DNS はほぼすべてのネットワーク接続要求の入口です。ドメイン名の解決にはわずか数十ミリ秒しかかかりませんが、この数十ミリ秒によってその後の接続がどのサーバーに向かうか、近接した CDN ノードにヒットするか、事業者にハイジャックされるか、中間ノードで観察されるかが決まります。本記事は一般ユーザーを対象に、DNS とインターネット体験の関係を連続した叙述で説明します。

DNS があなたのインターネット体験にどのように影響するか

ウェブページを開いたり、動画を再生したり、アプリ内のリンクをクリックしたりするとき、最初のホップはほぼ常に DNS に当たります。DNS はネットワーク世界の電話帳のようなもので、人間に優しいドメイン名を機械が理解できる IP アドレスに変換する役割を担っています。多くの人は「ウェブページが遅い、開かない、時々調子が悪い」ことを「回線速度が遅い」と原因归结めますが、実際にはかなりの部分の体験の変動は DNS の解決成功率、処理時間、キャッシュヒット率、プライバシー戦略に関連しています。DNS がどのように機能するか、そのチェーン内での露出ポイントと選択可能な保護戦略を理解することで、「遅さと不安定さ」を制御可能な要素に分解できます。

背景と問題の概要

DNS はほぼすべてのネットワーク接続要求の入口です。ドメイン名の解決にはわずか数十ミリ秒しかかかりませんが、この数十ミリ秒によってその後の接続がどのサーバーに向かうか、近接した CDN ノードにヒットするか、事業者にハイジャックされるか、中間ノードで観察されるかが決まります。家庭、セルラーネットワーク、公共 Wi-Fi の体験の違いも、多くの場合、異なるリゾルバーのキャッシュ品質、パケットロス率、戦略の違いに起因します。本記事は一般ユーザーを対象に、DNS とインターネット体験の関係を連続した叙述で説明し、重点を原理とトレードオフに置き、具体的な展開手順や評価結果には置きません。

基礎と用語の整理

ブラウザまたはアプリが解決要求を发起すると、通常はシステムのローカルリゾルバーに問い合わせた後、再帰的リゾルバーが段階的にルート、トップレベルドメイン、権威サーバーに問い合わせを行い、最終的に TTL 付きの回答を得ます。ローカルまたはネットワーク側のキャッシュがヒットすれば、外部問い合わせを省略でき、レイテンシを大幅に削減できます。キャッシュがヒットしないか期限切れの場合、完全な再帰的フローを完了する必要があります。下図は簡略化したフローで解決の往復パスを示しており、アニメーションはデータの流れを強調するためのものであり、実際の時間順序を表すものではありません。

flowchart TB
  C[クライアント] e1@--> L[ローカルリゾルバー]
  L e2@--> R[再帰的リゾルバー]
  R e3@--> Root[ルートサーバー]
  Root e3r@--> R
  R e4@--> TLD[TLD サーバー]
  TLD e4r@--> R
  R e5@--> Auth[権威サーバー]
  Auth e5r@--> R
  R e6@--> L
  L e7@--> C

  %% 填充色设置
  style C fill:#e1f5fe,stroke:#01579b,stroke-width:2px
  style L fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
  style R fill:#fff3e0,stroke:#e65100,stroke-width:2px
  style Root fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
  style TLD fill:#fce4ec,stroke:#880e4f,stroke-width:2px
  style Auth fill:#e0f2f1,stroke:#004d40,stroke-width:2px

  %% 动画节奏设置(Mermaid v11)
  e1@{ animation: fast }
  e2@{ animation: slow }
  e3@{ animation: slow }
  e3r@{ animation: slow }
  e4@{ animation: slow }
  e4r@{ animation: slow }
  e5@{ animation: fast }
  e5r@{ animation: fast }
  e6@{ animation: slow }
  e7@{ animation: fast }

TTL は各レコードの「保存期間」です。TTL が有効な間、再帰的リゾルバーはキャッシュされた回答を直接クライアントに返すことができ、これは体感上の「速さと安定性」への貢献が私たちの直感的な予測を超えることがよくあります。一方、リゾルバーが IPv4 と IPv6 レコードの並列要求をどのように処理するか、ECS 拡張を有効にするか、失敗した問い合わせを負のキャッシュにするかも、間接的に接続の向きと初パケット時間に影響を与えます。

プライバシー脅威と動機

従来の平文 DNS はチェーン上で「どのドメイン名にアクセスするか」のメタデータを露出させます。これらの情報はローカルネットワーク、接入事業者、公共リゾルバーに痕跡を残し、コンテンツが暗号化された HTTPS であっても同様です。一般ユーザーにとって、リスクは直接的なコンテンツ漏洩よりも「受動的観測とモデリング」に起因することが多いです。長期間の問い合わせシーケンスは、あなたの興味、生活リズム、使用デバイスタイプを推測するのに十分です。公共 Wi-Fi、共有ホットスポット、海外ローミングなどのシナリオでは、チェーン上の観測者が多く、変動と失敗もより一般的です。

flowchart TB
  C[クライアント] e1@--> Net[ローカルネットワークとルーター]
  Net e2@--> ISP[接入事業者ネットワーク]
  ISP e3@--> Res[公共再帰的リゾルバー]
  Res e4@--> Auth[権威サーバー]

  %% 填充色设置
  style C fill:#e1f5fe,stroke:#01579b,stroke-width:2px
  style Net fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
  style ISP fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
  style Res fill:#ffe8e8,stroke:#cc0000,stroke-width:2px
  style Auth fill:#ffe8e8,stroke:#cc0000,stroke-width:2px

  %% 暴露点高亮
  classDef risk fill:#ffe8e8,stroke:#cc0000,stroke-width:2px,color:#000
  class Net,ISP,Res,Auth risk

  %% 动画
  e1@{ animation: fast }
  e2@{ animation: slow }
  e3@{ animation: slow }
  e4@{ animation: fast }

強調すべきは、プライバシー保護が必ずしも「より速い」ことを意味しないということです。暗号化とカプセル化はハンドシェイクとネゴシエーションを導入し、優れた再帰的リゾルバーはより良いキャッシュヒットと低いパケットロスによってむしろ速くなる可能性があります。現実世界の体験の良し悪しは、所在ネットワーク、リゾルバーの品質、ターゲットサイトの展開方法の三者の共同作用に依存します。

保護戦略と原理

暗号化 DNS は「どのドメイン名を問い合わせるか」を暗号化トンネルに包み込み、盗聴と改ざんの機会を低減します。一般的な方法には、TLS ベースの DoT、HTTPS ベースの DoH、QUIC ベースの DoQ が含まれます。これらはすべて成熟したトランスポート層セキュリティ機構を再利用し、差異は主にポートと多重化モデルに現れます。どの方式を採用しても、クライアントは通常まずローカルリゾルバースタックに問い合わせを发起し、次に暗号化トンネルで要求を上流リゾルバーに送信します。下図は順序図でこのカプセル化と返信を示しています。

flowchart LR
  U[クライアント] e1@--> S[DoH スタック]
  S e2@--> R[DoH サーバー]
  R e3@-->|200 OK + DNS 応答| S
  S e4@--> U

  %% 填充色设置
  style U fill:#e1f5fe,stroke:#01579b,stroke-width:2px
  style S fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px
  style R fill:#fff3e0,stroke:#e65100,stroke-width:2px

  e1@{ animation: fast }
  e2@{ animation: slow }
  e3@{ animation: fast }
  e4@{ animation: fast }

暗号化に加えて、リゾルバー側の QNAME 最小化は上流に露出する問い合わせの粒度を減らし、DNSSEC はレコードの完全性検証を提供し、ECS は CDN の近接性とヒット率に影響を与えます。エンドユーザーにとって、実際に感知できるのは「より安定しているか」「より近接ノードにヒットしやすいか」「ハイジャックされにくいか」です。

実装パスと注意事項

ユーザーの観点から、システムとルーターは多くの場合、リゾルバーまたはフォワーダーを内蔵しており、多くの公共服务はモバイルシステムとブラウザレベルでも内蔵の DoH スイッチを提供しています。信頼できる再帰的リゾルバーと適切な暗号化方式を選択することは、多くの場合、大多数の要件をカバーします。注意すべきは、一部の企業またはキャンパスネットワークは暗号化 DNS に戦略制限があり、特定のセキュリティ製品が DNS トラフィックを拦截またはリダイレクトする可能性があることです。これらの環境では、接続性とコンプライアンスを優先し、その後でプライバシーとパフォーマンスを考慮してください。海外サイトへのアクセス体験については、リゾルバーの地理戦略と CDN の接続レイアウトも同様に重要であり、誤った近接戦略はあなたを大陸間ノードに導き、体感として「一歩遅れる」ことになります。

リスクと移行

どのような切り替えでも、ロールバックパスを維持する価値があります。個人デバイスについては、まず単一デバイスで暗号化 DNS を有効にし、1週間観察し、異常が多発するアプリとサイトに注意してください。家庭ゲートウェイについては、少数のデバイスに段階的に展開し、必要に応じてバックアップリゾルバーを維持し、ヘルスチェックを有効にすることをお勧めします。ネットワークに内部ドメインまたは分離 DNS がある場合は、切り替え前に解決範囲と検索ドメインの互換性を確認し、解決失敗と意図しない漏洩を避けてください。

シナリオベースの提案

セルラーネットワークと公共 Wi-Fi では、安定した公共リゾルバーを優先して選択し、DoH または DoT を有効にすることで、多くの場合、より安定しクリーンな解決を同時に得ることができます。家庭ブロードバンドでは、キャッシュヒットとパケットロスの少なさがより重要であり、優れた公共リゾルバーまたはローカルゲートウェイキャッシュは「開いた瞬間から」の滑らかさをもたらします。跨境アクセス時には、リゾルバーの地域戦略がどこに導かれるかを決定し、特定のサイトで「接続できるが遅い」場合には、リゾルバーを変更するか ECS を無効にして再試行することをお勧めします。家长管理とトラフィック分割を必要とする家庭では、分類戦略とログ透明性を備えたリゾルバーを選択する方が現実的です。

FAQ と参考

一般的な疑問には、「暗号化 DNS は必ずしも速いのか」「なぜ異なるリゾルバーが異なる IP を返すのか」「リゾルバーを切り替えるとセキュリティソフトの動作に影響するか」などがあります。これらの質問には万能な唯一の答えはなく、リンク品質、リゾルバーの実装、サイトの接入戦略に依存します。さらに読むには、IETF の関連 RFC、主流ブラウザとオペレーティングシステムのドキュメント、および信頼できるネットワークインフラストラクチャブログを参照してください。

4 - 自宅での構築

自宅で寧屏ネットワーク広告ブロックサービスを構築するための詳細チュートリアル

自宅で寧屏を構築する

寧屏はAdGuardHomeをベースにした拡張版で、より優れたネットワーク広告ブロックとプライバシー保護機能を提供するために設計されています。このチュートリアルでは、自宅で寧屏サービスを構築・設定する方法を説明します。

プロジェクト概要

寧屏AdGuardHomeのオープンソースフォークで、SaaSホスティングサービスと豊富な拡張機能を提供し、ユーザーにより良いDNS解決とネットワークフィルタリング体験を提供することを目的としています。

主な機能

オリジナル機能

  • ネットワークレベルの広告ブロック:ネットワーク全体で広告やトラッカーをブロック
  • カスタムフィルタリングルール:パーソナライズされたフィルタリングルールの追加をサポート
  • 暗号化DNSサポート:DNS-over-HTTPS、DNS-over-TLS、DNSCryptに対応
  • 内蔵DHCPサーバー:すぐに使えるDHCPサービス機能
  • クライアント別設定:各デバイスに専用の設定をカスタマイズ
  • アダルトコンテンツブロック:成人コンテンツをブロックし、セーフサーチを強制
  • クロスプラットフォーム互換性:Linux、macOS、Windowsなどのオペレーティングシステムをサポート
  • プライバシー保護:使用統計情報を収集しない

寧屏の新機能

  • DNSルーティングルールリスト:設定ファイル内のルールリストを使用してDNSルーティングをカスタマイズ
  • アプリケーションレベルのブロックルール:特定のアプリケーションソースに対するブロック設定
  • ダイナミックDNS(DDNS):動的ドメイン名解決機能を提供
  • 高度なレート制限:効率的なトラフィック管理と制御を実現
  • 拡張デプロイメント機能:ロードバランシング、自動証明書保守、最適化されたネットワーク接続をサポート

インストール方法

方法1:バイナリファイルのダウンロード

  1. Releasesページにアクセスし、お使いのオペレーティングシステムに適したバイナリファイルをダウンロード
  2. 作業ディレクトリを作成:
    mkdir -p ./data
    
  3. 寧屏を実行:
    ./NullPrivate -c ./AdGuardHome.yaml -w ./data --web-addr 0.0.0.0:34020 --local-frontend --no-check-update --verbose
    

方法2:Dockerの使用

Dockerでのデプロイメントを推奨します。より簡単で管理しやすいです:

docker run --rm --name NullPrivate \
  -p 34020:80 \
  -v ./data/container/work:/opt/adguardhome/work \
  -v ./data/container/conf:/opt/adguardhome/conf \
  nullprivate/nullprivate:latest

サポートされているプラットフォーム

  • ✅ Windows
  • ✅ macOS
  • ✅ Linux
  • ✅ Docker
  • ✅ その他のUnix系システム

設定説明

基本設定

起動後、Webインターフェースにアクセスして初期設定を行います:

  • デフォルト管理アドレス:http://localhost:34020
  • 初回実行時に管理者アカウントを設定する必要があります
  • 既存のAdGuardHome設定をインポートできます

設定ファイル

主要な設定ファイルはAdGuardHome.yamlで、以下を含みます:

  • DNSサーバー設定
  • フィルタリングルール設定
  • クライアント設定
  • セキュリティ設定

起動パラメータ説明

パラメータ説明
-c設定ファイルパスを指定
-w作業ディレクトリを指定
--web-addrWeb管理インターフェースのアドレスとポート
--local-frontendローカルフロントエンドインターフェースを使用
--no-check-update自動更新チェックを無効化
--verbose詳細ログ出力を有効化

使用上の推奨事項

  1. ネットワーク設定:ルーターのDNSサーバーを寧屏のIPアドレスに設定
  2. ルール更新:定期的にフィルタリングルールを更新して最適なブロック効果を得る
  3. パフォーマンス監視:Webインターフェースを通じてDNSクエリ統計情報を監視
  4. セキュリティ強化:HTTPSを有効化し、強力なパスワードを設定
  5. 設定バックアップ:定期的に設定ファイルとデータをバックアップ

トラブルシューティング

よくある問題

  • ポート競合:34020ポートが他のサービスによって使用されていないことを確認
  • 権限問題:Linux環境では適切なファイル権限が必要な場合があります
  • 起動失敗:設定ファイルパスと作業ディレクトリが存在するか確認

ヘルプの入手

まとめ

このチュートリアルにより、自宅で寧屏サービスを正常に構築できたはずです。これで清らかなネットワーク環境を楽しみながら、個人のプライバシーを保護できます。寧屏は豊富な機能と柔軟な設定オプションを提供し、さまざまなユーザーのニーズに対応します。