@pedersen-larserik, @zagarin, can either of you could test your netplan
config on 19.10 (Eoan) to verify things work for you there?
** Description changed:
+ [impact]
+
+ a systemd-networkd configuration that uses ipv4 dhcp but ignores the
+ dhcp-provided route, and instead sets up a static route, and also does
+ not include a static ipv4 address, fails to actually create the static
+ route.
+
+ This is due to networkd attempting to set up the static route before the
+ dhcp ipv4 address is assigned, and the kernel does not allow creation of
+ the route before setting up corresponding ipv4 address.
+
+ this results in a network that does have the dhcp-provided ipv4 address,
+ but is missing both its dhcp-provided route (because networkd is
+ configured to ignore it) and the static route (because networkd was not
+ able to create it).
+
+ [test case]
+
+ (remove or unconfigure netplan, so it will not conflict with this manual
+ networkd configuration)
+
+ create a networkd config file, e.g.:
+
+ $ cat /etc/systemd/network/10-eth0.network
+ [Match]
+ Name=eth0
+
+ [Network]
+ DHCP=ipv4
+
+ [Route]
+ Destination=10.0.0.0/8
+ Gateway=10.202.51.1
+
+ [DHCP]
+ UseRoutes=false
+
+
+ then *reboot* the system, and check that the static route was not applied:
+
+ $ ip r
+ 10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.254
+
+
+ note that because networkd does not remove ipv4 addresses that it manages
(including dhcpv4 addresses), restarting networkd after the initial boot
+ will correctly create the static route, e.g.:
+
+ ubuntu@lp1836695-b:~$ ip r
+ 10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.254
+ ubuntu@lp1836695-b:~$ sudo systemctl restart systemd-networkd
+ ubuntu@lp1836695-b:~$ ip r
+ 10.0.0.0/8 via 10.202.51.1 dev eth0 proto static
+ 10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.254
+
+ [regression potential]
+
+ adjusting how networkd works always carries the risk of breaking
+ networking.
+
+ TBD detailed regression potential after analyzing fix.
+
+ [other info]
+
+ original description:
+
+ --
+
+
Consider the following setup:
network:
- version: 2
- renderer: networkd
- ethernets:
- ens4:
- dhcp-identifier: mac
- dhcp4: yes
- dhcp4-overrides:
- use-dns: no
- use-ntp: no
- send-hostname: no
- use-hostname: no
- use-routes: no
- routes:
- - to: 10.0.0.0/8
- via: 10.50.0.1
- optional: true
+ version: 2
+ renderer: networkd
+ ethernets:
+ ens4:
+ dhcp-identifier: mac
+ dhcp4: yes
+ dhcp4-overrides:
+ use-dns: no
+ use-ntp: no
+ send-hostname: no
+ use-hostname: no
+ use-routes: no
+ routes:
+ - to: 10.0.0.0/8
+ via: 10.50.0.1
+ optional: true
Thus I only need to get the IP address by DHCP, then add some static
routes. This setup doesn't work. Apparently `routes` keyword only works
when using static addresses.
** Summary changed:
- Netplan ignores static routes when using DHCP
+ systemd fails to setup static routes at boot when using DHCP
** Also affects: systemd (Ubuntu Bionic)
Importance: Undecided
Status: New
** Also affects: systemd (Ubuntu Eoan)
Importance: High
Status: New
** Also affects: systemd (Ubuntu Disco)
Importance: Undecided
Status: New
** Changed in: systemd (Ubuntu Eoan)
Status: New => Fix Released
** Changed in: systemd (Ubuntu Eoan)
Importance: High => Medium
** Changed in: systemd (Ubuntu Bionic)
Importance: Undecided => Medium
** Changed in: systemd (Ubuntu Bionic)
Status: New => In Progress
** Changed in: systemd (Ubuntu Bionic)
Assignee: (unassigned) => Dan Streetman (ddstreet)
** Changed in: systemd (Ubuntu Disco)
Importance: Undecided => Medium
** Changed in: systemd (Ubuntu Disco)
Status: New => In Progress
** Changed in: systemd (Ubuntu Disco)
Assignee: (unassigned) => Dan Streetman (ddstreet)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1836695
Title:
systemd fails to setup static routes at boot when using DHCP
To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/1836695/+subscriptions
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs