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/network
, drop-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
。