[Bug 1447715] Re: dhclient -6: Can't bind to dhcp address: Cannot assign requested address

Dan Streetman dan.streetman at canonical.com
Fri Apr 20 11:28:21 UTC 2018


Xenial verification:


ubuntu at lp1447715:/etc/network/interfaces.d$ dpkg -l | grep ifupdown
ii  ifupdown                         0.8.10ubuntu1.2                            amd64        high level tools to configure network interfaces

ubuntu at lp1447715:/etc/network/interfaces.d$ grep -A 2 ens7 50-cloud-init.cfg 
auto ens7
iface ens7 inet6 auto
	dhcp 1

ubuntu at lp1447715:/etc/network/interfaces.d$ sudo ip l show ens7
3: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:b0:86:a5 brd ff:ff:ff:ff:ff:ff

ubuntu at lp1447715:/etc/network/interfaces.d$ sudo ifup -v ens7
Parsing file /etc/network/interfaces.d/50-cloud-init.cfg
Configuring interface ens7=ens7 (inet6)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/ifenslave
+ [ inet6 = meta ]
+ IF_BOND_SLAVES=
+ [  ]
+ [  ]
+ [ -z  ]
+ exit
run-parts: executing /etc/network/if-pre-up.d/vlan
/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.

/sbin/sysctl -q -e -w net.ipv6.conf.ens7.accept_ra=2
/sbin/sysctl -q -e -w net.ipv6.conf.ens7.autoconf=1
/bin/ip link set dev ens7 up
/lib/ifupdown/wait-for-ll6.sh
/sbin/dhclient -1 -6 -S -pf /run/dhclient6.ens7.pid -lf /var/lib/dhcp/dhclient6.ens7.leases -I -df /var/lib/dhcp/dhclient.ens7.leases ens7
Failed to bring up ens7.


ubuntu at lp1447715:/etc/network/interfaces.d$ dpkg -l | grep ifupdown
ii  ifupdown                         0.8.10ubuntu1.3                            amd64        high level tools to configure network interfaces

ubuntu at lp1447715:/etc/network/interfaces.d$ grep -A 2 ens7 50-cloud-init.cfg 
auto ens7
iface ens7 inet6 auto
	dhcp 1

ubuntu at lp1447715:/etc/network/interfaces.d$ sudo ip l show ens7
3: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:b0:86:a5 brd ff:ff:ff:ff:ff:ff

ubuntu at lp1447715:/etc/network/interfaces.d$ sudo ifup -v ens7
Parsing file /etc/network/interfaces.d/50-cloud-init.cfg
Configuring interface ens7=ens7 (inet6)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/ifenslave
+ [ inet6 = meta ]
+ IF_BOND_SLAVES=
+ [  ]
+ [  ]
+ [ -z  ]
+ exit
run-parts: executing /etc/network/if-pre-up.d/vlan
/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.

/sbin/sysctl -q -e -w net.ipv6.conf.ens7.accept_ra=2
/sbin/sysctl -q -e -w net.ipv6.conf.ens7.autoconf=1
/bin/ip link set dev ens7 up
/lib/ifupdown/wait-for-ll6.sh
/sbin/dhclient -1 -6 -S -pf /run/dhclient6.ens7.pid -lf /var/lib/dhcp/dhclient6.ens7.leases -I -df /var/lib/dhcp/dhclient.ens7.leases ens7
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ifenslave
+ [ inet6 = meta ]
+ [  ]
run-parts: executing /etc/network/if-up.d/ip
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/upstart


verified.

** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done verification-done-xenial

** Tags removed: sts-sponsor

** Tags removed: patch

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1447715

Title:
  dhclient -6: Can't bind to dhcp address: Cannot assign requested
  address

Status in ifupdown package in Ubuntu:
  Fix Released
Status in ifupdown source package in Xenial:
  Fix Committed
Status in ifupdown package in Debian:
  Fix Released

Bug description:
  [Impact]

  When using dhcpv6 configured via ifupdown, the interface's dhcp client
  fails to start at boot with the error:

  Can't bind to dhcp address: Cannot assign requested address

  This is because ifupdown doesn't wait, after bringing the interface
  up, for it to complete its link-local Duplicate Address Detection
  (DAD), and the dhcp client can't bind to the link-local address
  because it's still in "tentative" state (until DAD completes).

  This is fixed upstream in debian ifupdown in version 0.8.11 by adding
  '-tentative' to the /lib/ifupdown/wait-for-ll6.sh script; before the
  script was only waiting for the link-local address to appear, now it
  waits until the link-local address appears and is not in 'tentative'
  state.

  [Test Case]

  Original test case, before dhclient was fixed:
  Configure an interface, using ifupdown, with dhcpv6 (e.g. iface eth0 inet6 dhcp) and reboot. It will fail to get a dhcp address during boot.

  New test case, showing failure when using dhclient in 'stateless' mode:
  Configure ifupdown like:

  auto eth0
  iface eth0 inet6 auto
    dhcp 1

  When eth0 is down, run 'sudo ifup eth0', and it will fail as dhclient
  fails to start on the interface.

  [Regression Potential]

  As this modifies the wait-for-dad function, its potential for
  regression is to introduce failures in starting dhclient, possibly by
  failing to wait for DAD to complete or due to some other failure in
  the wait for dad function.

  [Other Info]

  After upgrading to Ubuntu 15.04 my computer is unable to obtain an
  IPv6 address via DHCPv6. The root cause is that dhclient is exiting
  with the following message:

  -----------------------------------------------------
  Can't bind to dhcp address: Cannot assign requested address
  Please make sure there is no other dhcp server
  running and that there's no entry for dhcp or
  bootp in /etc/inetd.conf.   Also make sure you
  are not running HP JetAdmin software, which
  includes a bootp server.

  If you think you have received this message due to a bug rather
  than a configuration issue please read the section on submitting
  bugs on either our web page at www.isc.org or in the README file
  before submitting a bug.  These pages explain the proper
  process and the information we find helpful for debugging..

  exiting.
  -----------------------------------------------------

  The problem seems to exist in isc-dhcp-client 4.3.1-5ubuntu2 (15.04
  version) because downgrading to isc-dhcp-client 4.2.4-7ubuntu14 (14.10
  version) allows me to obtain an address.

  NetworkManager is the one launching dhclient. The two invocations (one
  for IPv4 and one for IPv6) are:

  dhclient_start(): running: /sbin/dhclient -d -q -sf
  /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/sendsigs.omit.d
  /network-manager.dhclient-eth0.pid -lf /var/lib/NetworkManager
  /dhclient-c0a3dfde-5c0b-4cef-9c3b-563cfb1fb9d2-eth0.lease -cf
  /var/lib/NetworkManager/dhclient-eth0.conf eth0

  dhclient_start(): running: /sbin/dhclient -d -q -6 -N -sf
  /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/sendsigs.omit.d
  /network-manager.dhclient6-eth0.pid -lf
  /var/lib/NetworkManager/dhclient6-c0a3dfde-5c0b-4cef-9c3b-
  563cfb1fb9d2-eth0.lease -cf
  /var/lib/NetworkManager/dhclient6-eth0.conf eth0

  I do not see anything suspicious with the way both dhclients are
  invoked.

  Given that a downgrade allows me to obtain an IPv6 address I think
  this might be a bug in the ISC DHCP client rather than in
  NetworkManager.

  Related Bugs:
   * bug 1633479: dhclient does not wait for ipv6 dad (duplicate address detection)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1447715/+subscriptions



More information about the foundations-bugs mailing list