直接在网卡设置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
评论区