I think I may have sorted it out.
This
was my dhclient.conf:
Code:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "srv1";
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
No specific interfaces are named in here. I had /etc/network/interfaces set up to assign a static IP to eth0 and use DHCP for eth1. As I said in an earlier post, I've been using this configuration for years and not had any problems. I guess dhclient was somehow aware of the interfaces file and worked accordingly, or perhaps it was just a fluke. Regardless, I think the kernel update I downloaded last week must have changed the way dhclient works and it is now completely ignorant of the interfaces file.
The man page for dhclient.conf says that if you specify settings for an interface, it will ignore any interfaces not explicitly set up in dhclient.conf. What it doesn't say, what I've figured out based on a bit of trial and error, is that if there aren't any specific interfaces set up in dhclient.conf, it will apply those settings to all interfaces on the system.
I manually ran dhclient and it assigned 58.32 to eth0.
Then I changed dhclient.conf to read like this:
Code:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "srv1";
interface "eth1"{
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
}
Now it specifically mentions eth1 and nothing else.
I manually ran dhclient and it didn't reconfigure eth0. It left it alone and happy with it's static IP.
So I think what's been happening is the lease for eth1 was running out about every 24 hours and dhclient was kicking on to renew it. Since no specific interface is mentioned in dhclient.conf, it was configuring every interface on the system, rather than just eth1.
I'll see how it does tonight and if all is well tomorrow, I'll mark this thread as solved.
Bookmarks