The problem I had was not related to netplan, networkd or dhcp client of any 
kind.
I had both my ISP links connected to a VLAN switch DLink DGS-1100-08 and 
multiplexed to a single Linux router interface with different VLAN numbers. 
On Linux side, vlan.NNN interfaces were configured to separate each ISP traffic 
by its VLAN number. 
These interfaces were managed by separate DHCP clients, requesting dynamic IPs 
from their corresponding ISP.
Both ISPs had a policy permitting only a single MAC address to request a DHCP 
lease on a single customer's port. 
And this was combined with the fact that for some Ethernet protocols, DLink 
VLAN switches of this model do not obey VLAN isolation rules. 
In part, among them were DLink's own discovery & loobpack detection protocols 
(Ether.proto number = 0x9000, using multicast MAC addresses prefixed with CF: 
byte). 
My both ISPs had a plenty of DLink hardware in their Ethernet segments, and my 
DLink switch inadvertently served as a bridge for DLink discovery packets, 
allowing them to fly freely between two VLANs. 
Which of course was detected by each other ISP's policy as 'stray MACs' on a 
single customer port, and caused my real MAC to be temporarily kicked out from 
their valid MAC set, which subsequently caused DHCP lease loss.
What resolved by problem once and for all, was installing dual-port PCIe 
Gigabit Ethernet adapter into my Linux router and physically plugging my ISP 
links into its separate ports.
Detailed discussion can be seen at 
http://forums.dlink.com/index.php?topic=74704.0

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1776013

Title:
  systemd-networkd: DHCP lease lost (Ubuntu 18.04)

Status in systemd package in Ubuntu:
  Invalid

Bug description:
  I have a Linux router whose external Ethernet interface is configured from 
ISP's DHCP server.
  After its migration from Ubuntu 16.04 + ifupdown + isc-dhcp-client to Ubuntu 
18.04 + netplan.io + systemd-networkd, I noticed that systemd-networkd plays 
overly fairly when it can not get a timely renew response from ISP's DHCP 
server: it honestly removes the dynamic IP from the interface and restores 
(often the same) IP only when ISP's DHCP server gives it a proper response 
again. Which causes 1..5-minute pauses in Internet availability since my ISP's 
DHCP server is for some reason flaky, i.e. it can become unresponsive for some 
periods of time. I never noticed this problem with isc-dhcp-client, and started 
noticing it only after migrating DHCP client role to systemd-networkd.
  The question is, can I (or you) make systemd-networkd DHCP client behave more 
relaxedly ?
  I know that most DHCP clients (isc-, pump, dhcpcd) at some stage of their 
development decided to implement such relaxed logic, i.e. to keep 
last-configured dynamic IP on the interface despite the lack of responses from 
DHCP server. As this is easier to implement than to make ISP staff fix their 
services, I would suppose there should be some knob in systemd-networkd 
settings. Or, at least, an idea to implement something similar in the future.

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

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to