martin.rosenmueller at gmx
Jul 19, 2007, 12:21 AM
Post #1 of 1
Possible bug in conntrack
we are planning to build a loadsharing cluster of nodes based on
iptables CLUSTERIP target.
In our tests some real strange things happended.
For simplicity i will explain the problem with only one active node in
My configuration on the cluster node was:
- eth0 had 172.16.29.121 (real ip of the node)
- eth0:1 had 172.16.29.200 (virtual cluster ip)
- the clustered service was tcp port 80 (http) (other ports didn't work
- please find my firewall-configuration script attached
- the firewall works as follows:
- first the stateful rule match ctstate in state ESTABLISHED, RELATED
- then the stateful rule match ctstate in state INVALID
- afterwards the CLUSTERIP target rule
- followed by the rule to accept new connections on the virtual
cluster ip on port 80
- finally the clean up rule to drop all traffic that didn't match up
Surely i didn't forget to enter "echo +2
> /proc/net/ipt_CLUSTERIP/172.16.29.200" to accept all cluster traffic
on the only active node, the webserver was running and bind to the real
and the virtual cluster ip.
If you than connect to the cluster on the virtual ip 172.16.29.200 from
a client node on the same net (client has ip 172.16.29.211), you will
almost get no answer (client.pcap). The cluster node seems not to accept
any traffic than the first syn packet, although it answers with syn,ack.
Please see the network dump attached (clusternode.pcap). We have checked
the multicast mac, which seems to be ok. Logging in messages (messages)
is OK, too. All packets arriving the cluster node after the syn packet
are accepted by conntrack in state ESTABLISHED, which also seems to be
OK. In /proc/net/nf_conntrack you see the connection marked as state
Furthermore we tried to enter a static arp entry for the virtual cluster
ip on the client node, that points to the multicast mac. Same result.
But if you statically enter the real mac of the cluster node's interface
on the client node, see there, it works perfectly.
Is that possible a bug in conntrack?