Subject: Re: bug in tcp?

From: Sebastian Kuzminsky <[email-masked]>
Date: Tue, 17 Apr 2007 07:56:26 -0600

Philip Craig <[email-masked]> wrote:
> Sebastian Kuzminsky wrote:
> > Weird.  Why does sending a message from the client make it go again?
> 
> The rule that allows packets with an "ESTABLISHED" state only matches
> packets for which the connection is in netfilter's conntrack table.
> The connection is removed from the table after the 5 days of idle.
> It is only added again if netfilter accepts a packet for that connection.
> So the packet from the client will cause it to be added.

Why did the packet from the client cause the connection to be added back
to the conntrack table, but the packet from the server did not?

> > How do people normally handle this?
> 
> Change the timeout or use keepalives.  I can't think of any other way.
> The 5 days is a compromise between keeping valid connections and
> timing out dead connections.  There will always be connections for
> which it times out too fast or too slow.  I don't think there are
> any drawbacks to increasing the timeout if you aren't a router,
> but as long as there is a timeout, you need keepalives to be sure.

Thanks!  I'll add keepalives and rerun the tests, and I expect the
problem to go away.

-- 
Sebastian Kuzminsky