序章

オンライン広告は、刺激を与えるだけでなく、デバイス上のマルウェアの潜在的な発生源でもあります。 アプリケーションごと/デバイスごとに広告をブロックするように設計されたプラグインがありますが、 DNSレベルで広告を停止すると、すべてのアプリケーションとデバイスで一度にはるかに完全なソリューションが提供されます。

Pi-hole RaspberryPiシングルボードコンピューターで使用するために最初に作成されたDNSサーバー—広告配信ドメインへのリクエストを除外し、広告をブロックしてネットワークパフォーマンスを向上させます。 Pi-holeを使用すると、ネットワーク上で行われたすべてのDNS要求をアクティブに監視し、その場で要求をブロックできます。 この機能はWebブラウザーを超えて拡張され、適切なDNSクエリをターゲットにすることで他のアプリケーション内の広告を除外できます。

Pi-holeは、仮想プライベートネットワーク(VPN)と組み合わせて使用すると特に効果的です。 VPNは、クライアントとサーバー間の論理ネットワーク接続であるトンネルを介して接続を確立および維持します。 さらに、VPNが Secure Socket Layer (SSL)をサポートしている場合、トランザクション全体が暗号化され、データ送信用の安全なリンクが提供されます。

このチュートリアルでは、OpenVPNとPi-holeをインストールして構成し、ネットワークに接続されているすべてのデバイスに対して、ネットワーク全体のDNSベースの独自のプライベート広告ブロックフィルターとして機能します。

前提条件

このチュートリアルを完了するには、次のものが必要です。

ステップ1—ネットワーク情報の収集

インストールを開始する前に、Pi-holeがVPNとの通信に使用するネットワーク情報を収集する必要があります。 Pi-holeのインストールプロセスがターミナルセッションを引き継ぐため、開始する前にこの情報を手元に用意しておくと、プロセス全体がはるかにスムーズに進みます。

まず、ipコマンドをaddrおよびshowサブコマンドとともに使用して、tun0ネットワークインターフェイスのIPアドレスを特定します。 VPNトンネルがアクティブになっています。

  1. ip addr show tun0

出力は、インターフェースに関する詳細情報を提供します。

Output from ip addr show tun0
1: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 link/none inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0 valid_lft forever preferred_lft forever

すなわち:

  • 最初の行はインターフェース名tun0を示し、その後にネットワークソケットの特性を説明する一連のフラグが続きます。
  • 2行目は、現在このインターフェイスで使用できるリンク層デバイスがないことを示しています。
  • 3行目には、このネットワークインターフェイスのIPアドレス値が含まれています。
  • 4行目は、インターフェイスのIPv6の有効な有効期間と優先リース期間の両方がforeverに設定されていることを示しています。 この場合、アドレスはVPNのインストール中にインターフェイスに特別に割り当てられたため、IPアドレスのリース時間は変更されません。

inetに続くIPアドレスをメモします。これは、VPNサーバーのアドレスです。 Pi-holeをインストールするときは、これを知っておく必要があります。

VPNサーバーのIPアドレスに加えて、Pi-holeはIPv4トラフィックに使用するゲートウェイも知っている必要があります。 ゲートウェイは、異なるネットワーク間のアクセスポイントと考えることができます。

ipコマンドをもう一度使用します。今回は、routeおよびshowサブコマンドを使用して、サーバーのルーティングテーブル情報を取得します。 ルーティングテーブル情報grepにパイプします。これにより、出力