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 才是正解

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

相关推荐
GeW5 小时前
超详细!RHCE10版通用备考策略,内含评分细则解读
linux
用户041328465136 小时前
Linux 服务开机自启动怎么配置?systemctl enable 原理详解
linux
BreezeJiang13 小时前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
草莓熊Lotso15 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
张文君15 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12
linux·python
IT大白鼠15 小时前
Docker 实战 ELKF 日志监控:容器日志全栈收集分析方案
运维·docker·容器
贝锐1 天前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
Julien20041 天前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
天远Date Lab1 天前
零信任架构实战:基于天远双人婚姻评估查询构建自动化房产按揭联合审查网关
运维·人工智能·架构·自动化
2601_962074681 天前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器