[Bug 1860926] Re: Ubuntu 20.04 Systemd fails to configure bridged network
Launchpad Bug Tracker
1860926 at bugs.launchpad.net
Thu May 14 18:37:31 UTC 2020
This bug was fixed in the package systemd - 245.5-2ubuntu2
---------------
systemd (245.5-2ubuntu2) groovy; urgency=medium
[ Dan Streetman ]
* network: Change IgnoreCarrierLoss default to value of ConfigureWithoutCarrier.
This fixes bridges with static IP configuration. (LP: #1860926)
File: debian/patches/lp1860926-network-Change-IgnoreCarrierLoss-default-to-value-of.patch
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=59d655136ca05d830d46e5cd90e6b549406cd670
* Cherry-pick fix from upstream master to adjust UseGateway= default
- network: change UseGateway= default to UseRoutes= setting
- network: honor SetDNSRoutes= even if UseGateway=False (LP: #1867375)
Files:
- debian/patches/network-change-UseGateway-default-to-UseRoutes-setting.patch
- debian/patches/network-honor-SetDNSRoutes-even-if-UseGateway-False.patch
- debian/patches/test-modify-add-tests-for-UseRoutes-and-UseGateway-config.patch
- debian/patches/test-verify-RoutesToDNS-is-independent-of-UseGateway.patch
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=4ddb639d6bb0ca07368348bc588c21c41f08a5e7
* refresh quilt patches
[ Balint Reczey ]
* Rename a few patches which are expected to stay longer in Ubuntu
Files:
- debian/patches/Revert-cgroup-Continue-unit-reset-if-cgroup-is-busy.patch
- debian/patches/Revert-namespace-be-more-careful-when-handling-namespacin.patch
- debian/patches/resolved-Mitigate-DVE-2018-0001-by-retrying-NXDOMAIN-with.patch
- debian/patches/debian/UBUNTU-Revert-cgroup-Continue-unit-reset-if-cgroup-is-busy.patch
- debian/patches/debian/UBUNTU-Revert-namespace-be-more-careful-when-handling-namespacin.patch
- debian/patches/debian/UBUNTU-resolved-Mitigate-DVE-2018-0001-by-retrying-NXDOMAIN-with.patch
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=41e97add3900c761fafc58c7a2b024f7b618d313
* test: Skip test-boot-timestamps on permission denied.
This fixes root-unittests in unprivileged LXD containers
File: debian/patches/test-Skip-test-boot-timestamps-on-permission-denied.patch
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=b98a63c04e9e82b0f57617e21233aa103b069785
* tests: Skip test-execute in containers
File: debian/tests/root-unittests
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=2d6f282bf20866f711c6ae509228b0c513218ca9
* Run some tests in LXD, too
Files:
- debian/tests/control
- debian/tests/tests-in-lxd
https://git.launchpad.net/~ubuntu-core-dev/ubuntu/+source/systemd/commit/?id=bf0bb5176284d9ec1b348b84e70f961ee12e3cac
-- Balint Reczey <rbalint at ubuntu.com> Tue, 12 May 2020 16:59:54 +0200
** Changed in: systemd (Ubuntu Groovy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1860926
Title:
Ubuntu 20.04 Systemd fails to configure bridged network
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Bionic:
In Progress
Status in systemd source package in Eoan:
In Progress
Status in systemd source package in Focal:
Fix Committed
Status in systemd source package in Groovy:
Fix Released
Bug description:
[impact]
A bridged interface with static ipv4 address and gateway configuration
will fail to properly add the route via the gateway, leaving the
system without a globally working network.
[test case]
On a Focal system, remove all network configuration and create this
netplan:
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: false
bridges:
br0:
interfaces: [enp4s0]
dhcp4: no
addresses: [192.168.0.4/24]
gateway4: 192.168.0.1
nameservers:
search: [mydomain]
addresses: [192.168.0.1,192.168.0.2,192.168.0.3]
Replace the interface name 'enp4s0' with the actual interface name on
the test system.
Reboot the system, and check the route to the gateway, which will be
missing:
root at lp1860926-f:~# ip r
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.4
The route is expected to be present, e.g.:
ubuntu at lp1860926-e:~$ ip r
default via 192.168.0.1 dev br0 proto static
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.4
[test case, pre-focal]
same netplan as above, but remove ethernets: section. Reboot, and the
bridge should have its address and route:
ubuntu at test-e:~$ ip a show br0
3: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 56:11:da:23:bb:93 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.4/24 brd 192.168.0.255 scope global br0
valid_lft forever preferred_lft forever
ubuntu at test-e:~$ ip r
default via 192.168.0.1 dev br0 proto static linkdown
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.4 linkdown
add and remove carrier, by adding and removing a slave interface:
ubuntu at test-e:~$ sudo ip l set dev ens3 master br0 up
ubuntu at test-e:~$ ip a show br0
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 56:11:da:23:bb:93 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.4/24 brd 192.168.0.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::5411:daff:fe23:bb93/64 scope link
valid_lft forever preferred_lft forever
ubuntu at test-e:~$ sudo ip l set dev ens3 nomaster
the bridge no longer has its address after losing carrier:
ubuntu at test-e:~$ ip a show br0
3: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 56:11:da:23:bb:93 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5411:daff:fe23:bb93/64 scope link
valid_lft forever preferred_lft forever
[regression potential]
Any regression would likely involve incorrectly configured network
after an interface carrier gain/loss.
[scope]
This is needed for Focal, Eoan, and Bionic.
While this only reproduces at boot for Focal, the general loss of
configuration on carrier loss even when ConfigureWithoutCarrier=true
is reproducable on all releases except Xenial, which does not have the
ConfigureWithoutCarrier= parameter.
[original description]
Freshly installed Ubuntu 20.04 fully patched to days date with static
IP address works fine and survives a reboot
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: false
addresses: [192.168.0.4/24]
gateway4: 192.168.0.1
nameservers:
search: [mydomain]
addresses: [192.168.0.1,192.168.0.2,192.168.0.3]
however when converted to a bridged network for kvm
network:
version: 2
renderer: networkd
ethernets:
enp4s0:
dhcp4: false
bridges:
br0:
interfaces: [enp4s0]
dhcp4: no
addresses: [192.168.0.4/24]
gateway4: 192.168.0.1
nameservers:
search: [mydomain]
addresses: [192.168.0.1,192.168.0.2,192.168.0.3]
will not survive a reboot and required systemd-network to be restarted or
@reboot /usr/sbin/netplan apply
added to the crontab
after a reboot the network can not b eaccseed and a
systemctl status systemd-networkd produces
systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-01-26 16:36:28 UTC; 2min 27s ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 979 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 57662)
Memory: 4.1M
CGroup: /system.slice/systemd-networkd.service
└─979 /lib/systemd/systemd-networkd
Jan 26 16:38:02 firebolt systemd-networkd[979]: rtnl: received neighbor for link '5' we don't know about, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link UP
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Gained carrier
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: Link UP
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link DOWN
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Lost carrier
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Kernel removed an address we don't remember: fe80::5054:ff:fed9:7e26/64 (valid forever), ignoring.
systemctl restart systemd-networkd resolved the issue and a
systemctl status systemd-network producessystemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-01-26 16:39:28 UTC; 41s ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 1650 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 57662)
Memory: 1.6M
CGroup: /system.slice/systemd-networkd.service
└─1650 /lib/systemd/systemd-networkd
Jan 26 16:39:28 firebolt systemd[1]: Starting Network Service...
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev ready
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: Gained IPv6LL
Jan 26 16:39:28 firebolt systemd-networkd[1650]: Enumeration completed
Jan 26 16:39:28 firebolt systemd[1]: Started Network Service.
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev exists, using existing without changing its parameters
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: IPv6 successfully enabled
a journalctl -u systemd-network produces
Jan 26 16:36:28 firebolt systemd[1]: Starting Network Service...
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: netdev ready
Jan 26 16:36:28 firebolt systemd-networkd[979]: Enumeration completed
Jan 26 16:36:28 firebolt systemd-networkd[979]: wlp3s0: Interface name change detected, wlp3s0 has been renamed to wlan0.
Jan 26 16:36:28 firebolt systemd[1]: Started Network Service.
Jan 26 16:36:28 firebolt systemd-networkd[979]: wlan0: Interface name change detected, wlan0 has been renamed to wlp3s0.
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: IPv6 successfully enabled
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Link UP
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Gained carrier
Jan 26 16:36:28 firebolt systemd-networkd[979]: enp4s0: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:36:28 firebolt systemd-networkd[979]: enp4s0: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Lost carrier
Jan 26 16:36:28 firebolt systemd-networkd[979]: enp4s0: Link UP
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Gained carrier
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Could not set route: Network is unreachable
Jan 26 16:36:28 firebolt systemd-networkd[979]: br0: Failed
Jan 26 16:36:30 firebolt systemd-networkd[979]: br0: Lost carrier
Jan 26 16:36:31 firebolt systemd-networkd[979]: enp4s0: Gained carrier
Jan 26 16:36:31 firebolt systemd-networkd[979]: br0: Gained carrier
Jan 26 16:38:02 firebolt systemd-networkd[979]: rtnl: received neighbor for link '5' we don't know about, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: rtnl: received neighbor message with invalid family, ignoring.
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link UP
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Gained carrier
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0: Link UP
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Link DOWN
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Lost carrier
Jan 26 16:38:02 firebolt systemd-networkd[979]: virbr0-nic: Kernel removed an address we don't remember: fe80::5054:ff:fed9:7e26/64 (valid forever), ignoring.
Jan 26 16:39:28 firebolt systemd[1]: Stopping Network Service...
Jan 26 16:39:28 firebolt systemd[1]: systemd-networkd.service: Succeeded.
Jan 26 16:39:28 firebolt systemd[1]: Stopped Network Service.
Jan 26 16:39:28 firebolt systemd[1]: Starting Network Service...
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev ready
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: Gained IPv6LL
Jan 26 16:39:28 firebolt systemd-networkd[1650]: Enumeration completed
Jan 26 16:39:28 firebolt systemd[1]: Started Network Service.
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: netdev exists, using existing without changing its parameters
Jan 26 16:39:28 firebolt systemd-networkd[1650]: br0: IPv6 successfully enabled
the network should restart properly after a reboot liek in earlier
version of ubuntu 18.04 for example
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1860926/+subscriptions
More information about the foundations-bugs
mailing list