masquerading won't flush conntrack cache

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

 



Hi everyone,

I'm having a strange problems with masquerading.
I'm masquerading my traffic, which leaves my machine through ppp0 on a
dialup line.
When UDP packets leave my machine on the ppp0 interface, an
appropriate entry is created in the conntrack cache
(/proc/net/ip_conntrack). As the remote machine replies to these UDP
packets, the conntrack module sees them as a stream and therefore
increases the timeout to 180 seconds.
However, when my line gets disconnected and reconnects again, the
entries in the cache are not flushed as expected. Now, the
masquerading of outbound traffic is done improperly. The outgoing
packets use the OLD IP-address, which was valid before the
disconnection of the dialup line and not the new one. When I look into
/proc/net/ip_conntrack I can still see the old and now invalid entries
being refreshed every time the internal machine tries to reach the
external one with these UDP packets. As it is clear, that no response
is possible, the internal machine tries endless and the entry in the
conntrack cache never times out --> an endless loop.
Any idea, why the entries are not flushed when ppp0 goes down and up again?

Thanks.
Michael.


[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