technology-note/linux/软件安装使用/NetworkManager自定义dns.md
2022-01-21 20:55:21 +08:00

1.3 KiB
Raw Blame History

id date title tags categories
20211019 2021-10-19 15:42:00 NetworkManager如何自定义dns,永久生效
linux
NetworkManger
linux
program

前言

目前比较新的linux发行版都默认使用NetworkManger来管理网络了然后如何自定义dns就成了一个比较麻烦的事每次NetworkManager启动都会覆盖/etc/resolv.conf文件特别是使用dhcp获取ip时dns地址会变成dhcp服务器默认的dns.那么有哪些解决办法呢?

修改/etc/resolv.conf

既然这个文件会被NetworkManager修改那么让它改不了就行了。将resolv.conf设置为不可修改。命令如下

sudo chattr +i /etc/resolv.conf

这样我们自定义dns后就不会被NetworkManager重新覆盖了。

更幽雅的配置

上面虽然能达到目的但是不太幽雅。其实NetworkManager是支持自定义dns的办法如下:

  1. 修改/etc/NetworkManager/conf.d/dns.conf(如没有此文件,新建即可),增加如下两行配置:
[main]
dns=null
  1. 修改/etc/NetworkManager/conf.d/dns-servers.conf(如没有此文件,新建即可),增加如下两行配置,设置自定义dns
[global-dns-domain-*]
servers=::1,127.0.0.1,8.8.8.8
  1. 重启软件sudo systemctl restart NetworkManager

大功告成~