[Bug 1981103] Re: System with DNS server in /etc/network/interfaces has bogus systemd-resolved config after upgrade to 22.04
Uwe Schindler
1981103 at bugs.launchpad.net
Fri Sep 9 11:26:11 UTC 2022
If you changed away from /etc/network/interfaces file to netplan.io
configuration (/etc/netplan/...) then you won't need ifupdown. There is
a configuartion tool, with simple configs it works: See this info how to
convert your network config. But be sure to have physical access to the
machine's console:
https://gist.github.com/mss/7a8e048dd51e5ef928039f1450ba8f31
I did this for my systems and removed and purged ifupdown. For some
configs it may be very complex, especially if you have many tunnels,
bridges or other special stuff in /etc/network/interfaces. But for
simple single ethernet/wifi device it is easy to migrate using the above
GIST.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1981103
Title:
System with DNS server in /etc/network/interfaces has bogus systemd-
resolved config after upgrade to 22.04
Status in ifupdown package in Ubuntu:
Confirmed
Bug description:
Description: Ubuntu 22.04 LTS
Release: 22.04
ifupdown:
Installed: 0.8.36+nmu1ubuntu3
Candidate: 0.8.36+nmu1ubuntu3
Version table:
*** 0.8.36+nmu1ubuntu3 500
500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
100 /var/lib/dpkg/status
After upgrading a server with classic ifupdown configuration after
reboot the machine had no valid dns servers anymore.
The problem is that the state file created by ifupdown using
/etc/network/if-up.d/resolved looks like this:
root at pangaea-pm:~# cat /run/network/ifupdown-inet-ens13
"DNS"="134.102.20.20 134.102.200.14"
"DOMAINS"="marum.de"
The script later sources this file and causes the following errors,
easy to see when you execute this:
root at pangaea-pm:~# ifdown ens13; ifup ens13
/etc/network/if-down.d/resolved: 12: mystatedir: not found
/etc/network/if-up.d/resolved: 12: mystatedir: not found
/etc/network/if-up.d/resolved: 71: DNS: not found
/etc/network/if-up.d/resolved: 1: /run/network/ifupdown-inet-ens13: DNS=134.102.20.20 134.102.200.14: not found
/etc/network/if-up.d/resolved: 2: /run/network/ifupdown-inet-ens13: DOMAINS=marum.de: not found
Failed to parse DNS server address: DNS
Failed to set DNS configuration: Invalid argument
This happened to me on three different servers, so this is a serious
bug and should be fixed before 22.04 upgrades are allowed for
everybody. Most servers provided by data centers like Hetzner
(Germany) are configure like that. After a do-release-upgrade you have
no working DNS anymore, unless you disable systemd-resolved. I don't
want to use netplan, so changing to this is no option.
The fix is easy - remove the quotes in the script on the left side
"$DNS" => $DNS; same for DOMAINS:
if [ -n "$NEW_DNS" ]; then
cat <<EOF >"$mystatedir/ifupdown-${ADDRFAM}-$interface"
$DNS="$NEW_DNS"
EOF
if [ -n "$NEW_DOMAINS" ]; then
cat <<EOF >>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
$DOMAINS="$NEW_DOMAINS"
EOF
fi
fi
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1981103/+subscriptions
More information about the foundations-bugs
mailing list