[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
Sat Oct 22 20:30:19 UTC 2022
*This* bug has the full information in the first post including all
needed to fix the problem. Actually there are more problems in the
script regarding syntax, so more issues exist, leading to unwanted
behavior.
Uwe
Am 22. Oktober 2022 22:05:59 MESZ schrieb David Kowis <1981103 at bugs.launchpad.net>:
>https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1910273
>
>This one seems to have the full patch repair in the bug description.
>None of the other bugs I've found relating to this have the full
>solution.
>
>--
>You received this bug notification because you are subscribed to the bug
>report.
>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:
> Triaged
>
>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
>
--
Uwe Schindler
Achterdiek 19, 28357 Bremen
https://www.thetaphi.de
--
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:
Triaged
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