Bond DHCP fails on Ubuntu Server 20.04 netplan
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I recently installed Ubuntu Server 20.04 to replace an ESXi server. During the installation, I configured a bonded interface for two ethernet interfaces. I configured the bond on my ZyXel GS1900-8 as a static LAG. During the setup process, the link came up successfully and was leased an IP via DHCP.
All subsequent boots have failed to acquire an IP address for the bonded interface. Sometimes, if I allow dhcp4 on the enslaved interfaces, and run sudo dhclient -r && sudo dhclient, the enslaved interfaces will be leased an IP address _and_ the bond will get an IP address. I know this is not proper as dhclient and systemd-networkd do not mix.
Also, I would like to configure this as a LACP bond instead. I have enabled LACP on the switch with priority 65535 and "IP/MAC address" load balancing algorithm, switched the LAG from static to LACP, and altered netplan to use the 802.3ad bond mode.
Please let me know what, if anything, I'm doing wrong here. I've looked around at as many netplan DHCP bond posts here as I could find to no avail. See below for configuration files and command outputs. I cannot give you the output of `lsb_release -rd` as the package is not installed and there's no connection to install it.
$ cat /etc/netplan/
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
eth1:
dhcp4: false
bonds:
bond0:
dhcp4: true
interfaces:
- eth0
- eth1
parameters:
mode: 802.3ad
$ sudo journalctl -b -u systemd-networkd
Dec 14 08:06:47 lore systemd[1]: Starting Network Service...
Dec 14 08:06:47 lore systemd-
Dec 14 08:06:47 lore systemd-
Dec 14 08:06:47 lore systemd[1]: Started Network Service.
Dec 14 08:06:47 lore systemd-
Dec 14 08:06:47 lore systemd-
Dec 14 08:08:53 lore systemd-
Dec 14 08:08:53 lore systemd-
Dec 14 08:08:53 lore systemd-
Dec 14 08:08:53 lore systemd-
Dec 14 08:08:53 lore systemd-
$ sudo ip a
lo: <LOOPBACK,
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred lft forever
inet6 ::1/128 scope host
valid_lft forever preferred lft forever
eno1: <BROADCAST,
link/ether 0c:c4:7a:c6:c3:46 brd ff:ff:ff:ff:ff:ff
eno2: <BROADCAST,
link/ether 0c:c4:7a:c6:c3:47 brd ff:ff:ff:ff:ff:ff
eth0: <BROADCAST,
link/ether 0c:c4:7a:c6:c6:a2 brd ff:ff:ff:ff:ff:ff
eth1: <BROADCAST,
link/ether 0c:c4:7a:c6:c6:a3 brd ff:ff:ff:ff:ff:ff
bond0: <NO-CARRIER,
link/ether 52:8b:2c:cc:a0:15 brd ff:ff:ff:ff:ff:ff
docker0: <NO-CARRIER,
link/ether 02:42:26:1c:1b:39 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker 0
valid_lft forever preferred_lft forever
$ cat /run/systemd/
[NetDev]
Name=bond0
Kind=bond
[Bond]
Mode=802.3ad
$ cat /run/systemd/
[Match]
Name=bond0
[Network]
DHCP=ipv4
LinkLocalAddres
ConfigureWithou
[DHCP]
RouteMetric=100
UseMTU=true
$ cat /run/systemd/
[Match]
Name=eth0
[Network]
LinkLocalAddres
Bond=bond0
$ cat /run/systemd/
[Match]
Name=eth1
[Network]
LinkLocalAddres
Bond=bond0
$ cat /proc/net/
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: down
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
Changed in systemd (Ubuntu): | |
status: | Incomplete → Invalid |
> eth0: <BROADCAST, MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
> eth1: <BROADCAST,
your bonded links are down; nothing will happen until they are brought up.
> $ sudo journalctl -b -u systemd-networkd
...
your pasted log appears incomplete since i see no output for eth0 or eth1; please paste or attach your entire log.