Linux 2.4 ipmasq table saturation

EyeMWing

Banned
Jun 13, 2003
15,670
1
0
Running Gentoo with kernel-2.4.26-gentoo-r9

Recently, I became EXTREMELY angry with my router - a light-duty box running the FreeSCO Linux distribution (2.0.somthing kernel). The IP masq table would become saturated very quickly (Between 5 minutes and 12 hours) due to the behavior of a certain file transfer application (We aren't allowed to talk about it in OT, we probably aren't allowed to talk about it here). Due to the highly integrated nature of FreeSCO, this meant my having to go physically reboot the machine (and also reboot the modem, because we were issued a terrifyingly horrible model that only issues a DHCP lease once per power-up, regarldless of mac address)

Due to the fact that I host several (low bandwidth) business functions behind this router, and also run my VoIP line through it, I depend on it's continued functionality.

I evaluated the problem - discussed it with the FreeSCO devs - consulted oracles, sages, prophets, and Jesus himself. The general concensus was "Don't use <file transfer stuff>, or use a newer kernel."

So I grabbed my SQL server and set it up for router duty. After lugging it across the building, plugging it in, rebooting the modem so it'd issue a damn IP, everything seemed to work VERY well. The internet connection seems dozens of times more responsive, and for four days it didn't go down. Unfortunately, about half an hour ago, the problem manifested itself once more.

I attribute the much longer interval to the fact that the FreeSCO router only had 64mb of RAM and no swap - this one has 512mb of RAM and 512mb of swap.

Fortunately, I didn't have to reboot the router - simply stop and restart all network services (and net.eth0 and net.eth1 themselves) - since I was restarting eth1, I also had to reboot the modem so it'd reissue the IP.

In short, the problem still exists in the 2.4 kernel! If it weren't for the fact that the modem has to be rebooted, I could write a cron job that would do this every 24 hours (Though I am hoping that I don't actually HAVE TO restart eth1, I'll check next time the problem manifests)

Assuming I do have to restart eth1, the next stop is 2.6, then FreeBSD, then dishing out the cash for a Cisco product.

Thoughts? Comments?