Quan tenim problemes de MTU dins d’un tunel IPSEC.
Per averiguar el tamany màxim del paquet que pot passar pel túnel utilitzarem l’eina ping amb l’opció -M do. Anirem provant diferents tamanys fins donar amb el bo.
# ping -c 3 -s 1500 -M do 10.0.6.8
PING 10.0.6.8 (10.0.6.8) 1400(1428) bytes of data.
From 2.2.2.2 icmp_seq=0 Frag needed and DF set (mtu = 1422)
From 2.2.2.2 icmp_seq=0 Frag needed and DF set (mtu = 1422)
From 2.2.2.2 icmp_seq=0 Frag needed and DF set (mtu = 1422)
# ping -c 3 -s 1394 -M do 10.0.6.8
PING 10.0.6.8 (10.0.6.8) 1394(1422) bytes of data.
1402 bytes from 10.0.6.8: icmp_seq=0 ttl=63 time=76.4 ms
1402 bytes from 10.0.6.8: icmp_seq=1 ttl=63 time=76.0 ms
1402 bytes from 10.0.6.8: icmp_seq=2 ttl=63 time=76.0 ms
Crearem una regla en el firewall per ajustar la MTU del paquet en base a les dades que hem investigat.
iptables -I FORWARD -i $IF_OUT -o $IF_PUB -s $NET_IF_OUT -d $NET_VPN -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss $MTU