/etc/resolv.conf
文件,添加 nameserver
指定 DNS 服务器地址。一、查看当前 DNS 配置
在修改 DNS 配置之前,可以通过以下命令查看当前的 DNS 配置:
1、查看 /etc/resolv.conf 文件:
执行命令cat /etc/resolv.conf
,该文件中包含了当前系统使用的 DNS 服务器地址等信息,如果输出的内容中包含了nameserver
关键字后面跟着的 IP 地址,则表示当前已经配置了 DNS 服务器。
二、设置 DNS 的方法
(一)通过 nmcli(适合 NetworkManager 管理的系统)
1、查看网络连接名称:
执行命令nmcli con show
,会列出所有的网络连接及其详细信息,包括连接名称等。
2、设置新的 DNS 服务器地址:
假设网络连接名称为YourConnectionName
,要设置的 DNS 服务器地址为DNS1
和DNS2
(Google 的公共 DNS 服务器 8.8.8.8 和 8.8.4.4),执行以下命令:
nmcli con mod YourConnectionName ipv4.dns "DNS1 DNS2"
nmcli con mod YourConnectionName ipv4.ignoreautodns yes
3、重新启动网络连接:
执行命令nmcli con up YourConnectionName
,使修改生效。
(二)通过编辑网卡配置文件(适合没有安装 NetworkManager 或喜欢直接编辑配置文件的用户)
1、打开网卡配置文件:
网卡配置文件通常位于/etc/sysconfig/networkscripts/
目录下,文件名以ifcfg
开头加上网卡名称,例如ifcfgeth0
,使用文本编辑器打开相应的配置文件,假设网卡名称为eth0
,执行命令sudo vi /etc/sysconfig/networkscripts/ifcfgeth0
。
2、修改或添加 DNS 配置:
在文件中找到以DNS1
、DNS2
为关键字的行,如果不存在则添加它们,并将其值设置为希望使用的 DNS 服务器地址,
DNS1=8.8.8.8
DNS2=8.8.4.4
如果文件中包含PEERDNS=yes
,并且想要使用静态设置的 DNS,而不是 DHCP 分配的 DNS,需要将其更改为PEERDNS=no
。
3、保存文件并退出编辑器:
在 vi 编辑器中,可以使用:wq
命令保存并退出文件。
4、重新启动网络服务:
执行命令sudo systemctl restart network
,使新的 DNS 设置生效。
(三)修改 /etc/resolv.conf 文件(不推荐长期单独使用)
1、编辑 /etc/resolv.conf 文件:
执行命令sudo vi /etc/resolv.conf
。
2、添加或修改 nameserver 行:
在该文件中添加nameserver
行,指定需要使用的 DNS 服务器的 IP 地址,如果要使用 8.8.4.4 这个 DNS 服务器,可以添加以下行:
nameserver 8.8.4.4
如果需要添加多个 DNS 服务器,可以在不同行上添加不同的nameserver
行。
3、保存并关闭文件:
在 vi 编辑器中,可以使用:wq
命令保存并退出文件。
4、阻止 NetworkManager 修改 /etc/resolv.conf 文件(可选):
如果系统中安装了 NetworkManager,且不希望其覆盖手动修改的 /etc/resolv.conf 文件,可以编辑 NetworkManager 的配置文件/etc/NetworkManager/NetworkManager.conf
,在[main]
部分添加或修改设置为dns=none
,然后重新启动 NetworkManager 服务,执行命令sudo systemctl restart NetworkManager
。
三、验证 DNS 配置是否生效
可以通过以下命令测试新设置是否生效:
1、ping 命令:
执行命令ping www.google.com
,如果能收到响应,则说明 DNS 正在正常工作。
2、nslookup 命令:
执行命令nslookup example.com
,将example.com
替换为需要查询的域名,如果输出的结果中包含了 DNS 服务器的 IP 地址,则表示 DNS 配置已经生效。
四、相关问题与解答
问题1:修改 /etc/resolv.conf 文件后,为什么重启网络服务后设置没有生效?
解答:如果在修改 /etc/resolv.conf 文件后重启网络服务但设置没有生效,可能是因为 NetworkManager 服务在后台自动覆盖了该文件的修改,可以尝试按照上述方法阻止 NetworkManager 对该文件进行修改,或者检查 NetworkManager 的相关配置是否正确,也可能是系统中存在多个网络相关的服务或配置文件相互影响,需要仔细排查其他可能的因素。
问题2:如何确定应该使用哪种方法来设置 CentOS 系统的 DNS?
解答:选择设置 CentOS 系统 DNS 的方法主要取决于系统的网络管理方式和个人偏好,如果系统是通过 NetworkManager 管理网络连接,那么使用 nmcli 命令或修改 /etc/resolv.conf 文件(并阻止 NetworkManager 覆盖)可能更为方便;如果没有安装 NetworkManager,或者更喜欢直接对配置文件进行操作,那么编辑网卡配置文件可能是更好的选择,对于大多数普通用户,使用 nmcli 命令是一种简单快捷的方法来临时更改 DNS 设置;而对于需要长期稳定运行的服务器环境,修改网卡配置文件或正确配置 /etc/resolv.conf 文件并确保其不被覆盖可能更合适。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/190446.html