netcup: dns fixes
This commit is contained in:
@@ -80,14 +80,28 @@ fi
|
||||
|
||||
# switch over to resolved and uninstall resolvconf
|
||||
if dpkg -s resolvconf 2>/dev/null >/dev/null; then
|
||||
vendor=$(cat /sys/devices/virtual/dmi/id/sys_vendor || true)
|
||||
|
||||
prepare_apt_once # do this first before DNS goes away intermittently
|
||||
|
||||
log "disabling unbound"
|
||||
systemctl disable unbound || true
|
||||
systemctl stop unbound || true
|
||||
|
||||
log "enabling systemd-resolved"
|
||||
systemctl enable --now systemd-resolved
|
||||
|
||||
log "removing resolvconf"
|
||||
prepare_apt_once
|
||||
[[ "${vendor}" == "netcup" && -f /etc/resolvconf/resolv.conf.d/original ]] && cp /etc/resolvconf/resolv.conf.d/original /tmp/resolv.conf.original # stash before purging
|
||||
apt -y --purge remove resolvconf # purge required for dpkg -s to return error code
|
||||
|
||||
if [[ "${vendor}" == "netcup" && -f /tmp/resolv.conf.original ]]; then
|
||||
log "Fix netcup DNS setup"
|
||||
nameservers=$(sed -ne 's/nameserver \(.*\)/"\1"/p' /tmp/resolv.conf.original | paste -sd "," -) # json array
|
||||
netplan set --origin-hint 50-cloud-init "ethernets.eth0.nameservers.addresses=[${nameservers}]"
|
||||
netplan apply # generates /run/systemd/resolve/resolv.conf
|
||||
systemctl restart systemd-resolved
|
||||
fi
|
||||
fi
|
||||
|
||||
# https://docs.docker.com/engine/installation/linux/ubuntulinux/
|
||||
|
||||
Reference in New Issue
Block a user