From: Trevor Cordes trevor@tecnopolis.ca Date: November 27, 2006 12:43:54 PM CST (CA) To: roundtable@muug.mb.ca Subject: [RndTbl] Shaw & dhclient
For a few weeks I've been seeing strange behaviour with dhclient/ dhcp and Shaw. Wondering if anyone else has seen this:
Once a week or so, usually on Sun or Mon, my FC5 box firewall/ router will lose its connection to Shaw. ifconfing will show eth0 up with an IP address, but no traffic will come in or out. Normally, that's a "Shaw is down" symptom. But if I ifdown eth0; ifup eth0, then instantly everything is ok again. And my IP address stays the same.
It's almost like dhclient isn't keeping Shaw's DHCP server happy and they're cutting me off until I say, "hey, I'm still here" with a ifup kick.
I've been seeing this for MONTHS.
Tried calling support a few times on this with only response of 'that's weird'. There was/is signal issues to my apartment complex but that has nothing to do with this issue. There are other people in my office with the exact same issue to which the only non-annoying fix was to renew the DHCP lease.
To me it looks like the DHCP lease expires before the expiry date and the timing is random though proportional to use. Mild use, the link drops once every few hours. Heavy use in an interval and it can drop every 5 - 15 minutes.
Either a heartbeat isn't working or the DHCP server is not expiring leases properly. I know (well as much as someone outside the black box can know) it is DHCP as once you renew the leases, TCP sessions restore without hang up or close states (ie. ssh sessions, ftp transfers). I see no other corruption other than the recently 'standard' latency being inversely proportional to upstream throughput. Since shaw is using 'semi-static' ip leasing this seems the simplest and most logical explanation.
You can override in /etc/dhclient.conf but I have no clue if that will work. interface sis0 { send dhcp-lease-time 300; }
What has annoyed me the least was backgrounding the following: #!/bin/sh while true; do dhclient sis0; sleep 300; done
You shouldn't have to do either but it has 'fixed' the issue for me.