MENU

OpenVPNからWireGuardへサービス無停止で移行する|クライアント設定の段階切替と通信断リスクの管理

目次

なぜ今、WireGuardへの移行が現場で加速しているのか

OpenVPNは長年にわたってリモートアクセスVPNの事実上の標準として機能してきました。しかし2026年現在、多くの運用チームがWireGuardへの移行を本格的に検討・実施しています。その背景には、単なる流行ではなく、運用上の具体的な課題があります。

OpenVPNの認証シーケンスはTLS 1.2ベースで設計されており、接続確立までのレイテンシが大きくなりがちです。モバイル回線やネットワーク切替が頻繁なユーザー環境では、再接続のたびに数秒から十数秒のダウンが発生する場面が多く報告されています。一方でWireGuardはハンドシェイクを極限まで削ぎ落とした設計で、実測での接続確立は100ミリ秒以下になることも珍しくありません。

セキュリティ面でも、WireGuardはNoise Protocolフレームワーク上に構築されており、暗号アルゴリズムが固定されているため「設定ミスで弱い暗号スイートが選ばれる」リスクが構造的に排除されています。OpenVPNでは設定ファイルのciphertls-cipherの指定を誤ると既知の脆弱な組み合わせになるケースがあり、レビューコストが継続的に発生していました。

これらの理由から、インフラ担当者の間では「新規導入はWireGuard、既存OpenVPNは計画的に移行」という方針が広まっています。ただし移行の最大の懸念は「通信断をどう防ぐか」です。本記事ではその点に絞って手順を整理します。

移行戦略の基本:並行稼働によるゼロカットオーバー設計

無停止移行の核心は「OpenVPNとWireGuardをサーバー上で同時に稼働させ、クライアントを段階的に切り替える」という並行稼働戦略です。一括切替は絶対に避けるべきで、理由は単純です。切り替え後に問題が発覚した場合、全クライアントが同時に影響を受け、切り戻しの作業量が膨大になります。

並行稼働期間中は、OpenVPNが既存クライアントのサービスを継続しながら、WireGuardを別ポート・別サブネットで独立して提供します。クライアントは新設定を受け取り、問題がなければそちらへ移行します。問題があればOpenVPN側にとどまるだけで、他のクライアントへの影響はゼロです。

移行期間の目安は組織規模にもよりますが、50クライアント以下であれば2週間、それ以上であれば4週間程度を見込むと余裕があります。期間中は両方のVPNサービスを監視対象に含め、接続数・エラーレートを並べて可視化しておくことが重要です。

サーバー側の並行稼働セットアップ手順

Ubuntu 24.04 LTSまたはDebian 12を前提として説明します。どちらのディストリビューションでもWireGuardはカーネルモジュールとして標準搭載されており、追加のカーネルビルドは不要です。

まずWireGuardパッケージをインストールします。

sudo apt update
sudo apt install wireguard wireguard-tools

サーバーの秘密鍵と公開鍵を生成します。鍵ファイルは/etc/wireguard/以下に置き、パーミッションを600に制限します。

wg genkey | sudo tee /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
sudo chmod 600 /etc/wireguard/private.key

次に設定ファイル/etc/wireguard/wg0.confを作成します。OpenVPNが使用しているアドレス空間(例:10.8.0.0/24)とは重複しないサブネット(例:10.9.0.0/24)を割り当てることで、ルーティングの競合を防ぎます。

[Interface]
Address = 10.9.0.1/24
ListenPort = 51820
PrivateKey = <サーバー秘密鍵>
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

IPv4フォワーディングが有効になっていることを確認します。OpenVPN運用中であれば既に有効なはずですが、念のため確認します。

sysctl net.ipv4.ip_forward
# 1 が返れば有効。0 なら /etc/sysctl.conf で net.ipv4.ip_forward=1 を設定して sysctl -p を実行

WireGuardサービスをsystemdで起動・自動起動登録します。OpenVPNのopenvpn@serverサービスはそのまま残します。

sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0

