2016-01-13 11:37:51 |
Alexey Zagarin |
bug |
|
|
added bug |
2016-03-22 17:00:39 |
Launchpad Janitor |
network-manager (Ubuntu): status |
New |
Confirmed |
|
2016-03-22 17:00:42 |
TJ |
bug |
|
|
added subscriber TJ |
2016-03-30 19:30:54 |
TJ |
network-manager (Ubuntu): importance |
Undecided |
High |
|
2016-03-30 19:31:22 |
TJ |
bug task added |
|
isc-dhcp (Ubuntu) |
|
2016-03-30 19:31:45 |
TJ |
isc-dhcp (Ubuntu): importance |
Undecided |
High |
|
2016-03-30 19:31:45 |
TJ |
isc-dhcp (Ubuntu): status |
New |
Triaged |
|
2016-03-30 23:14:53 |
TJ |
network-manager (Ubuntu): status |
Confirmed |
Triaged |
|
2016-03-31 00:50:22 |
TJ |
attachment added |
|
Network Manager TRACE debug log https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1533631/+attachment/4617754/+files/nm-debug.log |
|
2016-03-31 11:07:07 |
TJ |
isc-dhcp (Ubuntu): importance |
High |
Low |
|
2016-03-31 11:07:26 |
TJ |
isc-dhcp (Ubuntu): status |
Triaged |
Invalid |
|
2016-03-31 12:04:06 |
TJ |
bug watch added |
|
https://bugzilla.gnome.org/show_bug.cgi?id=748268 |
|
2016-03-31 12:04:06 |
TJ |
bug task added |
|
network-manager |
|
2016-03-31 12:23:58 |
TJ |
description |
After fixing IPv6 address assignment (#1469346), IPv6 works fine until sleep. On wake up ubuntu fails to renew its IPv6 lease:
Jan 13 10:47:47 ubuntu dhclient: PRC: Renewing lease on wlp3s0.
Jan 13 10:47:47 ubuntu dhclient: PRC: Rebinding lease on wlp3s0.
Jan 13 10:47:47 ubuntu dhclient: XMT: Rebind on wlp3s0, interval 9890ms.
Jan 13 10:47:47 ubuntu NetworkManager[796]: <info> (wlp3s0): DHCPv6 state changed bound -> unknown
Jan 13 10:47:47 ubuntu dhclient: PRC: Address 2a02:xxxx:xxxx:xxxx::b44 depreferred.
Jan 13 10:47:47 ubuntu NetworkManager[796]: <info> (wlp3s0): DHCPv6 state changed unknown -> expire
Jan 13 10:47:47 ubuntu NetworkManager[796]: <info> (wlp3s0): canceled DHCP transaction, DHCP client pid 1170
Jan 13 10:47:47 ubuntu NetworkManager[796]: <info> (wlp3s0): DHCPv6 state changed expire -> done
I'm not sure that it's solely NetworkManager issue (dhclient could also be affected). |
Network Manager summarily kills the IPv6 dhclient process when the DHCPv6 lease contained in the dhclient6-${UUID}.lease file is out-of date, leaving the IPv6 interface without a stateful IPv6 address, or, if the "require IPv6 address on this interface" option is enabled, causes NM to cycle continuously deactivating and reactivating the interface (including the IPv4 addresses).
This is effectively a Denial Of Service. It can be trivially induced if, for example, the dhclient6-$(UUID}.lease file contains a lease that was issued before the user went away on vacation or the PC wasn't connected to the same network for a few days (depending on the lease renew/rebind/expiry times). Calculation on the old lease of
start + preferred_lifetime < NOW
triggers dhclient to 'DEPREFER6' the lease (withdraw the address record) and ask the DHCPv6 server for a new lease, but Network Manager will kill the dhclient because it only sees an 'EXPIRE6' state change.
In summary, when the DHCPv6 state transitions from "bound" to "unknown" then "expire" to "done" Network Manager kills the 'dhclient' process before it has chance to request and bind a fresh lease, If 'dhclient' is run manually with the same command-line options and allowed to continue running it correctly gains a new lease.
Network Manager doesn't know how to handle "DEPREF6", which is sent from isc-dhcp dhclient to the helper script (set by "-sf" option).
So it seems that to correctly solve this issue Network Manager must be taught how to handle DEPREF6.
/var/log/syslog will show a message from dhclient of the form:
dhclient: PRC: Address 2a02:8011:2007::2 depreferred. |
|
2016-03-31 12:59:01 |
Bug Watch Updater |
network-manager: status |
Unknown |
Confirmed |
|
2016-03-31 12:59:01 |
Bug Watch Updater |
network-manager: importance |
Unknown |
Medium |
|
2016-03-31 13:18:28 |
TJ |
summary |
Failed to renew DHCPv6 lease after suspend |
dhclient killed when DHCPv6 lease is out-of date |
|
2016-03-31 13:23:55 |
TJ |
network-manager (Ubuntu): assignee |
|
TJ (tj) |
|
2016-03-31 13:23:59 |
TJ |
network-manager (Ubuntu): status |
Triaged |
In Progress |
|
2016-04-01 16:43:49 |
TJ |
isc-dhcp (Ubuntu): status |
Invalid |
In Progress |
|
2016-04-01 16:43:52 |
TJ |
isc-dhcp (Ubuntu): importance |
Low |
High |
|
2016-04-01 16:43:57 |
TJ |
isc-dhcp (Ubuntu): assignee |
|
TJ (tj) |
|
2016-11-14 06:25:54 |
Klaus Kudielka |
bug |
|
|
added subscriber Klaus Kudielka |
2016-12-26 20:01:10 |
Oleg |
bug |
|
|
added subscriber Oleg |
2017-02-20 22:27:18 |
Douglas Thrift |
bug |
|
|
added subscriber Douglas Thrift |
2018-03-16 04:25:30 |
Bug Watch Updater |
network-manager: status |
Confirmed |
Fix Released |
|
2020-10-31 15:53:21 |
Alexey Ermilov |
bug |
|
|
added subscriber Alexey Ermilov |
2024-09-14 09:53:41 |
TJ |
isc-dhcp (Ubuntu): assignee |
TJ (tj) |
|
|
2024-09-14 09:53:44 |
TJ |
network-manager (Ubuntu): assignee |
TJ (tj) |
|
|