opnsense / core

OPNsense GUI, API and systems backend
https://opnsense.org/
BSD 2-Clause "Simplified" License
3.26k stars 725 forks source link

Feature request: Separate MTU interface values for IPv4 and IPv6 #2643

Closed Kal42 closed 6 years ago

Kal42 commented 6 years ago

Some ISPs offer IPv6 connetivity throw 6in4 and in some case the 6in4 tunnel endpoint is the box itself. As such, in some cases PMTU discovery can fail and it is sometimes necessary to explicitly define a lower MTU interface value. So for ip6 working we need to put on the lan MTU 1480 and have radvd advertise mtu 1480.

Shrinking the MTU to accommodate IPv6 results in poor IPv4 connectivity and vise versa.

Best regards,

fichtner commented 6 years ago

We opted for a combined MTU solution in https://github.com/opnsense/core/issues/2553 for 6RD and 6TO4. It's a unclear what 6in4 you mean. 6RD, 6TO4, GIF?

Kal42 commented 6 years ago

In fact, the 6 over 4 tunnel is not managed by the opnsense, it's manged by the ISP modem-router in front of the opnsense. So opnsense is not aware that ipv6 is over ipv4. Opnsense get it's ipv6 throw SLAAC or STATIC on the WAN part.

dessin1

fichtner commented 6 years ago

Thanks for explaining. I'm unaware of how to separate IPv4 and IPv6 MTU if we use the same device for both going out?

Kal42 commented 6 years ago

I have check my current configuration, and just to be able to set radvd option : AdvLinkMTU to a different value than the interface MTU should work.

fichtner commented 6 years ago

I'd opt for the radvd improvement as well. That seems doable.

fichtner commented 6 years ago

Checking the code and the new 6rd MTU feature this should start working in 18.7.2 automagically when you set your interface MTU to 1500 so it will set 1480 for 6rd and also advertise it correctly.

fichtner commented 6 years ago

Ok not quite yet, it tracks its own MTU which is different from the parent, but not unfixable :)