目次

2024.03.13 WireGuard MTU

WireGuardで家に接続する環境(NAT環境の内側)を作成してて、viを実行しようとしたり、topを実行しようとしたりすると
下記のような感じで、SSH接続したコンソールが反応しなくなった。。。

root@vpnserve:~# vi


root@vpnserve:~# top


原因

調べて行くと、どうもこれはMTG が関係しているようでした。

デフォルトだと、このようにwg0のMTUは、1420になってる。
これだと、

# ip -4 a
7: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 10.10.10.2/24 scope global wg0
       valid_lft forever preferred_lft forever

このコマンドで確認すると、パケットが1317以上だとロスする。

# ping -S 1317 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 1317(1345) bytes of data.

--- 10.10.10.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2059ms
# ping -S 1316 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 1317(1345) bytes of data.
1324 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=0.747 ms
1324 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=1.26 ms
1324 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=1.45 ms

--- 10.10.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2032ms

対応

NAT環境の内側から、グローバルへ接続している場合、NAT環境のWireGuardは、MTU 1353にしてあげる

具体的には、2024.02.21 WireguardクライアントをGatewayにする で見た時WireGuard02のwg0をMTU 1353にしてあげる。