一、通用方式(所有 Linux 都可用)
修改 /etc/resolv.conf(⚠️但是可能会被覆盖)
bash
sudo vi /etc/resolv.conf
在打开的文件中写入以下:
bash
nameserver 8.8.8.8
nameserver 8.8.4.4
保存,退出
说明
立即生效
但 NetworkManager / systemd-resolved 重启后可能被重写
适合临时修改
方式二:通过网络管理工具修改(推荐、永久)
不同发行版略有差异,按主流两类来讲:
2.1 使用 NetworkManager(CentOS 7 / RHEL / Ubuntu 桌面 / Arch 等)
1️⃣查看连接名
bash
nmcli con show
一般会看到类似:
bash
[root@Centos ~]# nmcli con show
NAME UUID TYPE DEVICE
ens192 03da7888-3333-c722-2438-d0d006c28c73 ethernet ens192
lo2 3333a395-095c-3333-807c-7028344c60f0 dummy lo2
virbr0 27e53333-1272-4300-8527-785b1541c003 bridge virbr0
记住 NAME(通常是 ens33 或 eth0)
2️⃣设置 DNS
bash
sudo nmcli con mod "ens33" ipv4.dns "8.8.8.8 1.1.1.1"
sudo nmcli con mod "ens33" ipv4.ignore-auto-dns yes
👉 如果你的网卡不是 ens33,把名字换掉即可
3️⃣ 重启连接
bash
sudo nmcli con up "ens33"
4️⃣ 验证
bash
cat /etc/resolv.conf
或:
bash
nmcli dev show ens33 | grep DNS
特点
✅ 永久生效
✅ 不会被重写
✅ 服务器 / 桌面都稳定
2.2 使用 Netplan(Ubuntu 18.04+)
bash
sudo vi /etc/netplan/01-netcfg.yaml
示例:
bash
network:
version: 2
ethernets:
eth0:
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
应用:
bash
sudo netplan apply
特点
✅ 官方推荐
✅ 永久生效
⚠️ YAML 缩进一定要对
常见坑提醒(CentOS 7)
❌ 不要只改 /etc/resolv.conf(会被重写)
✅ 用 nmcli 才是正解
云服务器(阿里云 / 腾讯云)也同样适用