WireGuardは現代最速のVPNプロトコルです。設定がシンプルで初心者にも扱いやすく、OpenVPNと比べて圧倒的に少ない設定ファイルで動きます。
WireGuardのインストール
sudo apt update
sudo apt install -y wireguard
外向きNIC名の確認
設定ファイル内でNIC名を使用します。最近のLinux環境では eth0 ではなく ens3 や enp1s0 など別の名前になっていることが多いため、事前に確認してください。
ip route show default
出力例:default via 192.168.1.1 dev ens3 proto dhcp の場合、NIC名は ens3 です。以降の設定では eth0 をご自分の環境のNIC名に置き換えてください。
鍵ペアの生成
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
chmod 600 /etc/wireguard/server_private.key
cat /etc/wireguard/server_private.key
cat /etc/wireguard/server_public.key
サーバー設定ファイルの作成
sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = サーバーの秘密鍵
Address = 10.0.0.1/24
ListenPort = 51820
# eth0 の部分は ip route show default で確認したNIC名に変更してください
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
注意: eth0 の部分は必ずご自分の環境のNIC名に置き換えてください。そのままにするとNATが機能せず、VPN接続はできてもインターネットに出られません。
IPフォワーディングの有効化
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
iptablesルールの永続化
WireGuardの PostUp/PostDown はwg0インターフェース起動・停止時に自動で実行されるため、wg-quickを使う限りは自動で適用されます。ただし再起動後もwg-quickが自動起動する設定にしておくことが重要です。
sudo systemctl enable wg-quick@wg0
より確実にiptablesルールを永続化したい場合は iptables-persistent を使います。
sudo apt install -y iptables-persistent
sudo netfilter-persistent save
WireGuardの起動と確認
sudo systemctl start wg-quick@wg0
sudo systemctl enable wg-quick@wg0
sudo wg show
wg showでインターフェースとPeerの情報が表示されれば起動成功です。
まとめ
- WireGuardは最速・最もシンプルなVPNプロトコル
ip route show defaultで外向きNIC名を確認し、eth0を置き換えること- wg genkeyで鍵ペアを生成しwg0.confに設定を記述するだけ
- IPフォワーディングを有効にすることでVPNトラフィックをルーティングできる
systemctl enable wg-quick@wg0で再起動後も自動起動する- iptables-persistentでNATルールを永続化できる



コメント