linux系统DNS修改命令

一、通用方式(所有 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 才是正解

云服务器(阿里云 / 腾讯云)也同样适用

相关推荐
vin_zheng1 小时前
破解企业安全软件网络拦截实战记录
运维
林姜泽樾2 小时前
Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解
linux·运维·服务器·centos
xiaokangzhe3 小时前
Linux系统安全
linux·运维·系统安全
feng一样的男子3 小时前
NFS 扩展属性 (xattr) 提示操作不支持解决方案
linux·go
南棱笑笑生3 小时前
20260310在瑞芯微原厂RK3576的Android14查看系统休眠时间
服务器·网络·数据库·rockchip
xiaokangzhe3 小时前
Nginx核心功能
运维·nginx
松果1773 小时前
以本地时钟为源的时间服务器
运维·chrony·时间服务器
XDHCOM4 小时前
ORA-32152报错咋整啊,数据库操作遇到null number问题远程帮忙修复
服务器·数据库·oracle
Highcharts.js4 小时前
Highcharts React v4.2.1 正式发布:更自然的React开发体验,更清晰的数据处理
linux·运维·javascript·ubuntu·react.js·数据可视化·highcharts
ayaya_mana4 小时前
快速安装Nginx-UI:让Nginx管理可视化的高效方案
运维·nginx·ui