前回の記事で、WireGuardを使ってVPNをConoHa VPSに構築する方法を解説しました
今回はスマホからもVPNに接続する方法を解説します
WireGuardはiPhone(iOS)とAndroidの両方に対応した公式アプリがあります
サーバー側に設定済みであれば、QRコードで簡単にスマホに設定を読み込ませられます
手順としてはスマホ用に新しく鍵(キー)を追加で生成します
WireGuardでは、各デバイス(ノートPC・スマホなど)に対して個別の鍵ペア(秘密鍵・公開鍵)を作成し、それぞれをサーバーに登録する設計が推奨されます
- セキュリティ:各端末に固有の鍵があることで、不正アクセスのリスクを下げられる
- 管理が楽:万一スマホを紛失したら、その鍵だけWireGuardサーバーから削除すればOK
- 同時接続も可能:複数のクライアントが同時にWireGuard経由で通信できる
1. VPSでスマホ用の鍵を作成
sudo wg genkey | tee /etc/wireguard/smartphone_privatekey | sudo wg pubkey > /etc/wireguard/smartphone_publickey
# 権限を設定
sudo chmod 600 /etc/wireguard/smartphone_privatekey
sudo chmod 644 /etc/wireguard/smartphone_publickey
鍵の中身を見るコマンド
sudo cat /etc/wireguard/smartphone_privatekey
sudo cat /etc/wireguard/smartphone_publickey
2. サーバー側で設定ファイルの編集
以下のコマンドでサーバー側の設定ファイルにスマホ用の設定を追加します
sudo nano /etc/wireguard/wg0.conf
以下の peer を一番下に追加します
[Peer]
PublicKey = スマホの公開鍵
AllowedIPs = 10.0.0.3/32
3. スマホ用の設定ファイルを作成
スマホ側の設定ファイルのsmartphone.conf は スマホに設定を渡すための一時的なファイルです
保存場所はどこでもOKです
ホームディレクトリ内なら以下のコマンドで作成します
# ホームディレクトリへ移動
cd ~
# 設定ファイル作成
nano smartphone.conf
設定ファイルは以下のように入力します
[Interface]
PrivateKey = スマホの秘密鍵
Address = 10.0.0.3/24
DNS = 1.1.1.1
[Peer]
PublicKey = VPSの公開鍵
Endpoint = VPSのIPアドレス:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
VPSの公開鍵はおそらく以下のようなコマンドで確認できます
sudo cat /etc/wireguard/server_publickey
4. QRコードを生成(スマホ用設定を読み込みやすく)
まず、必要なパッケージをインストール
sudo apt install qrencode
次に、スマホ用設定をQRコードとして表示:
qrencode -t ansiutf8 < smartphone.conf
スマホでWireGuardアプリを開き、「トンネルをインポート」→「QRコードでインポート」を選択
QRコード表示用に使うだけなので、スマホに読み込ませたら削除しても大丈夫です
rm smartphone.conf
【5. サーバー側でWireGuardを再起動して反映】
sudo systemctl restart wg-quick@wg0
状態確認
sudo systemctl status [email protected]
active(exited)になっていればOK
【6. スマホ側でWireGuardアプリの設定をON】
スマホ側でアプリを開いて、先ほどインポートした設定を選び、「接続」をONにします
正しく繋がれば、スマホはVPS経由で通信するようになります
これでスマホの通信をVPN経由にすることができます
コメント