「外のWi-Fi」は危険がいっぱい?
こんにちは!「リナックス先生」です。
前回の「脱サブスク」記事では、Dockerを使って色々なツールを導入しましたね。
先生、最近カフェで作業することが多いんですけど、フリーWi-Fiってなんか怖くて…。
あと、スマホで調べ物をしてると、画面の半分が広告で埋まってイライラします!
これ、VPSでなんとかなりませんか?
その悩み、一撃で解決できるわよ。
VPSに「WireGuard(VPN)」と「AdGuard Home」を導入すれば、通信を暗号化して盗聴を防げるし、DNSレベルで広告をブロックできるわ。
しかも月額数百円のVPS代だけで、家族全員のスマホを守れるの。「最強の通信環境」を作りましょう!
1. なぜ「自分専用VPN」が必要なのか?
世の中には「NordVPN」のような有料サービスや、無料のVPNアプリもあります。なぜわざわざ自作するのでしょうか?
自作VPNのメリット
- ログを取られない(プライバシー): 無料VPNの中には、あなたの通信履歴(ログ)を収集して広告会社に売っているものもあります。自作ならログを見るのは自分だけです。
- 固定IP化できる: スマホからのアクセスが「VPSのIPアドレス」になります。IP制限のかかった社内システムや、海外から日本の動画サービスを見るのに使えます。
- 広告ブロックとの連携: これが最大の特徴です。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を繋ぎましょう。
- スマホに「WireGuard」公式アプリをインストールします。
- PCのブラウザで
http://VPSのIP:51821にアクセスし、設定したパスワードを入力します。 - 「New Client」をクリックし、名前(例: iPhone)を入力して作成。
- QRコードが表示されるので、スマホアプリで読み取ります。
- アプリのスイッチを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側の ufw や firewalld だけでなく、VPS業者側の「セキュリティグループ(パケットフィルタ)」の設定も確認してください。
Q. スピードが遅い
A. MTUサイズの問題かもしれません。
WireGuardアプリの設定で「MTU」を 1280 程度に下げてみてください。また、VPSのプランが低スペックすぎる(メモリ不足)場合も速度が出ません。
まとめ:快適なネット生活を手に入れよう
お疲れ様でした!
これであなたのスマホは、どこにいても「暗号化され、広告のない、固定IPからの通信」ができるスーパーデバイスになりました。
先生、すごいです!
VPNをオンにした瞬間、いつも見てたまとめサイトの広告が全部消えました!
しかも通信速度も全然遅くないし、フリーWi-Fiでも安心感が違います!
よかったわね。
一度この快適さを知ると、もうVPNなしの生活には戻れないわよ。
自分のデータを自分で守る。これも立派なVPS活用術の一つね。
▼高速VPN構築におすすめのVPS
VPNは通信速度が命です。回線帯域が太く(1Gbps以上)、通信量が無制限、または十分な余裕があるVPSを選ぶのがコツです。


コメント