CentOS 如何更改 DNS?

HCRM技术_小炮 DNS 2025-09-09 3 0

我将为您分情况介绍最常用和可靠的方法。

centos 改dns怎么改

方法一:使用nmcli 命令(推荐 - 适用于 CentOS 7/8/9)

nmcli 是 NetworkManager 的命令行工具,这是管理和修改网络配置最现代和推荐的方式。

查看当前的网络连接名称

你需要知道你要修改的网络连接(Connection)叫什么名字。

nmcli connection show

或者更简短一些:

nmcli con show

输出结果中,NAME 列就是连接名,UUID 列是唯一标识符,通常连接名类似于ens192eth0Wired connection 1

修改 DNS

centos 改dns怎么改

假设你的连接名是ens192,你想将 DNS 设置为114.114.114.1148.8.8.8

命令格式:

sudo nmcli con mod <连接名> ipv4.dns "<DNS1> <DNS2>"

实际操作示例:

sudo nmcli con mod ens192 ipv4.dns "114.114.114.114 8.8.8.8"

让更改生效

修改配置后,需要重新激活(重启)网络连接才能生效。

方法A:先 down 再 up

centos 改dns怎么改
sudo nmcli con down ens192
sudo nmcli con up ens192

方法B:使用reload 后重启连接(更优雅)

sudo nmcli con reload # 重新加载配置
sudo nmcli con down ens192 && sudo nmcli con up ens192 # 重启连接

验证 DNS 是否修改成功

cat /etc/resolv.conf

你应该能看到文件顶部有nameserver 114.114.114.114nameserver 8.8.8.8 的条目。

方法二:直接编辑网络配置文件(永久生效)

这种方法通过直接编辑网卡的配置文件来修改,同样永久有效,配置文件位于/etc/sysconfig/network-scripts/ 目录下。

注意:CentOS 8 之后,network-scripts 逐渐被弃用,推荐使用上述的nmcli 或下文方法三,但对于 CentOS 7,这是非常标准的方法。

找到配置文件

配置文件的名字通常是ifcfg-<网卡名>,例如ifcfg-ens192

ls /etc/sysconfig/network-scripts/ifcfg

编辑配置文件

使用vinano 编辑对应的文件。

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192

修改或添加 DNS 配置

在文件中找到或添加以下两行:

DNS1=114.114.114.114
DNS2=8.8.8.8

如果文件中已存在PEERDNS=yes,确保它存在,它的作用是允许通过此配置文件修改/etc/resolv.conf

重启网络服务

保存文件后,重启网络服务以使更改生效。

在 CentOS 7 上:

sudo systemctl restart network

在 CentOS 8/9 上(如果仍在使用 network-scripts):

sudo systemctl restart NetworkManager

验证

同样使用cat /etc/resolv.conf 命令验证。

方法三:使用nmtui 文本图形化工具(交互式,适合新手)

如果你不熟悉命令行,这是一个很好的交互式工具。

1、 在终端中输入以下命令:

    sudo nmtui

2、 使用键盘方向键选择Edit a connection,回车。

3、 选择你要修改的网络连接,回车。

4、 在配置界面中,向下移动到IPv4 CONFIGURATION 部分。

5、 将Automatic 旁边的<Show> 选项回车展开。

6、 在DNS servers 字段中,填入 DNS 服务器地址,用逗号分隔,114.114.114.114, 8.8.8.8

7、 按Tab 键移动到最下面的OK,回车保存。

8、 返回主菜单,选择Activate a connection -> 选择你的连接 ->Deactivate,回车关闭它,然后再一次选择它 ->Activate,回车重新激活。

9、 最后选择BackQuit 退出。

验证方法同上。

方法四:临时修改(重启后失效)

这种方法只修改当前运行时的配置,服务器重启后就会失效,通常用于临时测试。

直接编辑/etc/resolv.conf 文件:

sudo vi /etc/resolv.conf

将里面的nameserver 行替换为你需要的 DNS:

nameserver 114.114.114.114
nameserver 8.8.8.8

保存即可立即生效。

重要警告: 如果系统由 NetworkManager 管理,当服务重启或系统重启后,这个文件会被自动重写,你的更改会丢失,所以这只适合临时测试。

方法 适用场景 永久性 推荐度
nmcli所有版本,尤其 CentOS 8/9永久★★★★★ (最推荐)
nmtui 新手,喜欢交互式界面 永久 ★★★★☆
编辑ifcfg 文件 CentOS 7 永久 ★★★☆☆ (CentOS 7 可用)
编辑/etc/resolv.conf 临时测试 临时 ★★☆☆☆ (仅用于测试)

对于绝大多数情况,请直接使用nmcli 方法,这是最标准、最不易出错的方式。

文章摘自:https://idc.huochengrm.cn/dns/15239.html

评论