WireGuardを使って自分だけのVPNを構築する方法【完全ガイド】
商用VPNサービスは数多く存在しますが、多くの場合、自分でVPNを構築することが最善の選択肢となります。
サードパーティのVPNを利用すると、データは相手側のサーバーを経由します。つまり、バックエンドで自分のデータがどのように扱われているのか、利用者には一切分かりません。プライバシーをしっかり守りたいなら、WireGuardを使って独自のVPNサーバーを構築することを検討すべきです。
では、なぜWireGuardを選ぶべきなのでしょうか? WireGuardとは何なのか? そして、どうすれば安全なネットワークを自分の手で作れるのでしょうか?
WireGuardとは?
WireGuardは最先端のオープンソースVPNであり、IPsecやOpenVPNといった既存のVPNプロトコルを性能面で上回ります。
平たく言えば、スマートフォンやデスクトップPCなどのデバイスとVPNサーバー間の接続を暗号化するための仮想プライベートネットワーク(VPN)プロトコルです。
嬉しいことに、WireGuardは完全無料で利用でき、より強固なセキュアなネットワークトンネルを提供することで、ネットワーク層をしっかりと暗号化してくれます。
WireGuardを使う前に必要なもの
インストール手順に進む前に、以下の準備が整っていることを確認してください。
- LinuxベースのOS: 本ガイドではUbuntu 20.04 LTSが動作するAmazon Lightsailサーバーを使用します。
- ローカルコンピュータ: 本ガイドではWindows 10(64ビット)クライアントを使用します(リモートシステムでも構いません)。
- ローカルコンピュータにインストール済みのWireGuard
ここではUbuntuサーバーを使用していますが、他のディストリビューションでも基本的にそのまま動作するはずです。ただし、多少の調整が必要になる場合があります。また、リモートサーバーに接続する場合は、ローカルシステムから接続する権限を持っていることを必ず確認してください。
新しいクラウドサーバーのセットアップ方法
WireGuardのインストールを始めるには、まずクラウドサーバーが必要です。クラウドプロバイダや設定オプションは多岐にわたるため、新規サーバーのセットアップは複雑に感じられがちです。
しかし、基本の流れさえ押さえれば大丈夫です。どのクラウドサーバーを利用していても、プロバイダのダッシュボードからインスタンス(droplet)の起動・停止を簡単に行えます。
次に、ロケーション(できれば自分に近い地域)を選択し、適切なスペックでサーバーを構成して起動しましょう。なお、共有ホスティングでは、マネージドサーバーのような高いパフォーマンスは期待できません。
注意: 最新版のWireGuardはリソース効率が大幅に向上しており、512MBのRAMと1つの仮想CPUでも十分に動作します。ただし、3台以上のデバイスを接続したい場合は、有料プランへの移行を強くおすすめします。
サーバーへのWireGuardのインストール
ターミナルには、サーバーへのSSH接続にPuTTYを使用しています。PuTTYを使ったことがない方は、WindowsでSSHを利用するための代替ツールをチェックしてみてください。
クラウドサーバーの起動後、以下の手順に従ってWireGuardをインストールします。
1. サーバーにログインし、以下のコマンドを実行してシステムを最新の状態にします。
sudo apt-get update && sudo apt-get upgrade -y
完了したら、サーバーへのWireGuardのインストールと設定に進みます。
2. 次のコマンドでWireGuardをインストールします。Angristan氏が公開しているGitHubのスクリプトをベースにしています。
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
3. 続けて、以下のコマンドでスクリプトを実行します。
sudo ./wireguard-install.sh
4. Enterキーを押すと、ターミナルに一連の質問が表示されます。質問に順番に答えていくか、デフォルトの回答をそのまま採用しても構いません。
5. 各ステップでEnterキーを押して進めば、WireGuardのインストールが完了します。インストール後は、任意のキーを押してサーバー上のWireGuard設定を終了できます。
WireGuardサーバーに接続したいクライアントごとに、これらの手順を繰り返す必要があります。
幸い、WireGuardは主要なほぼすべてのOS向けにソフトウェアを提供しているため、Windows、Linux、macOS、Android、iOSデバイスの接続もスムーズに行えます。
WireGuardのインストールが終わったら、引き続き以下の手順でサーバー側の追加設定を行いましょう。
WireGuardクライアントの設定方法
最後に、WireGuard VPNサーバーに接続してテストするためのクライアントを設定します。クライアントがWindows、macOS、Linux、BSDのいずれで動作していても問題ありません。WireGuardクライアントとは、固有の公開鍵を使ってVPNサーバーに接続するコンピュータなどのデバイスのことです。以下の手順で設定を行います。
- ターミナルにクライアント名を入力し、Enterキーを押します。
- ターミナルにIPv4およびIPv6アドレスが表示されるので、さらにEnterキーを2回押します。
- これで設定ファイルが自動的に生成されます。ファイルパスをメモするか、コピーしておきましょう。
注意: 秘密鍵は厳重に管理してください。秘密鍵にアクセスできる人は誰でもVPN接続を確立でき、悪用される恐れもあります。
さらに便利なことに、WireGuardはQRコードも生成してくれるため、AndroidやiOSデバイスでそのままスキャンできます。これにより、設定ファイルをサーバーからスマートフォンへ手動でコピーする手間がなくなります。
ファイアウォールとIPフォワーディングの設定方法
WireGuardサーバーのセットアップに加えて、ローカルネットワークとファイアウォールの設定も行っておきましょう。そうすることで、誰がサーバーに接続できるのかをより細かく制御できるようになります。
1. 以下のコマンドでシステム設定ファイルを開きます。
sudo nano /etc/sysctl.conf
2. 「#net.ipv4.ip_forward=1」という行を見つけ、「#」を削除します。これにより、サーバー上でIPv4アドレスの転送が有効になります。
3. 変更を保存し、以下のコマンドを実行して設定を永続化します。
sudo sysctl -p
これで、WireGuardサーバーはピアとなるクライアントからのトラフィックをインターネット全体へ中継できるようになります。
より技術的な知識をお持ちの方は、ファイアウォールを設定してサーバーを悪意ある攻撃から保護することもおすすめします。クラウドサーバーにソフトウェアファイアウォールをインストールするか、サーバープロバイダのインスタンス設定で「Firewall」機能を有効にしてください。
WireGuardでVPNに接続する方法
クライアントの認証情報を取得し、サーバーにWireGuardをインストールしたら、いよいよVPNに接続しましょう。
WindowsでWireGuard VPNに接続する
1. ターミナルで以下のコマンドを入力し、現在のディレクトリ内のフォルダやファイルを確認します。
ls
2. 設定ファイルのファイル名をコピーします。この例では「wg0-client-windows.conf」というファイルですが、ファイル名はユーザーごとに異なります。
3. 次に、以下のコマンドでファイルの内容をターミナルに表示します。
cat wg0-client-windows.conf
「wg0-client-windows.conf」の部分は、自分の設定ファイル名に置き換えてください。
4. ここでWireGuard設定の情報が表示されます。「[Interface]」から末尾まですべてコピーしましょう。
5. WindowsでWireGuardアプリを開き、Add Tunnel > Add empty tunnelに進みます。
6. トンネルに名前を付け、コピーしたテキストをエディタ欄に貼り付けます。入力が完了したらSaveボタンをクリックします。
7. 次の画面でActivateをクリックすると、自分のVPNに接続されます。
AndroidでWireGuard VPNに接続する
WireGuardはAndroidのバージョンに関係なく、ほぼすべてのAndroidスマートフォンで動作します。なお、iOSデバイスでのVPN接続手順もAndroidとほぼ同じです。
AndroidスマートフォンでWireGuardを使ってVPNを設定するには、以下の手順に従ってください。
- WireGuardアプリをダウンロードしてインストールします。
- アプリを開き、画面右下のフローティングアイコンをタップします。
- SCAN FROM QR CODEオプションをタップします。
- 必要な権限を許可し、QRコードをスキャンします。
- スキャン後、新しいトンネル名を入力してCreate Tunnelをタップします。



