【脱・広告】VPSで「自分専用VPN」を構築!スマホの広告を全消ししてセキュリティを最強にする方法【WireGuard + AdGuard】

「外のWi-Fi」は危険がいっぱい?

こんにちは!「リナックス先生」です。
前回の「脱サブスク」記事では、Dockerを使って色々なツールを導入しましたね。

コウ君

先生、最近カフェで作業することが多いんですけど、フリーWi-Fiってなんか怖くて…。
あと、スマホで調べ物をしてると、画面の半分が広告で埋まってイライラします!
これ、VPSでなんとかなりませんか?

リナックス先生

その悩み、一撃で解決できるわよ。
VPSに「WireGuard(VPN)」「AdGuard Home」を導入すれば、通信を暗号化して盗聴を防げるし、DNSレベルで広告をブロックできるわ。
しかも月額数百円のVPS代だけで、家族全員のスマホを守れるの。「最強の通信環境」を作りましょう!

1. なぜ「自分専用VPN」が必要なのか?

世の中には「NordVPN」のような有料サービスや、無料のVPNアプリもあります。なぜわざわざ自作するのでしょうか?

自作VPNのメリット

  1. ログを取られない(プライバシー): 無料VPNの中には、あなたの通信履歴(ログ)を収集して広告会社に売っているものもあります。自作ならログを見るのは自分だけです。
  2. 固定IP化できる: スマホからのアクセスが「VPSのIPアドレス」になります。IP制限のかかった社内システムや、海外から日本の動画サービスを見るのに使えます。
  3. 広告ブロックとの連携: これが最大の特徴です。VPNサーバー内に広告ブロック機能を組み込むことで、スマホに余計なアプリを入れずに広告を消せます。

2. 使用する技術:WireGuard と AdGuard Home

今回は、以下の2つの技術をDockerで組み合わせます。

  • WireGuard: 従来のVPN(OpenVPNなど)より圧倒的に高速で、接続が一瞬で完了する最新のVPNプロトコルです。
  • AdGuard Home: DNSサーバーとして動作し、「広告サーバーへのアクセス」だけを遮断します。これにより、Webサイトの表示自体も高速化します。

3. 構築手順(Docker Compose)

それでは構築していきましょう。VPSにはすでにDockerがインストールされている前提で進めます。
(Dockerの導入がまだの方は、前回の記事を参考にしてください)

Step 1: 必要なポートの開放

VPN通信のために、VPSのファイアウォール設定で以下のポートを開けてください。
※VPSの管理画面(ConoHaやXserverのコンパネ)のパケットフィルタ設定も忘れずに!

  • 51820 / UDP (WireGuard通信用)
  • 51821 / TCP (WireGuard管理画面用)
  • 3000 / TCP (AdGuard Home初期設定用)
  • 8080 / TCP (AdGuard Home管理画面用)

Step 2: ディレクトリとファイルの作成

作業用のディレクトリを作成します。

mkdir -p ~/my-vpn
cd ~/my-vpn
vi docker-compose.yml

以下の内容をコピーして貼り付けます。今回は管理が簡単な 「wg-easy」 というイメージを使います。

services:
  wg-easy:
    environment:
      # ▼書き換えてください:VPSのグローバルIPアドレス
      - WG_HOST=123.456.78.90
      # ▼書き換えてください:管理画面のパスワード
      - PASSWORD=StrongPassword123
      - WG_PORT=51820
      - WG_DEFAULT_DNS=1.1.1.1  # とりあえずCloudflare DNSを指定
    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    volumes:
      - ./wireguard:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

Step 3: 起動確認

docker compose up -d

エラーが出なければ起動成功です。

4. スマホの設定(接続テスト)

ここが感動の瞬間です。スマホとVPSを繋ぎましょう。

  1. スマホに「WireGuard」公式アプリをインストールします。
  2. PCのブラウザで http://VPSのIP:51821 にアクセスし、設定したパスワードを入力します。
  3. 「New Client」をクリックし、名前(例: iPhone)を入力して作成。
  4. QRコードが表示されるので、スマホアプリで読み取ります。
  5. アプリのスイッチをONにします。

これで、スマホの画面上部に「VPN」マークが出れば成功です!
Wi-Fiを切って4G/5G回線にし、IP確認サイトなどで「VPSのIPアドレス」になっていれば、あなたは今、VPSを経由してインターネットをしています。

5. 【応用】広告ブロック(AdGuard)の統合

今のままでは「ただのVPN」です。広告ブロックを追加しましょう。
今回は一番簡単な「AdGuard DNS」を利用する方法を紹介します。

ブラウザの管理画面(wg-easy)を開き、作成したクライアント(iPhoneなど)の設定を編集するのではなく、Dockerの設定自体を書き換えます。

vi docker-compose.yml

WG_DEFAULT_DNS の行を以下のように書き換えます。
(これはAdGuard社が提供しているパブリックDNSのアドレスです)

      # AdGuard Public DNS (広告ブロック機能付き)
      - WG_DEFAULT_DNS=94.140.14.14,94.140.15.15

書き換えたら再起動します。

docker compose up -d

これで、VPNをONにしている間は、スマホアプリ内の広告や、Webサイトのバナー広告が自動的に消え去ります!

6. トラブルシューティング(繋がらない時は?)

VPN構築はトラブルが起きやすいものです。よくある原因をまとめました。

Q. QRコードを読み込んでもネットに繋がらない

A. ファイアウォールでUDP 51820が開いていない可能性が高いです。
Ubuntu/AlmaLinux側の ufwfirewalld だけでなく、VPS業者側の「セキュリティグループ(パケットフィルタ)」の設定も確認してください。

Q. スピードが遅い

A. MTUサイズの問題かもしれません。
WireGuardアプリの設定で「MTU」を 1280 程度に下げてみてください。また、VPSのプランが低スペックすぎる(メモリ不足)場合も速度が出ません。


まとめ:快適なネット生活を手に入れよう

お疲れ様でした!
これであなたのスマホは、どこにいても「暗号化され、広告のない、固定IPからの通信」ができるスーパーデバイスになりました。

コウ君

先生、すごいです!
VPNをオンにした瞬間、いつも見てたまとめサイトの広告が全部消えました!
しかも通信速度も全然遅くないし、フリーWi-Fiでも安心感が違います!

リナックス先生

よかったわね。
一度この快適さを知ると、もうVPNなしの生活には戻れないわよ。
自分のデータを自分で守る。これも立派なVPS活用術の一つね。

▼高速VPN構築におすすめのVPS

VPNは通信速度が命です。回線帯域が太く(1Gbps以上)、通信量が無制限、または十分な余裕があるVPSを選ぶのがコツです。

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント