conntrackd and natted tcp sessions

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

 



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.

I am running Ubuntu 14.04.3 LTS on Linux natbox2.reg.ru 3.13.0-61-generic. All server are KVM virtual machines.

Thanx in advance!

leo
leo.ten@xxxxxxxxx
--
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