Používám klienta VPN, který přidává dva jmenné servery do /etc/resolv.conf . Všechna moje připojení spravuje Network-Manager.
 Musím používat tohoto VPN klienta pro svou pracovní VPN, ale poté, co Ubuntu přešlo na systemd-resolved v 16.10 mám problémy s připojením a DNS. Vypadá to jako systemd-resolved změny /etc/resolv.conf zpět na výchozí jmenné servery z nějakého důvodu, kvůli kterému se interní stránky nevyřeší. Podíval jsem se na to více a skončil jsem nahrazením resolvconf pomocí openresolv . To hodně pomohlo, ale stále systemd-resolved resetuje /etc/resolv.conf poté, co byla VPN nějakou dobu v provozu.
 Mohlo by to být právě ve chvíli, kdy je připojení aktivní nebo po několika minutách nebo někdy vůbec. Poté jsem zakázal systemd-resolved a systemd resolvconf.service a spusťte pouze openresolv . Zdá se, že vše funguje dobře.
 To vše je však velmi matoucí. Existuje důvod pro použití systemd-resolved s jedním z ostatních? Bylo to povoleno v Ubuntu 16.10, takže jsem si myslel, že pro to musí být důvod, ale zdá se, že to způsobuje boj o /etc/resolv.conf .
 Bylo by skvělé, kdybych mohl spustit operesolv a nechat si to vysvětlit. Načetl jsem o tom docela dost, ale stále nechápu, proč /etc/resolv.conf je spravován tak, jak je, pouze když používám systemd kvůli tomu nemohu použít svého klienta VPN.
Přijatá odpověď:
Podařilo se mi změnit skript, který zpracovává tyto konfigurační položky v OpenVPN v Ubuntu (testováno 18.04). Zde je záplata:
--- /etc/openvpn/update-resolv-conf.orig    2019-03-13 19:14:16.163914424 +0400
+++ /etc/openvpn/update-resolv-conf 2019-03-13 19:29:30.380420708 +0400
@@ -15,7 +15,7 @@
 #     foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
 #
-[ -x /sbin/resolvconf ] || exit 0
+[ -x /usr/bin/systemd-resolve ] || exit 0
 [ "$script_type" ] || exit 0
 [ "$dev" ] || exit 0
@@ -43,16 +43,16 @@
        fi
    done
    R=""
-   [ "$SRCHS" ] && R="search $SRCHS
-"
+   for SRCH in $SRCHS ; do
+       R="${R}--set-domain=$SRCH "
+   done
    for NS in $NMSRVRS ; do
-           R="${R}nameserver $NS
-"
+       R="${R}--set-dns=$NS "
    done
-   echo -n "$R" | /sbin/resolvconf -a "${dev}.openvpn"
+   /usr/bin/systemd-resolve -i ${dev} ${R}
    ;;
   down)
-   /sbin/resolvconf -d "${dev}.openvpn"
+   echo "Doing nothing, interface disappears."
    ;;
 esac
Do konfiguračního souboru OpenVPN budete muset přidat následující položky:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf