[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