Yes, thank you Weitse as well, sorry for the omission!

Best Regards

On Tue, May 14, 2019 at 3:20 PM j...@voipsupport.it <j...@voipsupport.it>
wrote:

> Frank
>
> Credit to Weitse who noticed the strange TSval in the pcap.
>
> It does look like an issue with Checkpoint. Good thing is this is
> reproducible.
>
> John
>
>
> -------- Messaggio originale --------
> Oggetto: Re: AWS timeout
> Da: Frank Hare
> A: John Fawcett
> CC: postfix-users@postfix.org
>
>
> John,
>
> Wow, good one dude! Turning off tcp timestamps on the client instantly
> fixed it. So I guess I bring this to Checkpoint Support and see what they
> say, THAT should be fun.
>
> Thanks!
>
> On Tue, May 14, 2019 at 3:02 AM John Fawcett <j...@voipsupport.it> wrote:
>
>> On 14/05/2019 01:27, Wietse Venema wrote:
>> > Wietse Venema:
>> >> If you look at the non-VPN captures, then you will see the following:
>> >>
>> >> - In one trace, we see a client ACK 138, followed by a client packet
>> >>   with ".<CR><LF>" (data 443:446, ACK 138, and a timestamp field
>> >>   tht is unlike those of al other packets in the stream).
>> >>
>> >> - In the other trace, we see that the ACK and ".<CR><LF>" packets
>> >>   are sent as one packet, with a normal timestamp field.
>> >>
>> >> - After this, the TCP connection is messed up, the server keeps
>> >>   transmitting "Queued as xxx", and the client keeps transmitting
>> >>   QUIT.
>> >>
>> >> This looks like the VPN mucks with TCP and screws up the protocol.
>> > I verified this another time. On the SMTP client side, there is one
>> packet,
>> > and on the SMTP server side there are two.
>> >
>> > Here is a diff -U output for client-side and server-side pcap files.
>> >
>> > -TIMESTAMP IP 10.110.2.9.33256 > 10.1.3.134.smtp: Flags [P.], seq
>> 443:446, ack 1
>> > 38, win 211, options [nop,nop,TS val 2968348176 ecr 687501956], length
>> 3: SMTP:
>> > .
>> > +TIMESTAMP IP 10.110.2.9.33256 > 10.1.3.134.smtp: Flags [.], ack 138,
>> win 211, o
>> > ptions [nop,nop,TS val 2968348176 ecr 687501956], length 0
>> > +TIMESTAMP IP 10.110.2.9.33256 > 10.1.3.134.smtp: Flags [P.], seq
>> 443:446, ack 138, win 211, options [nop,nop,TS val 1 ecr 0], length 3:
>> SMTP: .
>> >
>> > On the client side we see that the client sends one TCP packet with
>> > three data bytes (offset 443:446, content ".<CR><LF>"), an ACK for
>> > server offset 138, and Timestamp Value 2968348176 and Timestamp
>> > Echo Reply 687501956.
>> >
>> > On the server side we see that the server receives two TCP packets.
>> >
>> > - One packet with the same ACK for server offset 138, and the same
>> > Timestamp Value 2968348176 and Timestamp Echo Reply 687501956, as
>> > the client sent, but no data bytes.
>> this looks like a duplicate ACK that was generated on the server side
>> VPN node.
>> > - One packet with the same ACK for server offset 138, and the same
>> > three data bytes as the client sent, but with a Timestamp Value of
>> > 1 and a Timestamp Echo Reply of 0.
>>
>> The TSval of 1 was generated on the server side VPN node. Seems that the
>> packet is accepted anyway on the server because we can see that Postfix
>> responds to that. When the next packet containing the QUIT command comes
>> throught the TSVal has jumped back to the original clock sequence (as
>> generated on the client) 2968348359. I can't see why the Linux kernel
>> would reject that jump, but maybe it's happening on a lower level.
>>
>> I'd suggest looking into potential bugs in the tcp/ip stack of the vpn
>> node when it generates a TSval of 1 on that packet.
>>
>> Another possibility would be to see if turning off tcp timestamps on the
>> client solves it (systctl net.ipv4.tcp_timestamps=0). I'm not sure I'd
>> leave it that way, but could be useful to test it.
>>
>> >
>> > And from here on TCP appears to be stuck. The server repeatedly
>> > sends "Ok: queued as 58CE8C0058<CR><LF>" and the client repeatedly
>> > sends "QUIT<CR><LF>".
>> >
>> > Anyway, something is breaking TCP and it isn't Postfix. Maybe the
>> > VPN is trying to be too smart, maybe something in your TCP stack
>> > is trying to shape traffic and messing up.
>> >
>> >       Wietse
>>
>>
>>

Reply via email to