Is there nobody with a config that allows pmtu discovery with ipsec?
On Fri, Jul 06, 2012 at 04:49:31PM +0200, Remi Locherer wrote:
> Hi misc@
>
> We got notice from a customer who connects to us through an ipsec tunnel
> that loading websites on our site is really slow. On our site we use
> OpenBSD 5.0 i386 as ipsec gateway. On the other site of the VPN is a Linux
> StrongSwan gateway.
>
> Our analysis showed that our webserver starts sending packages with an
> mtu of 1500. The OpenBSD ipsec gateway then drops the package and
> returns an icmp unreachable "fragmentation needed" with mtu next hop set
> to 0. The webserver then starts again sending the packages but with mtu
> 576.
>
> As a workaround we added this to our pf rules:
> match on enc0 scrub (max-mss 1334)
>
> Searching the mailing list I found this thread which describes the same
> problem with a different workaround:
> http://marc.info/?l=openbsd-misc&m=133677069826075&w=2
>
> Is there a recommended configuration that allows PMTU discovery?
>
> I tried to understand why the OpenBSD gateway returns a next-hop mtu 0.
> In ip_input.c I found the code that gets the mtu from the next interface
> (line 1579). But the enc0 interface has no mtu. There is a "#define ENCMTU
> 1536" in if_enc.h but that is not used in if_enc.c.
>
> RFC 1191 (Path MTU Discovery) chapter 4 says this about the Next-Hop MTU
> field in the ICMP message:
>
> To support the Path MTU Discovery
> technique specified in this memo, the router MUST include the MTU of
> that next-hop network in the low-order 16 bits of the ICMP header
> field that is labelled "unused" in the ICMP specification [7].
> ...
> This field will never contain a value less than 68, since every
> router "must be able to forward a datagram of 68 octets without
> fragmentation"
>
>
> Remi