Thomas Preud'homme wrote:
The Friday 18 July 2008 00:24:04 Andrew Sackville-West, you wrote :On Thu, Jul 17, 2008 at 02:30:42PM -0700, Freddy Freeloader wrote:Andrew Sackville-West wrote:On Thu, Jul 17, 2008 at 01:36:43PM -0700, Freddy Freeloader wrote:Andrew Sackville-West wrote:On Thu, Jul 17, 2008 at 11:14:25AM -0700, Freddy Freeloader wrote:[...]I have two NICs. The onboard Marvell and a 3Com 3c905b. The 3Com handles dhcp and dns requests. Both are configured for statically configured IP addresses in /etc/network/interfaces. However, the Marvell will, after some unknown amount of time--less than 12 hours--drop its static IP address and request a dhcp address from the 3Com adapter.[...]probably a killall dhclient will sort it out.[...][I] will give that a try and see if the behavior changes.[...]perhaps some other package is starting dhclient? Basically, if you have both interfaces using static ip, dhclient shouldn't even be started. care to post /etc/network/interfaces?[...]For some reason dhclient WAS running, but I don't know why.if it reappears, try a `ps aux`, maybe there will be a clue there as to where it's coming from. And after a reboot, run watch grep dhclient /var/log/syslog or some equivalent and watch for it to show up.You wouldn't happen to have any guesses on the second problem I listed would you? :)nope, sorry. AYou could also look with a pstree or recompile dhclient with a getppid at the beginning in order to see which process launch dhclient.
I'll try pstree. I hadn't thought of that. These troubleshooting suggestions really don't help explain to me why dhclient would override the settings in /etc/network/interfaces for one NIC and not the other though. And why would it override manual settings? Isn't there some process watching the settings in /etc/network/interfaces to stop just such a thing from happening, or doesn't the driver and device itself record its state so that dhclient wouldn't even attempt this unless there is some type of user override, i.e. ifdown/ifup, /etc/init.d/networking restart, etc... ? There's something going on that I really don't understand here, and just troubleshooting it at the level shown here doesn't seem to me that it will answer my base questions. Can anyone point me to documentation on how this works, because I must be missing something. Why wouldn't restarting networking not have killed dhclient after /etc/network/interfaces was read, the NIC's configured, and all NIC's were configured with a static IP address? Also, I still think there is a driver issue with this as eth1 sent out dhcp requests probably a dozen times (cycles of 6 dhcprequests), received no answers, and then was answered with multiple offers before it finally accepted one of those offers and bound to that address? It seems to me if there were no driver issues involved eth1 would have gotten its dhcp address on the first attempt if this was all related to JUST dhclient. One of the problems with this module in the 2.6.24 kernel was the interface would come up, accept an IP address from /etc/network/interfaces, but it couldn't send or receive anything. This seems to be an extension of that problem.