侧边栏壁纸
博主头像
liveJQ博主等级

沒有乐趣,何来开始

  • 累计撰写 145 篇文章
  • 累计创建 60 个标签
  • 累计收到 2 条评论

浅谈 Ubuntu 设置 DNS 方法及其配置机制

liveJQ
2023-11-07 / 0 评论 / 0 点赞 / 148 阅读 / 1,511 字 / 正在检测是否收录...
广告 广告

直接在网卡设置DNS

Ubuntu 低版本

静态网络示例,编辑/etc/network/interfaces

auto 网卡名
iface 网卡名 inet static
address 10.10.20.22
gateway 10.10.20.254
netmask 255.0.0.0
dns-nameserver 223.6.6.6
#dns-nameservers 223.6.6.6 114.114.114.114

带s表示可以一行以空格分隔添加多个DNS。

重启网卡生效

service networking restart

Ubuntu 17.10 以上高版本

network: 
    version: 2 
    renderer: networkd 
    ethernets: 
        网卡名: 
            dhcp4: false
            addresses: [192.168.1.1/24] 
            gateway4: 192.168.1.254 
            nameservers: 
                addresses: [8.8.8.8, 1.1.1.1]

重启网卡生效

netplan apply

DNS 的配置管理

Ubuntu 通过读取/etc/resolv.conf中的 DNS 地址进行查询。

systemd-resolved

这是系统默认的 DNS 管理器,也可以看做是一个本地 DNS 解析器,默认的本地 DNS 服务器 IP 是 127.0.0.53,其通过迭代的方式将 DNS 查询结果返回给应用程序。

/etc/resolv.conf -> /run/systemd/resolve/resolv.conf

可以看出这是一个软链接文件,可以通过在/etc/systemd/resolved.conf添加 DNS 来配置该软链接。

[Resolve]
DNS=8.8.8.8 1.1.1.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
DNSStubListener=no

重启服务

systemctl restart systemd-resolved

查看设置情况

systemd-resolve --status

可以看到全局 DNS 设置成功。

Global
         DNS Servers: 8.8.8.8
                      1.1.1.1

一般来说,全局 DNS 配置(Global)和网卡DNS配置(Link 2),设置其中一个就可以的了。

resolvconf

这是 DNS 信息统一管理器,类似 netplan 的作用。

安装

apt install resolvconf

软链接会被改写指向到 resolvconf 的配置文件中。在安装前,/etc/resolv.conf上的旧配置会被复制保留到/etc/resolvconf/resolv.conf.d/original文件中。

/etc/resolv.conf -> /run/resolvconf/resolv.conf

可以通过在/etc/resolvconf/resolv.conf.d/head添加 DNS 来配置该软链接。

nameserver 8.8.8.8
nameserver 8.8.4.4

也可以直接运行命令定义链接的源文件,此命令会重新建立/etc/resolv.conf的软链接。

resolvconf -a DNS文件路径
例如:
resolvconf -a /run/resolvconf/interface/systemd-resolved
resolvconf -a /run/resolvconf/interface/original.resolvconf

上述两种方式配置完成后,别忘了更新配置。

resolvconf --enable-updates
resolvconf -u

相关资料

How to change DNS servers on Ubuntu

0

评论区