ファイアウォール側でUDP 51820を開放します。UFWを使用している場合は以下の通りです。

sudo ufw allow 51820/udp
sudo ufw reload

クライアントピアの追加:段階的配布の仕組み

各クライアントに対して個別の鍵ペアを生成し、サーバーの設定ファイルに[Peer]セクションを追記していきます。wg setコマンドを使えばサービスを再起動せずにピアを動的追加できます。これが無停止の要です。

# クライアント側で鍵生成(クライアントマシン上で実行)
wg genkey | tee client_private.key | wg pubkey > client_public.key

# サーバー側でピアを動的追加(再起動不要)
sudo wg set wg0 peer <クライアント公開鍵> allowed-ips 10.9.0.2/32

# 設定を永続化
sudo wg-quick save wg0

クライアントに配布する設定ファイルは以下の形式になります。

[Interface]
PrivateKey = <クライアント秘密鍵>
Address = 10.9.0.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = <サーバー公開鍵>
Endpoint = <サーバーのIPまたはFQDN>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

PersistentKeepalive = 25はNATやステートフルファイアウォール配下のクライアントが多い環境では必須です。25秒ごとにキープアライブパケットを送出し、NATテーブルのエントリが消えて通信が途切れるのを防ぎます。

クライアント切替の段階的進め方と通信断リスクの管理

クライアントの切替は「影響の小さいグループから始める」原則で進めます。具体的には、技術的に自己解決できるエンジニアグループを第1陣にし、そこで問題がなければ一般ユーザーへ展開するという順序が定石です。

切替の実作業は単純で、新しいWireGuard設定ファイルをクライアントに配布し、既存のOpenVPN接続を切断してからWireGuard接続を開始するだけです。LinuxクライアントであればNetworkManagerまたはwg-quickを使用します。

# OpenVPN接続を停止(nmcliを使う場合)
nmcli connection down <OpenVPN接続名>

# WireGuard接続を開始
sudo wg-quick up /path/to/wg0.conf

Windowsクライアントには公式のWireGuard for Windowsアプリを配布します。設定ファイルをインポートするだけで使用できるため、エンドユーザーの操作ハードルは低いです。macOSはApp StoreのWireGuardアプリが同様に機能します。

通信断リスクとして注意が必要なのは、VPN経由でしかサーバーにアクセスできない環境でのリモート切替です。この場合、VPNを切り替える作業の間に接続が途切れると自己復旧できなくなります。この問題への対処として、スクリプト化した切替処理(OpenVPN停止→WireGuard起動→疎通確認→失敗時にOpenVPN再起動)を使うか、物理コンソールまたは帯域外管理(IPMI/iDRAC)を準備してから作業する運用が現場では広く採られています。

切替後の即時検証チェックリスト

