Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jan 2017 22:07:10 +0100
From:      "Kristof Provost" <kp@FreeBSD.org>
To:        "Bakul Shah" <bakul@bitblocks.com>
Cc:        "Alan Somers" <asomers@freebsd.org>, "FreeBSD Net" <freebsd-net@freebsd.org>
Subject:   Re: pf & NAT issue
Message-ID:  <8146C6B6-3EA6-41A2-9FC7-0304E2128AFF@FreeBSD.org>
In-Reply-To: <20170120205933.8948A124AEA3@mail.bitblocks.com>
References:  <20170120083555.ACCF9124AEA4@mail.bitblocks.com> <7C29D00C-94C0-4550-B1B2-CE307482B544@FreeBSD.org> <CAOtMX2hTcEkw_WzgtcEEipGY391zB=skrk7O=dknRMMG%2BDa%2BBA@mail.gmail.com> <20170120203106.CD2C8124AEA4@mail.bitblocks.com> <FB01B6F5-5269-4FE4-9B22-51A6AA60705E@FreeBSD.org> <20170120205933.8948A124AEA3@mail.bitblocks.com>

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


On 20 Jan 2017, at 21:59, Bakul Shah wrote:

> On Fri, 20 Jan 2017 21:43:33 +0100 "Kristof Provost" <kp@FreeBSD.org> 
> wrote:
>> On 20 Jan 2017, at 21:31, Bakul Shah wrote:
>>>> 11:56:28.168693 IP 192.168.125.7.65042 > 149.20.1.200.21: Flags 
>>>> [P.],
>>>> seq 1:10, ack 55, win 1026, options [nop,nop,TS val 198426 ecr
>>>> 1468113725], length 9
>>> < 11:56:28.168712 IP 173.228.5.8.52015 > 149.20.1.200.21: Flags 
>>> [P.],
>>> seq 3080825147:3080825156, ack 3912707414, win 1026, options
>>> [nop,nop,TS val 198426 ecr 1468113725], length 9
>>>
>>> 	Right here we see the problem. NAT mapping for the
>>> 	port changed from 63716 to 52015.
>>>
>> Changing source ports is an entirely normal NAT behaviour.
>>
>> The best explanation is this: imagine that you have two clients A and 
>> B,
>> both connect to X on port 80 via the NAT gateway G.
>> Both use port 1000 as their source port.
>> A connects, and the gateway maps A:1000 -> X:80 to G:1000 -> X:80.
>> B connects, and now the gateway has to map B:1000 -> X:80 onto G:1000 
>> ->
>> X:80, but then it wouldn't be able to tell the two connections apart.
>> That't can remap it onto G:1001 -> X:80 instead.
>
> It is the same connection!  As a tcp connection is identified
> by <src ip, src port, dst ip, dst port>, If the port number
> changes on the same connection, the remote side would see this
> as a separate connection.

Wait, it changes it within the same connection?
I was reading it as a different connection, in which case that’d be 
quite ok.

It’s of course not OK within one connection lifetime.
I have no idea how that could be happening.
Just in case, have you ever done a memtest on that box?

Regards,
Kristof



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8146C6B6-3EA6-41A2-9FC7-0304E2128AFF>