2024年2月21日 • ☕️ 5 min read

ウェブサイトだけでなく、iPhone内のアプリに勝手に表示される広告はうるさいですよね。AdGuard Homeを使用すれば簡単に解決できます。Raspberry Piにインストールして、家のルーターのデフォルトDNSサーバーをAdGuard Homeに設定するのが1つの方法ですが、外出先では広告のブロックが効かなくなります。

外でも広告のない生活を送りたいので、VPSにAdGuard Homeをインストールして設定してみました。

AdGuard Homeをインストール

AdGuard Homeのインストールは難しくありません。具体的な手順については、公式ドキュメントを参照してください。

https://github.com/AdguardTeam/AdGuardHome/wiki/VPS

Dockerを使えるVPSであればさらに便利でしょう。

https://github.com/AdguardTeam/AdGuardHome/wiki/Docker

TLS/SSL証明書をインストール

個人的に費用を抑えるためにLet’s Encryptを使っています。手順はこちらです。

CertBotをインストール

Copy
sudo snap install --classic certbot

証明書を生成

Copy
sudo certbot certonly --manual --preferred-challenges=dns --preferred-chain="ISRG Root X1"

証明書をAdGuard Homeへ登録

AdGuard Homeの管理画面である「Settings」→「Encryption Settings」にアクセスし、TLS/SSLなどの設定を有効にし、同時にplain DNSをオフにします。

  • 有効にする

    • Enable Encryption (HTTPS, DNS-over-HTTPS, and DNS-over-TLS)
    • Server name(AdGuard Homeサーバーのドメイン)
    • Redirect to HTTPS automatically
    • DNS-over-TLS port(853へ)
  • 無効にする

    • Enable plain DNS

encryption-1.png

  • CertBotで生成された証明書の登録
    • Set a certificates file pathを選んで、/etc/letsencrypt/live/[AdGuard Homeサーバーのドメイン]/fullchain.pemに設定
    • Set a private key fileを選んで、/etc/letsencrypt/live/[AdGuard Homeサーバーのドメイン]/privkey.pemに設定

問題なかったら、Certificate chain is validThis is a valid ECDSA private keyが表示されます。

encryption-2.png

VPS上のAdGuard Homeの管理画面にHTTPSでアクセスできるようになりました。また、DNS-over-HTTPSとDNS-over-TLSも利用できるようになりました。

DNSサーバーのポート解放

DNS-over-HTTPSを使用する場合はポート443を、DNS-over-TLSを使用する場合はポート853を開放してください。

AdGuard Homeの管理画面へのアクセスを制限するため、443ポートではなく853ポートのみを解放しました。

iPhoneの設定

Androidとは異なり、iPhoneではWiFiスポット以外のプライベートDNSサーバーを簡単に設定できません。代わりに、OSSの「DNSecure」をダウンロードして設定してみましょう。

DNSecureをiPhoneにインストール

ソースコードは:https://github.com/kkk669/DNSecure ダウンロードリンクは:Download DNSecure on APP Store

DNS-over-TLSサーバーの追加

DNSecureにAdGuard Homeサーバーを追加します。

  • Name: AdGuardTLS
  • Servers: AdGuard HomeサーバーのIPアドレス
  • Server Name: AdGuard Homeサーバーのドメイン

dnsecure.png

その他の設定

DNSecureの手順に従って、「一般」中のVPNに「DNSecure」を選んだら完了となります。

完了

ブラウザだけでなく、アプリ内の広告もブロックされているはずです。AdGuard Homeの管理画面にアクセスし、ブロックされたログを確認してみましょう。

その後、DNSのブロックリストに気に入らないサイトをすべてブロックするために追加しましょう。

adguard-results.png

※日本専用のブロックリスト:フィルターリスト


ThunderMiracle

Blog part of ThunderMiracle.com