Re: conntrackd and natted tcp sessions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 18, 2015 at 07:38:12PM +0600, Тен Лев wrote:
> Hello!
> 
> I have a problem running conntrackd in active-active mode. My setup is:
> 2 nat boxes in 2 different data centers - natbox1 and natbox2
> From each DC a single network is broadcasted through BGP, so both
> natboxes have the same IP.
> Behind nat boxes are networks with addresses 10.0.0.0/16 and
> 10.0.1.0/16, and there is a l2 tunnel between them, so all hosts in
> these networks are accessible to each other.
> There are identical servers in both DCs in 10.0/16 networks -server1
> and server2. Let's say the address of one of them is 10.0.1.2 and
> the second has address 10.0.0.2.
> 
> server1 is behind natbox1 and server2 is behind natbox2.
> 
> The problem I am trying to solve is that when server1 sends a TCP
> request (HTTP for example) and the remote server is replying to the
> natbox2 in another DC, instead of natbox1 due to the fact, that it
> is 'closer' to it, the reply should be delivered from natbox2 to
> server1, that initially sent the request through the tunnel between
> natboxes.
> 
> Conntrackd perfectly syncs states and writes them into the kernel
> conntrack tables of natboxes, request gets to the natbox2, but never
> leaves it to server1.
> 
> Everything is working for UDP and ICMP packets. But TCP gets stuck
> on the natbox and never gets sent to the correct server. And also if
> requests and relies go through the same DC TCP connections also
> work.

Did you disable TCP strict tracking? Otherwise the TCP connection
tracker will mark packets as invalid. Another alternative is to
distribute traffic at per-flow level better the active-active cluster,
instead of at per-packet level.

--
To unsubscribe from this list: send the line "unsubscribe netfilter" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux