[pkg-dhcp-devel] Bug#771041: Bring down one DHCP interface removes IP address on all DHCP interfaces

Michał Kolczyk michal.kolczyk at open-e.com
Wed Nov 26 09:14:56 UTC 2014


Package: isc-dhcp-client
Version: 4.3.1-4

Dear Maintainer,

I have configured two interfaces eth0 and eth1 using DHCP. They are  
configured in /etc/network/interfaces in following way:

cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

source interfaces.d/*


cat /etc/network/interfaces.d/eth0
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp


cat /etc/network/interfaces.d/eth1
auto eth1
allow-hotplug eth1
iface eth1 inet dhcp


Using two DHCP interfaces I need to get gateway and DNS only from one  
interface. In order to do that I have configured /etc/dhcp/dhclient.conf  
to get this data only for eth0 interface. My configuration file:

cat /etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned  
integer 8;
send host-name = gethostname();

request subnet-mask, broadcast-address, time-offset, host-name,
     interface-mtu, ntp-servers;

interface "eth0" {
     request routers, domain-name-servers, domain-search, domain-name;
}


This configuration works correctly when I call ifup eth0 and ifup eth1. IP  
addresses are obtained correctly, I have correct gateway and DNS. The  
problem appears when I need to bring down eth1 interface. When I call  
ifdown eth1 then eth1 interface is correctly bring down but IP address is  
lost also on eth0 interface after this operation. Output from ifdown eth1  
is following:

Killed old client process
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:1e:8c:b1:1c:6b
Sending on   LPF/eth0/00:1e:8c:b1:1c:6b
Listening on LPF/eth1/00:1b:21:a4:3b:ac
Sending on   LPF/eth1/00:1b:21:a4:3b:ac
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 192.168.176.1 port 67
DHCPRELEASE on eth1 to 192.168.176.1 port 67

It seams that in my configuration DHCPRELEASE is done for not only eth1  
but incorrectly also for eth0. This issue is present only if I have  
interface configuration in /etc/dhcp/dhclient.conf for eth0. Otherwise  
bring down one interface doesn't remove IP address from another one. When  
my /etc/dhcp/dhclient.conf is configured in following way:

cat /etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned  
integer 8;
send host-name = gethostname();

request subnet-mask, broadcast-address, time-offset, host-name,
     interface-mtu, ntp-servers;

Then calling ifdown eth1 doesn't removes IP address from eth0.

When I would like to obtain gateway and DNS for eth1 this issue doesn't  
appears too. In that case my configuration for dhclient looks in following  
way:

cat /etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned  
integer 8;
send host-name = gethostname();

request subnet-mask, broadcast-address, time-offset, host-name,
     interface-mtu, ntp-servers;

interface "eth1" {
     request routers, domain-name-servers, domain-search, domain-name;
}

In this case when I bring down eth0 then IP address is released only from  
this interface, eth1 keeps it's address.

In summary when interface eth0 is configured in dhclient.conf then when  
other DHCP interface is bring down then IP address is incorrectly released  
also on eth0.



More information about the pkg-dhcp-devel mailing list