クライアントをWireGuardに切り替えたら、以下の項目を順に確認します。

  • サーバー側でsudo wg showを実行し、対象ピアのlatest handshakeが数秒以内のタイムスタンプになっていること
  • クライアントからVPN内のサーバーへpingが通ること(ping 10.9.0.1
  • DNSが正しく解決されること(nslookup example.internal等)
  • 業務アプリケーション(社内Webシステム、ファイルサーバー等)への実際のアクセスが正常であること
  • クライアント側でwg showを実行し、transferの送受信カウントが増加していること

これらをすべて確認してから「切替完了」と記録します。問題があれば次のセクションの切り戻し手順を実行します。

切り戻し手順と移行完了後のOpenVPN廃止タイミング

WireGuardへの切替後に問題が発生した場合、OpenVPNはまだ稼働しているため切り戻しは即座に実行できます。

# WireGuard接続を停止
sudo wg-quick down wg0

# OpenVPN接続を再開(nmcliの場合)
nmcli connection up <OpenVPN接続名>

切り戻し後は問題の原因を特定します。よくある原因としては、クライアントの設定ファイル中のサーバーエンドポイントのIPまたはポートの誤り、ファイアウォールでのUDPブロック(WireGuardはUDP専用のため、TCPフォールバックが存在しない点に注意)、NATヘアピニング非対応ルーター配下での接続失敗などが挙げられます。

全クライアントのWireGuard移行が完了し、2週間程度の安定稼働を確認した後にOpenVPNの廃止に入ります。廃止の順序は次の通りです。まず新規クライアントへのOpenVPN設定配布を停止します。次にOpenVPNサービスの自動起動を無効化しますが、すぐには停止せずに1週間様子を見ます。その後サービスを停止し、最終的にパッケージをアンインストールします。段階を踏むことで、見落としていたクライアントやシステムが発覚した場合でも対応できます。

2026年の現行環境における差分と注意点

2026年現在の環境では、以下の点がいくつかの記事や古い資料と異なっています。

カーネル統合の完成:WireGuardはLinuxカーネル5.6以降に統合されており、Ubuntu 22.04以降・Debian 11以降では追加カーネルモジュールのビルドが不要です。古い資料で見られるwireguard-dkmsパッケージのインストール手順は、現在の主要ディストリビューションでは不要です。

NetworkManagerの統合:RHEL 9・Fedora 38以降、Ubuntu 22.04以降ではNetworkManagerがWireGuardをネイティブサポートしています。nmclinmtuiで設定・管理でき、wg-quickを使わない運用が選択肢になっています。Cockpitのネットワーク管理プラグインでもWireGuard接続の表示が可能です。

systemd-networkdとの統合:systemd 237以降(systemd 239以降で安定)でsystemd-networkdがWireGuardをサポートしています。サーバー環境でsystemd-networkdを使用している場合はwg-quickよりもこちらで統一する方が設定管理がシンプルになる場面があります。

OpenVPN 2.6系の変化:OpenVPN 2.6(Ubuntu 24.04標準)ではDCOカーネルモジュール(Data Channel Offload)が導入されており、スループットが大幅に向上しています。OpenVPN側のパフォーマンスが改善されたことで「移行しなくてもよいケース」も増えています。WireGuardへの移行を最優先にするのではなく、現在のOpenVPNが抱える課題を明確にした上で移行判断することが重要です。

クライアント証明書管理の簡略化:OpenVPNからWireGuardへ移行する際に「証明書管理が不要になる」メリットがよく挙げられますが、WireGuardには認証局(CA)の概念がなく、鍵ペアのみで認証します。これはクライアントの追加・削除が容易な反面、鍵が漏洩した場合の失効管理がOpenVPNより煩雑です。大規模環境では上位のKey Management Service(KMS)や自動プロビジョニングツール(Headscale等)との組み合わせを検討することが2026年時点では現実的な選択肢として定着しています。

移行は一度に解決しようとせず、並行稼働期間を確保してリスクを分散させることが、現場でのトラブルを最小化する最も確実な方法です。OpenVPNが安定稼働している期間こそが、WireGuardをテストするための最良のバッファになります。

「コマンドは打てる。次は”現場で通用する型”を最短で身につけたい」——そんなあなたへ。

ネットの断片的なTipsをコピペするだけでは、体系的な運用スキルはなかなか積み上がりません。リナックスマスター.JPの無料メルマガ「リナマガ」では、現場で実際に使うLinuxサーバー運用の考え方を、順を追って実務目線でお届けしています。いま登録された方には、安全なサーバー構築の「型」をまとめた『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼント中です。

>> 図解60P『Linux入門マニュアル』を無料で受け取る
(メルマガ登録は10秒・いつでも解除OK)

※ 「独学の時間がもったいない」「プロから現場の技術を最短で学びたい」という本気の方には、2日で実務レベルが身につく初心者向けハンズオンセミナーもご用意しています。

PR・広告

新しいLinuxの教科書 第2版(Amazon)

コマンド操作から基本運用までを手を動かして学べる定番書。記事で触れた技術の土台固めに。

Amazonで見る

※ Amazonのアソシエイトとして、当サイトは適格販売により収入を得ています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次