ubuntu的DNS配置和管理

ubuntu中的DNS配置有时候是修改/etc/resolv.conf,有时候是修改/etc/systemd/resolved.conf 还有时修改 /etc/resolvconf/resolv.conf.d/base,本文介绍修改不同文件的目的和原因。

  1. systemd-resolved
    ubuntu中systemd-resolved服务为本地应用程序提供了网络名字解析服务, 系统通过它对外进行dns请求。

系统使用systemd-resolved进行dns请求的时候,除了一些localhost等特殊域名,它需要去外部dns服务器寻找答案,这个外部dns的地址可以手动配置或者自动配置。参照手册描述如下,

DNS服务器来自于 全局配置文件(/etc/systemd/resolved.conf)、 针对单个连接的静态配置文件(/etc/systemd/network/*.network)、 针对单个连接的动态配置(从DHCP或其他系统服务得到的DNS服务器)。参见 resolved.conf(5) 与 systemd.network(5) 以了解 systemd 自身的DNS服务器配置。为了提高兼容性, 仅在 /etc/resolv.conf 不是一个指向 /run/systemd/resolve/resolv.conf 的软连接的情况下, 才会从 /etc/resolv.conf 读取全局DNS服务器。

最后一句说明了配置dns地址基本都在/etc/resolv.conf中配置,因为系统中/etc/resolv.conf软连接不是指向/run/systemd/resolve/resolv.conf ,而是指向另一个地址/run/resolvconf/resolv.conf,原因是ubuntu 一般会安装了resolvconf去管理dns地址。

顺便介绍下resolvconf

  1. resolvconf
    resolvconf是一个ubuntu上管理配置本机dns地址的工具,可以使用它来配置修改dns,不同程序运行的时候有时需要不同dns,而resolvconf使用了一个通用的接口文件让我们去配置不同程序的dns
    在/run/resolvconf/interface下有不同程序的对应的dns配置文件,譬如systemd-resolved服务的

yishen@ubuntu:/$ ll /run/resolvconf/interface/
total 4
drwxr-xr-x 2 root root 60 10月 28 21:30 ./
drwxr-xr-x 3 root root 100 10月 29 02:20 …/
-rw-r–r-- 1 root root 41 10月 28 21:30 systemd-resolved

yishen@ubuntu:/$ cat /run/resolvconf/interface/systemd-resolved
nameserver 127.0.0.53
search localdomain
resolvconf提供使用接口,程序中大致采用如下方式 使用resolvconf修改主机的dns(只是一个示意)

将主机的dns配置文件/etc/resolved.conf/run/resolvconf/interface/systemd-resolved绑定
yishen@ubuntu:/$ resolvconf -a /run/resolvconf/interface/systemd-resolved
更新/etc/resolv.conf文件的内容
yishen@ubuntu:/$ resolvconf -

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu使用netplan来配置网络接口和DNS服务器。在Ubuntu 18.04及更高版本中,netplan取代了之前的网络配置工具,如ifconfig和/etc/network/interfaces。 要配置DNS服务器,请按照以下步骤进行操作: 1. 打开终端,并切换到root用户,或使用sudo命令以管理员权限执行以下命令。 2. 打开netplan配置文件。默认情况下,配置文件位于/etc/netplan目录下,并以".yaml"作为扩展名。可以使用任何文本编辑器打开此文件。 3. 查找当前网络接口的配置。通常,接口配置位于"network"节下,并以"ethernet"或"ens"开头。找到您要配置DNS的接口,并记下其名称。 4. 在该接口的配置下,添加一个新的"nameservers"项。例如,您可以添加一个公共DNS服务器的IP地址(例如"8.8.8.8")。 5. 如果您的DNS服务器有多个IP地址,您可以在"nameservers"下添加更多的IP地址。 6. 保存并关闭文件。 7. 在终端中执行以下命令,以应用新的配置:sudo netplan apply 8. 您的DNS配置已完成。您可以使用nslookup或ping等命令来测试新的DNS服务器是否正在正常工作。 请注意,如果您的系统使用NetworkManager而不是netplan来管理网络接口,则需要在NetworkManager的配置文件中添加DNS服务器。该文件位于/etc/NetworkManager目录下,名为"NetworkManager.conf"。找到[main]节,添加"dns=none",然后在[ipv4]或[ipv6]节下添加"DNS"项并指定您的DNS服务器的IP地址。完成后,重新启动NetworkManager服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值