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