Mixed MTU hosts on a network
Roman Mamedov
rm.wg at romanrm.net
Fri Mar 16 10:25:47 CET 2018
Hello,
I have a host which is on PPPoE and has 1492 as underlying MTU.
When WireGuard starts by default, it sets MTU of its interface to 1420. All
TCP connections trying to send a stream of data over the WG interface to that
host, hang up (I test with iperf3).
My first idea was to override the MTU for this specific host via adding a
route:
# ip -6 route add fd39:30::250/128 dev wg0 mtu 1412 metric 1
# ip -6 route | grep ^fd39:30
fd39:30::250 dev wg0 metric 1 mtu 1412
fd39:30::/64 dev wg0 proto kernel metric 256
# ip route get fd39:30::250
fd39:30::250 from :: dev wg0 src fd39:30::2 metric 1 mtu 1412
However, this does not help at all. Even adding the corresponding route on the
other side. Even using the "mtu lock" keyword instead of just "mtu". I am still
puzzled why. Any ideas?
=========================================
# iperf3 -c fd39:30::250
Connecting to host fd39:30::250, port 5201
[ 4] local fd39:30::2 port 44902 connected to fd39:30::250 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 474 KBytes 3.88 Mbits/sec 1 1.31 KBytes
[ 4] 1.00-2.00 sec 0.00 Bytes 0.00 bits/sec 1 1.31 KBytes
[ 4] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 1 1.31 KBytes
[ 4] 3.00-4.00 sec 0.00 Bytes 0.00 bits/sec 0 1.31 KBytes
[ 4] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 1 1.31 KBytes
[ 4] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0 1.31 KBytes
[ 4] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 0 1.31 KBytes
[ 4] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 0 1.31 KBytes
[ 4] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0 1.31 KBytes
[ 4] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 1 1.31 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 474 KBytes 388 Kbits/sec 5 sender
[ 4] 0.00-10.00 sec 0.00 Bytes 0.00 bits/sec receiver
iperf Done.
=========================================
What helps, is only reducing MTU of the entire wg0 interface to 1412. Then
everything works fine. But it doesn't feel optimal to reduce MTU of the entire
network just because of 1 or 2 hosts. I would rather use a couple of those
mtu-override routes, if they worked.
--
With respect,
Roman
More information about the WireGuard
mailing list