[Openswan Users] Nasty MTU problem - Please Help
James Muir
muir.james.a at gmail.com
Wed Jan 14 10:33:26 EST 2009
> Sending files from a NetA host to NetB host works fine with scp. Sending a
> file via scp from the same NetB host back to NetA always hangs (or long ssh
> output). If I wireshark the transfer on the G2 internal eth1 I see the
> following packets:
> 10.20.1.10 -> 10.20.0.10 SSHv2 packet len=1448
> 10.20.1.1 -> 10.20.1.10 ICMP Destination unreachable (Fragmentation needed)
> 10.20.1.10 -> 10.20.1.10 SSHv2 packet len-1448
> 10.20.1.1 -> 10.20.1.10 ICMP Destination unreachable (Fragmentation needed)
> 10.20.1.10 -> 10.20.0.10 SSHV2 [TCP Out-of-order] len=1386
> 10.20.1.10 -> 10.20.0.10 SSHv2 [TCP Out-of-order] len=62
>
> 10.20.1.10 -> 10.20.0.10 SSHV2 [TCP Out-of-order] len=1386
> 10.20.1.10 -> 10.20.0.10 SSHv2 [TCP Out-of-order] len=62
> 10.20.0.10 -> 10.20.0.10 TCP [TCP Dup ACK]
>
> (I have saved the whole capture and can include if its needed).
> then similar repeating patterns of 1386 length packets that never make it.
> The ssh packets are flags with don't fragment. Its clear ssh is seeing the
> attempted mtu discovery, but it doesn't seem to be low enough.
>
> If I ping from 10.20.1.10 to 10.20.0.10, a "ping -s 1394" will get through,
> but a "ping -s 1395" wont. Reversing the pings (from 10.20.0.10 to
> 10.20.1.10), anything over 1394 will produce
>>From murdock.foddy.home (10.20.0.1) icmp_seq=1 Frag needed and DF set (mtu =
> 1422)
> before the pings start getting through. Interestingly, if I ssh to G2 then to
> NetB host outside the VPN (normal internet SSH), the transfers never hang.
> So it seems to only be the vpn connections having the problem.
I just dealt with a similar mtu problem and saw many of the same
symptoms you've reported. If you look back in the list archive, then
you can read my messages.
To fix your problem, try the following. On NetB, do
$ tracepath NetA
tracepath does path mtu discovery. Suppose the pmtu value it reports is
1450. Now, setup your tunnel from NetB to NetA. Next, change the mtu
value of eth0 like so:
$ ifconfig eth0 mtu 1450
(I think the command may be slightly different on Redhat/Mandriva.)
Now, test the tunnel by trying to transfer a file using scp.
-James
More information about the Users
mailing list