Ubuntu26.04にアップデートしたらWireGuardでVPNできなくなった話
VPNできない!?(焦り)
気軽に宅内SSHするためにWireGuardでVPNを構築している金なしマンとしては、出先でこういうことに気づきます。
休みだし外出するか!
↓
カフェで優雅に宅内サーバメンテするか…
↓
VPN繋がらないにゃしい!
色々調べた結論は、OSリリースアップデートによるIPパケットフォワード設定の欠落 でした。
設定してて良かったGoogle RDP
VPNが使えない状況になることは過去にもあったので、
Google Remote Desktopを駆使してまずは家のWindowsにアクセス。
iPadから画面2台の端末にアクセスするとマウスカーソルの認識がおかしくなるので、
全画面にして小さい文字と格闘する羽目に。
でも設定してて良かった〜〜
トラブルシュート
VPNサーバまで届いてるか
WireGuardの公式アプリだと、どのVPN設定でどれくらい通信しているか確認できます。

実際に確認したときは送信だけ増えて受信がゼロ。
この時点でハンドシェイク要求がサーバに到達していないか、WireGuardサービスが動いてない可能性がある。
ここで確認したのはインターネット側IPアドレス。
案の定、前と変わっていたのでちゃっちゃと修正。
ダイナミックDNSなんて使ってないんだよこっちは。貧乏舐めんな。
(蛇足)
CMANでIP確認したとき、最初がgoogleなんとか.tunnel.なんとかみたいなドメインで認識されてた。
もしかしてWAFで盗聴されてる? と思ったら普通のIPに戻った。なんだかなぁ。まぁこれでいけるやろ!
WireGuardサービスの状態確認
IPアドレスの修正によってハンドシェイクが確立した。
よかったよかったと思いながらも、やたらと速度が遅い。
送信量がガンガン上がっても受信量はほぼ動かず。
あかんですねこれは…
まずはサービス稼働を確認。
sudo systemctl status wg-quick@wg0.service
[sudo: authenticate] Password:
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/usr/lib/systemd/system/wg-quick@.service; enabled; preset: enabled)
Active: active (exited) since Wed 2026-06-17 21:34:55 UTC; 26min ago良さそう。
次はwgコマンドでWireGuardが動いているか確認。
sudo wg show wg0
[sudo: authenticate] Password:
interface: wg0
public key: (見せられないよ!)
private key: (hidden)
listening port: (見せられないよ!)
peer: user1
preshared key: (hidden)
endpoint: (iPadのIPアドレス)
allowed ips: (見せられないよ!)
latest handshake: 43 seconds ago
transfer: xx MiB received, xx MiB sent
peer: user2
preshared key: (hidden)
allowed ips: (見せられないよ!)コード部は後から取ったのでイメージ。
実際は(サーバ側の)送信が極端に少ない。
これは何かWireGuardじゃないところでコケてるのか〜?
iptable設定の適用失敗?
心当たりといえば、興味本位のOSアップデート。
Ubuntu24.04 → 26.04にしたばかり。
これはUbuntuのデーモンかなんかが変わって、
WireGuardセットアップでマスカレードの設定とかコケてるか?
と思って確認しても特にエラーなし。
なんでや。
ip_forwardの適用失敗?(原因)
WireGuardのセットアップ時、net.ipv4.ip_forward=1というのを設定してた。
これはパケットをルーティングするために必要だが、
OSアップデートで記述が変わったか?
と思って/etc/sysctl.confを確認。
sudo ls -l /etc/sysctl.conf
ls: cannot access '/etc/sysctl.conf': No such file or directoryあれ、ファイル名間違えてたか。
sudo ls -l /etc/sysctl*
-rw-r--r-- 1 root root 2207 Dec 29 07:02 /etc/sysctl.conf.dpkg-bak
/etc/sysctl.d:
total 4
-rw-r--r-- 1 root root 269 Dec 1 2025 README.sysctlおよ? dpkgが待避してる?
絶対これじゃん。
:~$ sudo cp /etc/sysctl.conf.dpkg-bak /etc/sysctl.conf
:~$ sudo sysctl -p /etc/sysctl.conf
net.ipv4.ip_forward = 1はい、これで認識されました。
そしてちゃんとVPNが確立しました。
ちゃんちゃん。
OSリリースアップデートには気をつけよう!
やはり、OSリリースが原因でした。
今回は軽微なもので、dpkgが設定を待避しているだけでしたが、
これが削除されてたりカーネルの変更とかだとどうにもなんないので怖いですね。
今回の学びは、
ちゃんと家にいるときに動作確認しよう!
です。
おわり。
追記
なんか/etc/sysctl.confはカーネルアップデートで読み込まなくなった?っぽい。
/etc/sysctl.conf.d/99-wireguard.confなどのファイルを作って、それにnet.ipv4.ip_forward = 1を描かないと再起動後はフォワーディングしてくれなくなった。