在 Linux 系统中配置 DNS 服务器的方法有多种,具体取决于你的系统版本和网络配置方式。以下是几种常见的配置方法:
方法一:直接修改 /etc/resolv.conf
文件(临时生效)
适用于快速测试或临时修改,重启后配置可能丢失。
# 编辑 resolv.conf 文件
sudo nano /etc/resolv.conf
# 添加或修改 DNS 服务器地址(示例使用 Google 公共 DNS)
nameserver 8.8.8.8
nameserver 8.8.4.4
# 保存并退出(按 Ctrl+O 保存,Ctrl+X 退出)
方法二:通过 NetworkManager 配置(推荐,持久化)
适用于使用 NetworkManager 管理网络的系统(如大多数桌面环境)。
步骤 1:编辑网络连接配置
# 使用 nmcli 命令编辑活动连接(例如 eth0)
sudo nmcli connection modify eth0 ipv4.dns "8.8.8.8 8.8.4.4"
# 或使用图形界面编辑:
# sudo nmtui
步骤 2:应用更改
# 重启 NetworkManager 服务
sudo systemctl restart NetworkManager
# 或重新激活连接
sudo nmcli connection up eth0
方法三:修改 /etc/netplan/*.yaml
(Ubuntu 18.04+)
适用于使用 Netplan 管理网络配置的 Ubuntu 系统。
步骤 1:编辑 Netplan 配置文件
# 找到并编辑 Netplan 配置文件(通常位于 /etc/netplan/ 目录下)
sudo nano /etc/netplan/01-network-manager-all.yaml
步骤 2:添加 DNS 配置
network:
version: 2
renderer: NetworkManager
ethernets:
eth0: # 根据实际网卡名称修改
dhcp4: true
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS 服务器地址
步骤 3:应用配置
sudo netplan apply
验证 DNS 配置
配置完成后,可以通过以下命令验证 DNS 是否正常工作:
# 检查 resolv.conf 文件是否更新
cat /etc/resolv.conf
# 测试域名解析
nslookup google.com
ping google.com
注意事项
-
DHCP 冲突:如果网络使用 DHCP 自动分配 IP,DNS 可能会被 DHCP 服务器覆盖。可以通过以下方式解决:
- 在 Netplan 配置中设置
dhcp4: false
并手动配置 IP 和 DNS。 - 在 NetworkManager 中设置
ipv4.ignore-auto-dns: yes
。
- 在 Netplan 配置中设置
-
系统版本差异:不同 Linux 发行版(如 CentOS、Debian)的配置方式可能略有不同,建议查阅对应系统的官方文档。
-
防火墙限制:确保防火墙允许 DNS 请求(UDP/TCP 53 端口)。
根据你的系统环境选择合适的配置方法,推荐使用方法二或方法三以确保配置持久化。