我将为您分情况介绍最常用和可靠的方法。
方法一:使用nmcli
命令(推荐 - 适用于 CentOS 7/8/9)
nmcli
是 NetworkManager 的命令行工具,这是管理和修改网络配置最现代和推荐的方式。
你需要知道你要修改的网络连接(Connection)叫什么名字。
nmcli connection show
或者更简短一些:
nmcli con show
输出结果中,NAME
列就是连接名,UUID
列是唯一标识符,通常连接名类似于ens192
、eth0
或Wired connection 1
。
假设你的连接名是ens192
,你想将 DNS 设置为114.114.114.114
和8.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
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 # 重启连接
cat /etc/resolv.conf
你应该能看到文件顶部有nameserver 114.114.114.114
和nameserver 8.8.8.8
的条目。
这种方法通过直接编辑网卡的配置文件来修改,同样永久有效,配置文件位于/etc/sysconfig/network-scripts/
目录下。
注意:CentOS 8 之后,network-scripts
逐渐被弃用,推荐使用上述的nmcli
或下文方法三,但对于 CentOS 7,这是非常标准的方法。
配置文件的名字通常是ifcfg-<网卡名>
,例如ifcfg-ens192
。
ls /etc/sysconfig/network-scripts/ifcfg
使用vi
或nano
编辑对应的文件。
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192
在文件中找到或添加以下两行:
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、 最后选择Back
和Quit
退出。
验证方法同上。
这种方法只修改当前运行时的配置,服务器重启后就会失效,通常用于临时测试。
直接编辑/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
评论