DNS设置为systemd的127.0.0.53 – 如何永久更改?

我最近升级到17.10。 当我尝试浏览网站或ping域时,它无法说明该网站无法解析。

network-admin/etc/resolv.conf的内容显示为nameserver: 127.0.0.53

如果我将其更改为8.8.8.8或208.67.222.222,则一切正常。 直到我重启。

重启或恢复后,名称服务器将重置为127.0.0.53。

如何将名称服务器永久设置为有效的?


对于systemd粉丝,如果我运行systemd-resolve --status我会得到

 Link 3 (wlo1) Current Scopes: LLMNR/IPv4 LLMNR/IPv6 LLMNR setting: yes MulticastDNS setting: no DNSSEC setting: no DNSSEC supported: no 

如果我遵循这个问题的建议 – DNS会在重启后继续重置。 Ubuntu 17.10 – DNS仍无法解决。

您可以安装软件包resolvconf,它将修改在系统引导时构建/etc/resolv.conf的方式。

 sudo apt install resolvconf 

然后,您可以创建或修改文件/etc/resolvconf/resolv.conf.d/tail 。 如果你在这个文件中放入一个行nameserver 8.8.8.8 ,这/run/resolvconf/resolv.conf在启动时添加到/run/resolvconf/resolv.conf的末尾。 /etc/resolv.conf现在将成为此文件的符号链接。

我使用Lubuntu&Kubuntu 18.04。 我能够通过两个步骤克服DNS问题:

第一步:安装unbound并将其设置为替换systemd-resolved如GrégoireC 在此处所示

 sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved sudo systemctl enable unbound-resolvconf sudo systemctl enable unbound 

重启

以root /etc/NetworkManager/NetworkManager.conf打开文件/etc/NetworkManager/NetworkManager.conf

(Lubuntu 18.04或Kubuntu 18.04中的sudo leafpad /etc/NetworkManager/NetworkManager.conf SUDO_EDITOR=kate sudoedit /etc/NetworkManager/NetworkManager.conf

并在[main]下面放这一行:

 dns=unbound 

再次重启

第二步:如果重新启动后问题仍未解决,就像在我的情况下一样,以root身份启动文件管理器,转到/etc ,删除resolv.conf并创建一个新的resolv.conf 。 将其留空并重新启动操作系统。 在我重新启动后的情况下,问题消失了。

在Kubuntu 18.04中你无法以root身份启动Dolphin,所以你可以先从/etc打开终端,然后键入sudo su并按Enter键以root身份使用它,然后使用命令rm resolv.conf删除resolv.conf rm resolv.conf 。 然后,您可以在桌面上创建一个新的空文件,将其命名为resolv.conf并从那里打开一个终端。 使用sudo su命令进入终端的root模式,然后使用命令cp resolv.conf /etc将新的resolv.conf从桌面复制到/etc cp resolv.conf /etc

我必须补充一点,我没有尝试在安装unbound之前做第二步 ,所以下次我会这样做,只是为了看它是否足够。

systemd范例内工作,为链接/设备添加DNS

  • systemd.network手册页

使用ubuntu 17.10+添加*.network文件:

sudo nano /lib/systemd/network/100-somecustom.network

100-somecustom.network(100可以是任何优先级的数字,它需要.network文件扩展名):

 [Match] Name=wlo1 # the device name here [Network] # add multiple DNS DNS=8.8.8.8 DNS=208.67.222.222 

然后重启:

 sudo service systemd-networkd restart 

另请看:

 netplan apply 

然后检查:

 systemd-resolve --status wlo1 

来自info page info systemd.network

除了/etc/systemd/networkdrop-in“.d”目录可以 放在/ lib / systemd / network或/ run / systemd / network目录中。 / etc中的drop-in文件优先于/ run中的文件,后者优先于/ lib中的文件。 任何这些目录下的drop-in文件都优先于主netdev文件。 (当然,因为/ run是临时的,而/ usr / lib是供应商使用的,所以不可能在这两个地方使用drop-ins。)

另一种方法是禁用DNSStubListener以用于dnsmasq

sudo nano /etc/systemd/resolved.conf

 # DNSStubListener=false 

有关:

当使用dhcp名称解析在Ubuntu中按预期工作时。 当你想要静止时问题就开始了。 cat /etc/resolv.conf将显示yor dns为127.0.0.53而不是/etc/netplan/.yaml文件中的那些。 要解决此问题,您需要删除/etc/resolve.conf链接并创建一个指向/run/resolve/resolve.conf的新链接。

你为什么不解决问题,避免用断头台治疗偏头痛?

只需在DNS= /etc/systemd/resolved.conf配置中输入8.8.8.8或其他任何内容,然后重新启动systemd-resolved.service