「自分専用のVPNを持ちたい」「会社のリモートアクセス環境を自前で構築したい」——そう思ったとき、かつてはOpenVPNが定番でした。しかしWireGuardの登場でその常識は変わりました。設定がシンプル、パフォーマンスが高い、コードベースが小さくセキュリティ監査がしやすい——VPNを自前で建てるなら今はWireGuardが最良の選択です。
WireGuardをたとえで説明すると「最新の電気自動車」のようなものです。OpenVPNが「実績豊富だが複雑な仕組みのガソリン車」とすると、WireGuardは「構造がシンプルで高速・省エネな電気自動車」です。設定ファイルはわずか数行、接続速度は従来のVPNより数倍速く、バッテリー消費(CPU負荷)も格段に少ない。
エンジニアO:「OpenVPNの設定ファイルが複雑すぎて管理しきれなくて…」
同僚P:「WireGuardに乗り換えてみなよ。設定ファイルが10行くらいで済むし、接続も一瞬だよ」
O:「本当に?OpenVPNは証明書管理だけで大変だったのに」
P:「WireGuardは公開鍵暗号だけで済む。鍵ペアを生成して相手に公開鍵を渡すだけで接続できる」
VPS(Ubuntu)にWireGuardサーバーを構築する手順を見てみましょう。
# WireGuardのインストール
sudo apt update && sudo apt install wireguard -y
# サーバーの鍵ペア生成
wg genkey | sudo tee /etc/wireguard/server_private.key | \
wg pubkey | sudo tee /etc/wireguard/server_public.key
# クライアントの鍵ペア生成
wg genkey | tee client_private.key | wg pubkey > client_public.key
# /etc/wireguard/wg0.conf を作成
sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = サーバーの秘密鍵
Address = 10.0.0.1/24
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = クライアントの公開鍵
AllowedIPs = 10.0.0.2/32
# IPフォワーディングを有効化
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# WireGuardを起動・自動起動設定
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
# 接続状態の確認
sudo wg show
クライアント側(スマートフォンやPC)はWireGuardの公式アプリをインストールし、設定ファイルをQRコードで読み込むだけで接続できます。OpenVPNの複雑さに疲れたなら、今すぐWireGuardに移行しましょう。
コメントを残す