Quan hi ha problemes de MTU en un túnel IPSEC

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