Thanks for this explanation.
When you install without a DE, it defaults to using the ifupdown package:
https://wiki.debian.org/NetworkConfiguration
I have looked a bit more into the issue, and found a root cause and two solutions. I marked this post as [solved] because it solves my problem, but I don't know if it would solve the OP's issue.
My conclusion:
- the isc-dhcp-client package is used when the DE is not installed, and this package has broken rfc3442 (static classless routes) error handling. The included rfc3442-classless-routes exit hook script fails to install the routes if the link has multiple subnets configured. The ISC has EOL'd this client, so this bug probably won't be fixed upstream.
- the udhcpcd package is used by the debian installer. It does not support RFC3442 at all, so it uses the regular router option.
- the network-manager package is used when DE is installed, and it uses a DHCP client based on nettools n-dhcp4 library, it supports RFC3442 and handles complex static classless routes correctly, unlike the ISC client.
- apt-get remove isc-dhcp-client && apt-get install udpcpcd && reboot - ie, switch to the busybox client, udhcpcd, and,
- change my DHCP server configuration to serve ISC-compatible routes, and make a note of the needed compatibility workaround, in case other Debian/derivative computers are added to my network for which I do not control the DHCP client (BYOD).
Statistics: Posted by rh009 — 2024-04-26 01:32