在Ubuntu 18.04系统中配置DNS是网络管理中的常见操作,正确的DNS配置能确保域名解析的稳定性和高效性,以下是详细的配置步骤和注意事项,帮助用户顺利完成DNS设置。
Ubuntu 18.04系统提供了多种DNS配置方式,包括通过Netplan、NetworkManager或直接修改配置文件,对于桌面版用户,通常使用图形界面或NetworkManager;对于服务器版,推荐使用Netplan或手动编辑网络配置文件,以下是针对不同场景的详细操作步骤。
通过Netplan配置DNS(适用于Ubuntu 18.04服务器版)
Ubuntu 18.04服务器版默认使用Netplan进行网络配置,其配置文件通常位于/etc/netplan/
目录下,例如01-netcfg.yaml
或50-cloud-init.yaml
,配置步骤如下:
-
编辑Netplan配置文件
使用文本编辑器打开配置文件,sudo nano /etc/netplan/01-netcfg.yaml
在文件中添加或修改DNS服务器地址,示例如下:
network: version: 2 ethernets: eth0: # 替换为实际网卡名称 dhcp4: no addresses: [192.168.1.100/24] # 替换为静态IP地址 gateway4: 192.168.1.1 # 替换为网关地址 nameservers: addresses: [8.8.8.8, 8.8.4.4] # 替换为DNS服务器地址 search: [example.com] # 可选,添加域名搜索域
-
应用配置
保存文件后,运行以下命令使配置生效:sudo netplan apply
-
验证配置
使用nslookup
或dig
命令测试DNS解析是否正常:nslookup www.google.com
通过NetworkManager配置DNS(适用于桌面版)
Ubuntu 18.04桌面版默认使用NetworkManager管理网络,可通过命令行或图形界面配置DNS。
-
命令行方式
使用nmcli
命令修改DNS配置:sudo nmcli connection show "连接名称" # 查看当前连接名称 sudo nmcli connection modify "连接名称" ipv4.dns "8.8.8.8,8.8.4.4" sudo nmcli connection down "连接名称" && sudo nmcli connection up "连接名称"
-
图形界面方式
- 点击右上角网络图标,选择“有线设置”或“无线设置”。
- 点击齿轮图标进入网络配置界面,选择“IPv4”选项卡。
- 在“DNS服务器”字段中输入DNS地址(如
8.8.8,8.8.4.4
),保存配置。
手动修改/etc/resolv.conf
文件
直接编辑/etc/resolv.conf
文件是一种临时方法,但系统重启或网络服务重启后可能会被覆盖,若需永久修改,需结合其他工具(如resolvconf
)。
-
编辑文件
sudo nano /etc/resolv.conf
添加以下内容:
nameserver 8.8.8.8 nameserver 8.8.4.4
-
防止文件被覆盖
在Ubuntu 18.04中,可通过安装resolvconf
工具管理/etc/resolv.conf
:sudo apt install resolvconf sudo systemctl enable resolvconf
常见DNS服务器地址
以下是常用的公共DNS服务器,用户可根据需求选择:
DNS服务商 | 主DNS地址 | 备用DNS地址 |
---|---|---|
8.8.8 | 8.4.4 | |
Cloudflare | 1.1.1 | 0.0.1 |
阿里云 | 5.5.5 | 6.6.6 |
腾讯云 | 29.29.29 | 254.116.116 |
配置后的验证与故障排查
-
验证DNS解析
使用ping
或nslookup
命令测试域名解析:ping www.baidu.com nslookup example.com
-
常见问题
- 问题1:
nslookup
超时或返回未知域名。
解决:检查DNS地址是否正确,确认网络连接正常,尝试更换DNS服务器。 - 问题2:配置后DNS解析仍无效。
解决:检查网络服务是否重启,确认配置文件语法正确(如Netplan文件需缩进对齐)。
- 问题1:
相关问答FAQs
Q1:为什么直接修改/etc/resolv.conf
后重启系统配置会丢失?
A:Ubuntu 18.04系统使用systemd-resolved
或NetworkManager
管理DNS,直接修改/etc/resolv.conf
会被系统服务覆盖,建议通过Netplan或NetworkManager永久修改配置,或安装resolvconf
工具管理该文件。
Q2:如何配置多个DNS服务器并指定优先级?
A:在Netplan或NetworkManager中,DNS地址按顺序排列,系统会优先使用第一个可用的DNS服务器,在Netplan配置中addresses: [8.8.8.8, 1.1.1.1]
表示优先使用Google DNS,备用为Cloudflare DNS,若需更复杂的优先级控制,可结合policy
路由或使用systemd-resolved
的DNSOverriding
功能。