Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jan 2015 15:13:37 +0100
From:      VANHULLEBUS Yvan <vanhu@FreeBSD.org>
To:        Andrei Brezan <andrei693@gmail.com>
Cc:        net@freebsd.org
Subject:   Re: IPSEC MTU routing issue
Message-ID:  <20150123141337.GA13989@zeninc.net>
In-Reply-To: <54BFB4B5.3070705@gmail.com>
References:  <54BFB4B5.3070705@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi.

On Wed, Jan 21, 2015 at 03:16:21PM +0100, Andrei Brezan wrote:
> Weird subject, maybe.
> 
> I'm running FreeBSD-10.0-RELEASE with PF as firewall and racoon for
> IPSEC. The IPSEC tunnel is between the FreeBSD box and a Fortinet
> appliance.
> 
> The IPSEC tunnel comes up and on a quick test it seems to be
> working, icmp between networks is ok, you can successfully telnet on
> services on the other side. However when you need to transfer some
> data strange things happen. I'm really trying to wrap my head around
> it and I still don't understand why it happens
> (http://pastebin.com/NAspcM9w). The packets smaller than 1260 and
> larger than 1417 are delivered to vlan103, the ones in between are
> not.

I'm not sure why do you have this strange issue.
Having a look at your IPsec/ESP related kernel stats may give a first
idea.


But I know that, even if you find a fix for this, you'll have very
poor performances as soon as packets start to be fragmented, and your
data transferts may just stall forever.

So, the usual way of solving that is to change the TCPMSS "low enough"
on the fly for all IPsec related trafic.
1300 is a common value, low enough to avoid fragmentation, and high
enough to keep good throughput.

Of course, this will only works for TCP, but most big packets / long
flows are done on TCP.


Yvan.

> If anyone has any idea why this might happen please shed some light.
> 
> # tcpdump -nttti gif0
> 
> 00:00:00.000000 IP "a.b.c.d" > "e.f.g.h": ICMP echo request, id
> 21034, seq 1, length 1108
> 00:00:43.603248 IP "a.b.c.d" > "e.f.g.h": ICMP echo request, id
> 22826, seq 1, length 1308
> 
> # tcpdump -nttti enc0
> 
> 00:00:00.000000 (authentic,confidential): SPI 0x0d06e35d: IP
> 109.235.79.81 > 193.239.202.174: IP "a.b.c.d" > "e.f.g.h": ICMP echo
> request, id 21034, seq 1, length 1108 (ipip-proto-4)
> 00:00:00.000139 (authentic,confidential): SPI 0x86741d6b: IP
> "e.f.g.h" > "a.b.c.d": ICMP echo reply, id 21034, seq 1, length 1108
> 00:00:00.000006 (authentic,confidential): SPI 0x86741d6b: IP
> 193.239.202.174 > 109.235.79.81: IP "e.f.g.h" > "a.b.c.d": ICMP echo
> reply, id 21034, seq 1, length 1108 (ipip-proto-4)
> 00:00:43.603102 (authentic,confidential): SPI 0x0d06e35d: IP
> 109.235.79.81 > 193.239.202.174: IP "a.b.c.d" > "e.f.g.h": ICMP echo
> request, id 22826, seq 1, length 1308 (ipip-proto-4)
> 
> # tcpdump -nttti vlan103 host "a.b.c.d"
> 
> 00:00:00.000000 IP "a.b.c.d" > "e.f.g.h": ICMP echo request, id
> 21034, seq 1, length 1108
> 00:00:00.000109 IP "e.f.g.h" > "a.b.c.d": ICMP echo reply, id 21034,
> seq 1, length 1108
> 
> Thanks,
> 
> -- 
> Andrei
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150123141337.GA13989>