Discussion:
Bug#773358: isc-dhcp-client: dhclient ipv4 ipv6 dualstack don't work well together
(too old to reply)
Andrew King
2014-12-17 13:10:01 UTC
Permalink
Package: isc-dhcp-client
Version: 4.3.1-5
Severity: normal

Dear Maintainer,

I have a dual-stack home network, with ip6 & ip4 addresses provided by dhcp from my router.
However, by default I cannot get both interfaces to come up correctly

My /etc/dhcp/dhclient.conf is

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
interface "eth0"
{
send host-name = gethostname();
#append domain-name-servers 192.168.178.1;
#append domain-name "fritz.box";
#append domain-search "fritz.box";
#append dhcp6.name-servers 2001:470:xxxxxx; # ip removed
#append dhcp6.domain-search "fritz.box";
supersede domain-name-servers 192.168.178.1;
supersede domain-name "fritz.box";
supersede domain-search "fritz.box";
supersede dhcp6.name-servers 2001:470:xxxxxx; # ip removed
supersede dhcp6.domain-search "fritz.box";
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
}


in /etc/network/interfaces I have (currently)

auto eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp
autoconf 1

In the order specified, the v4 and v6 addresses comes up fine, but the ipv6 dhcp overwrites /etc/resolv.conf (ignores the supersede lines)
In the reverse order (ipv6 first) the v6 address comes up fine (apart from resolv.conf), but the v4 fails
(manually running dhclient -v -4 gives "No broadcast interfaces found - exiting")

The bugs are:
1. dhclient seems to be ignoring the supersede (and/or append) lines (at least for ipv6)
2. dhclient -4 fails when an interface is active with an ipv6 address
3. (my router sends the wrong nameserver for ipv6 - not the subject of this bug though)

For now, I have added a hook in /etc/dhcp/dhclient-exit-hooks.d/ to recreate resolv.conf using the ipv4 nameservers.

Regards,
Andrew

-- System Information:
Debian Release: 8.0
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-3-686-pae (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages isc-dhcp-client depends on:
ii debianutils 4.4+b1
ii iproute2 3.16.0-2
ii isc-dhcp-common 4.3.1-5
ii libc6 2.19-13
ii libdns-export100 1:9.9.5.dfsg-7
ii libirs-export91 1:9.9.5.dfsg-7
ii libisc-export95 1:9.9.5.dfsg-7

isc-dhcp-client recommends no packages.

Versions of packages isc-dhcp-client suggests:
pn avahi-autoipd <none>
pn resolvconf <none>

-- Configuration Files:
/etc/dhcp/dhclient.conf changed [not included]

-- no debconf information
--
To UNSUBSCRIBE, email to debian-bugs-dist-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Luca Capello
2018-12-08 21:50:01 UTC
Permalink
Hi there,
Post by Andrew King
I have a dual-stack home network, with ip6 & ip4 addresses provided by dhcp from my router.
However, by default I cannot get both interfaces to come up correctly
[...]
Post by Andrew King
In the order specified, the v4 and v6 addresses comes up fine, but the ipv6 dhcp overwrites /etc/resolv.conf (ignores the supersede lines)
[...]
Post by Andrew King
For now, I have added a hook in /etc/dhcp/dhclient-exit-hooks.d/ to recreate resolv.conf using the ipv4 nameservers.
I guess the interaction between the two dhclient (IPv4 and IPv6) was
buggy, given that while setting up my fiber7.ch dual-stack home
connection I ended up with a similar problem, but with the "prepend"
option.

Basically, if you specify both...

prepend domain-name-servers 127.0.0.1;
prepend dhcp6.name-servers ::1;

...the first prepend (i.e. the IPv4 one) does not work.

The prepend issue is an upstream bug which should be fixed in 4.4.0
(only available in experimental, currently at 4.4.1-1):

<https://bugzilla.redhat.com/show_bug.cgi?id=643890#c10>

Thx, bye,
Gismo / Luca

Loading...