临时修改(重启后失效)
直接修改 /etc/resolv.conf 文件
sudo vi /etc/resolv.conf
添加或替换 nameserver 行(例如使用 Google DNS):

nameserver 8.8.8.8 nameserver 8.8.4.4
注意:某些系统(如使用 systemd-resolved 或 NetworkManager)重启后会自动覆盖此文件。
永久配置(不同系统方法不同)
Debian/Ubuntu(使用 netplan,适用于 Ubuntu 18.04+)
- 编辑 Netplan 配置文件(通常位于
/etc/netplan/):sudo vi /etc/netplan/01-netcfg.yaml
- 在网卡配置下添加
nameservers字段:network: ethernets: eth0: dhcp4: no addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] # 设置DNS version: 2 - 应用配置:
sudo netplan apply
CentOS/RHEL 7 及以下(使用 network-scripts)
- 编辑网卡配置文件(如
ifcfg-eth0):sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 添加以下行:
DNS1=8.8.8.8 DNS2=8.8.4.4 PEERDNS=no # 阻止 DHCP 覆盖 DNS
- 重启网络服务:
sudo systemctl restart network
CentOS/RHEL 8+ 及 Fedora(使用 NetworkManager)
- 使用
nmcli修改连接配置:sudo nmcli con mod "eth0" ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli con mod "eth0" ipv4.ignore-auto-dns yes # 禁用 DHCP 的 DNS sudo nmcli con up "eth0"
通用方法:修改 /etc/resolv.conf 的底层配置
-
编辑
/etc/resolvconf/resolv.conf.d/base(Debian/Ubuntu):sudo vi /etc/resolvconf/resolv.conf.d/base
添加:

nameserver 8.8.8.8 nameserver 8.8.4.4
更新配置:
sudo resolvconf -u
-
或通过
/etc/systemd/resolved.conf(使用systemd-resolved的系统):sudo vi /etc/systemd/resolved.conf
取消注释并修改:

[Resolve] DNS=8.8.8.8 8.8.4.4
重启服务:
sudo systemctl restart systemd-resolved
验证 DNS 设置
- 检查当前生效的 DNS:
cat /etc/resolv.conf
- 测试域名解析:
nslookup google.com # 或 dig google.com
关键注意事项
- 权限要求:所有操作需
root权限(使用sudo)。 - 网络管理工具差异:
- Ubuntu 18.04+ 默认用
netplan。 - CentOS 7 用
network-scripts,CentOS 8+ 用NetworkManager。
- Ubuntu 18.04+ 默认用
- 防止覆盖:如果使用 DHCP,需设置
PEERDNS=no(CentOS)或ignore-auto-dns(NetworkManager),避免 DNS 被重置。 - 多网卡场景:确保修改目标网卡的配置文件(如
eth0)。
按以上步骤操作后,服务器的 DNS 即可正确配置。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/288750.html