- 最後にスイッチをオンに切り替えて、自分のVPNに接続します。
これで、必要な数だけWireGuardサーバーとクライアントを素早くセットアップし、自分以外の誰にも管理されない暗号化されたプライベートネットワークを構築できます。
大手VPNプロバイダの多くも実はWireGuardプロトコルを利用しています。上記の手順に従えば自分で効率的にすべてを管理できるのに、高い料金を支払ってデータへのアクセスを第三者に渡す必要はないのです。
プライベートVPNでプライバシーを強化しよう
WireGuardを使えば、自分専用のVPNを素早く簡単に構築できます。もし時間をかけたくない場合は、VPNサブスクリプションを契約するのが最も手軽な選択肢です。
しかし、より高い制御性とプライバシーを求めるなら、ルーターにVPNを導入したり、自分でVPNサーバーをホストしたりすることをおすすめします。
WireGuardの大きな利点のひとつは、接続クライアント数に制限がないことです。つまり、好きなだけクライアントを接続できます。ただし、低スペックのサーバーでは、クライアントが増えるほど通信速度が遅くなる点には注意してください。
-
自分だけのQRコードを作る方法!Windows・Android・iPhone別の手順を解説
近年、多くの企業やアプリが集客のためにQRコードを活用しています。QRコードは、詳細な説明を口頭で伝えなくても、情報を簡単に共有できる最も手軽な手段です。カメラ付きスマートフォンがほぼ普及したことで、ここ数年でその人気はさらに高まりました。しかし、「自分でQRコードを作りたいけれど、やり方がわからない」という方もまだ多くいらっしゃいます。この記事では、さまざまなプラットフォームでQRコードを作成する方法をわかりやすくご紹介します。QRコードとは?「QR」は「Quick Response(クイックレスポンス)」の略称です。QRコードは白黒の正方形パターンで構成されたマトリックス型コードで、スマー
-
火曜日のヒント:Plexサーバーで自分だけのSpotify環境を自作しよう
AppleがLalaを買収して終了させて以来、私はSpotifyなどのストリーミングサービスでその穴を埋めてきました。しかし、どこにも配信されていない(低音質のYouTube版を除けば)手持ちの楽曲がかなりあり、それらをすべてのデバイスで聴きたいと思っていました。そこで登場するのがPlexです。 Plexは、MacやNAS(ネットワーク接続ストレージ)をサーバーとして設定し、自分の音楽コレクションをiPhoneにストリーミングできるソフトウェアパッケージです。外出先からでも利用可能です。セットアップにはネットワークに関する基本的な知識が必要で、ルーターのポート開放方法を把握しておく必要があり