これが(X)Ubuntu 18.04 Bionicのソリューションです。
dnsmasqをインストールする
sudo apt install dnsmasq
ポート53のsystemd-resolvedリスナーを無効にします(アップグレード時に上書きされる可能性があるため、/ etc / systemd / resolved.confには触れないでください)。
$ cat /etc/systemd/resolved.conf.d/noresolved.conf
[Resolve]
DNSStubListener=no
そしてそれを再起動します
$ sudo systemctl restart systemd-resolved
(またはによって完全に無効にする$ sudo systemctl disable systemd-resolved.service
)
/etc/resolv.confを削除して、再度作成します。resolv.confはデフォルトで/run/systemd/resolve/stub-resolv.confへのシンボリックリンクであるため、これは重要です。シンボリックリンクを削除しない場合、ファイルはリブート時にsystemdによって上書きされます(systemd-resolvedを無効にした場合でも!)。また、NetworkManager(NM)は、systemdで解決された構成を検出するためのシンボリックリンクであるかどうかを確認します。
$ sudo rm /etc/resolv.conf
$ sudo touch /etc/resolv.conf
NMによる/etc/resolv.confの上書きを無効にします(オプションrc-managerもありますが、NMマニュアルに記載されているにもかかわらず機能しません)。
$ cat /etc/NetworkManager/conf.d/disableresolv.conf
[main]
dns=none
それを再起動します:
$ sudo systemctl restart NetworkManager
NMのresolv.confを使用するようにdnsmasqに指示します。
$ cat /etc/dnsmasq.d/nmresolv.conf
resolv-file=/var/run/NetworkManager/resolv.conf
それを再起動します:
$ sudo systemctl restart dnsmasq
解決にはdnsmasqを使用します。
$ cat /etc/resolv.conf
# Use local dnsmasq for resolving
nameserver 127.0.0.1
sudo systemctl disable systemd-resolved
か?dnsmasqは、適切に構成されていれば、ドメイン解決を処理するはずです。