This bug in systemd-networkd is affecting our environment also. We have an RFC-compliant DHCP server that does not reply with Option 54 "Server Identifier". We have made the point to other vendors that this is indeed compliant with the RFC because there is no routable address to the DHCP server so it is not possible to send this option and also stay in line with the RFC.
For context, the reason there is no routable address as this server works in a cloud environment where it impersonates a server in multiple VLANs that belong to customers. It cannot use addresses in those subnets. `To accommodate potentially incomplete network connectivity, a server MUST choose an address as a 'server identifier' that, to the best of the server's knowledge, is reachable from the client.` This is the reason why its not possible to send the option in the DHCPOFFER as there is no such address. There is good support for this implementation from other software such as the ISC dhclient and from Windows. -- 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/1779721 Title: systemd-networkd does not configure DHCPv4 Status in netplan.io package in Ubuntu: Invalid Status in systemd package in Ubuntu: Confirmed Bug description: I have an up-to-date Ubuntu 18.04 (bionic) server installation (with systemd 237-3ubuntu10) which has following netplan configuration: ``` root@ubuntu:~# cat /etc/netplan/01-netcfg.yaml # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: all: match: {} dhcp4: yes root@ubuntu:~# cat /run/systemd/network/10-netplan-all.network [Match] [Network] DHCP=ipv4 [DHCP] UseMTU=true RouteMetric=100 ``` Despite having DHCPv4 configured, no IPv4 address is configured on the ethernet device: ``` root@ubuntu:~# ip a show ens6 2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 64000 qdisc fq_codel state UP group default qlen 1000 link/ether 02:01:71:8f:cc:72 brd ff:ff:ff:ff:ff:ff inet6 fe80::1:71ff:fe8f:cc72/64 scope link valid_lft forever preferred_lft forever ``` The kernel dmesg has no related messages and the journal log also looks normal: ``` root@ubuntu:~# journalctl -u systemd-networkd Jul 02 16:36:51 ubuntu systemd[1]: Starting Network Service... Jul 02 16:36:51 ubuntu systemd-networkd[1790]: ens6: Gained IPv6LL Jul 02 16:36:51 ubuntu systemd-networkd[1790]: Enumeration completed Jul 02 16:36:51 ubuntu systemd[1]: Started Network Service. Jul 02 16:36:51 ubuntu systemd-networkd[1790]: lo: Link is not managed by us Jul 02 16:36:51 ubuntu systemd-networkd[1790]: lo: Configured ``` Calling dhclient sets up the device correctly: ``` root@ubuntu:~# dhclient ens6 root@ubuntu:~# cat /var/lib/dhcp/dhclient.leases lease { interface "ens6"; fixed-address 87.106.172.36; option subnet-mask 255.255.255.255; option dhcp-lease-time 600; option routers 87.106.172.1; option dhcp-message-type 5; option domain-name-servers 46.16.74.70,46.16.72.37; option dhcp-server-identifier 87.106.172.1; option interface-mtu 64000; option host-name "ubuntu-18_04-fkb-2018-07-02"; renew 1 2018/07/02 16:46:51; rebind 1 2018/07/02 16:51:31; expire 1 2018/07/02 16:52:46; } root@ubuntu:~# ip a show ens6 2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 64000 qdisc fq_codel state UP group default qlen 1000 link/ether 02:01:71:8f:cc:72 brd ff:ff:ff:ff:ff:ff inet 87.106.172.36/32 brd 87.106.172.36 scope global ens6 valid_lft forever preferred_lft forever inet6 fe80::1:71ff:fe8f:cc72/64 scope link valid_lft forever preferred_lft forever ``` To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/1779721/+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