Il 2023-07-24 13:23 tincantech ha scritto:
If your PMTU is changing "on a daily basis" then you should probably report
that as a fault to your Internet Service Provider(s).

Forgot what I've written before: I've did many more tests and apparently my connection(s)' MTU is not changing but something else is going on with openvpn.

From the server:

# traceroute --mtu 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 65000 byte packets
 1    16.806 ms F=1492  16.665 ms  16.546 ms
 2    16.304 ms  16.381 ms  16.289 ms
 3    16.488 ms  16.550 ms  16.091 ms
 4    17.593 ms  16.074 ms  16.125 ms
 5    17.159 ms 74.125.245.241 (74.125.245.241)  17.205 ms  17.850 ms
6 16.904 ms 142.250.211.23 (142.250.211.23) 16.462 ms 142.251.235.175 (142.251.235.175) 16.407 ms
 7  dns.google (8.8.8.8)  16.685 ms  16.334 ms  16.434 ms

The server has an MTU of 1492 and I can confirm it with the following:
ping -M do -s 1464 -c 1 8.8.8.8 //OK
1464 + 28 (20 bytes for the IPv4 header and 8 bytes for the ICMP header) = 1492

My primary Tiscali connection which I use for the client has an MTU of 1460:
ping -M do -s 1432 -c 1 8.8.8.8 //OK
(1432+28=1460)

If I connect with the Tiscali client and try to ping over the tunnel I get to an MTU of 1394 for the tunnel:
ping -M do -s 1366 -c 1 192.168.2.1 //OK
(1366+28=1394)

So I guess that the encryption overhead accounts for 66 bytes (1460-1394=66).

The Tiscali connection (which is a 200Mps/20Mbps FTTC) is weird in my opinion, because the PPPoE header should be 8 bytes and that should translate to a 1492 MTU, not 1460. Also apparently a traceroute --mtu suggests 1492 as well, but there are only asterisks which is even weirder:

# traceroute --mtu 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 65000 byte packets
 1  _gateway (192.168.1.1)  1.219 ms F=1500  0.876 ms  0.986 ms
 2  * F=1492 * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
[...]

So I decided to try connecting to my openvpn server from an Iliad hotspot, which under normal circumstances has an MTU of 1420:

# traceroute --mtu 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 65000 byte packets
 1  _gateway (192.168.61.7)  2.465 ms F=1500  2.290 ms  2.329 ms
 2  * F=1420 * *
 3  * 192.168.3.14 (192.168.3.14)  87.831 ms  56.965 ms
 4  192.168.255.3 (192.168.255.3)  55.863 ms  55.182 ms  54.250 ms
 5    66.312 ms  64.891 ms  63.330 ms
 6    54.089 ms  51.763 ms *
 7    64.521 ms  71.594 ms  59.795 ms
 8    54.797 ms  71.373 ms  69.394 ms
 9  * * *
10 dns.google (8.8.8.8) 68.258 ms 69.061 ms 142.250.211.30 (142.250.211.30) 64.794 ms

ping -M do -s 1392 -c 1 8.8.8.8 //OK
(1392+28=1420)

Traceroute seems to work via the Iliad connection.

Which payload size would you expect me to be able to ping over the openvpn tunnel?

If you guessed 1392-66=1326 you would be wrong. I can get up to the full 1500 MTU:
ping -M do -s 1472 -c 1 192.168.2.1 //OK
(1472+28=1500)

This is WITHOUT fragment being set. In fact I use the very config I previously used with the Tiscali connection on the same laptop.

I've double checked switching between Tiscali and Iliad multiple times.

What's happening? Is fragment being silently enabled? Why only on the Iliad connection? Traceroute somehow not working on Tiscali might be at play here.

Niccolo'


_______________________________________________
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to