在CentOS系统中配置静态DNS是网络管理中的一项常见操作,尤其是在需要固定DNS服务器地址或避免动态DNS变更导致网络问题的场景下,以下是详细的配置步骤和注意事项,帮助您顺利完成设置。

检查当前网络配置
在开始配置静态DNS之前,首先需要确认系统的当前网络设置,打开终端,使用ip addr或ifconfig命令查看网络接口信息,重点关注默认的DNS配置,通过cat /etc/resolv.conf命令可以查看当前生效的DNS服务器地址,如果系统通过DHCP自动获取DNS,此文件的内容可能会在重启后发生变化,因此需要手动配置静态DNS以确保持久性。
编辑网络配置文件
CentOS 7及更高版本推荐使用NetworkManager管理网络配置,对于静态DNS配置,可以编辑网络接口的配置文件,找到对应的网络接口配置文件,通常位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-ens33(根据实际接口名调整),使用vi或nano编辑器打开文件,添加或修改以下参数:
DNS1=8.8.8.8 DNS2=8.8.4.4
这里以Google的公共DNS为例,您可以根据需要替换为其他DNS服务器地址,如果需要配置多个DNS服务器,可以继续添加DNS3等参数。
配置NetworkManager管理DNS
为了确保NetworkManager正确管理DNS设置,还需要检查其配置文件,编辑/etc/NetworkManager/NetworkManager.conf文件,确保[main]部分包含以下内容:

dns=none
设置dns=none可以防止NetworkManager覆盖手动配置的DNS设置,保存文件后,重启NetworkManager服务以使更改生效:
systemctl restart NetworkManager
验证DNS配置
完成配置后,需要验证DNS设置是否正确生效,使用cat /etc/resolv.conf命令检查文件内容是否包含之前配置的DNS服务器地址,可以通过ping命令测试域名解析是否正常,
ping google.com
如果能够成功解析IP地址并收到响应,说明DNS配置已生效,如果遇到问题,可以检查网络接口配置文件是否正确,并确认NetworkManager服务已重启。
持久化配置注意事项
在CentOS系统中,/etc/resolv.conf文件可能会被NetworkManager自动覆盖,因此直接编辑此文件并非持久化解决方案,推荐通过上述网络接口配置文件的方式设置静态DNS,这样可以确保配置在系统重启后依然有效,如果系统使用systemd-resolved服务,可能需要额外调整相关配置,建议根据实际环境选择合适的配置方法。

相关问答FAQs
Q1: 配置静态DNS后,如何恢复为动态获取?
A: 若需恢复动态DNS,只需删除网络接口配置文件中的DNS1、DNS2等参数,并将/etc/NetworkManager/NetworkManager.conf中的dns=none改为dns=default,然后重启NetworkManager服务即可。
A: 这可能是因为NetworkManager服务未重启或配置文件权限不正确,建议检查/etc/resolv.conf的权限是否为644,并确保已执行systemctl restart NetworkManager命令使新配置生效。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复