答案:在CentOS中查看DNS需检查/etc/resolv.conf或用nmcli命令,配置DNS推荐通过nmcli、nmtui或修改ifcfg文件实现持久化,避免直接编辑resolv.conf;验证可通过ping、nslookup、dig等命令;选择DNS时需权衡ISP与公共DNS的延迟、隐私及安全性,企业环境应优先使用内部DNS。

在CentOS上查看DNS设置,最直接的方式就是查看
/etc/resolv.conf
nmcli
nmtui
NetworkManager
要深入理解并有效管理CentOS上的DNS设置,我们需要掌握几种方法,这不仅仅是输入几个命令那么简单,更重要的是理解它们背后的逻辑和各自的适用场景。
1. 查看当前DNS设置
查看/etc/resolv.conf
cat /etc/resolv.conf
你可能会看到类似这样的内容:
# Generated by NetworkManager search localdomain nameserver 8.8.8.8 nameserver 8.8.4.4
这里,
nameserver
search
NetworkManager
使用nmcli
NetworkManager
nmcli
nmcli connection show
nmcli connection show
假设你的连接名称是
ens33
Wired connection 1
nmcli connection show <你的连接名称> | grep ipv4.dns
例如:
nmcli connection show ens33 | grep ipv4.dns
这会显示该连接配置的DNS服务器。
2. 配置DNS服务器
临时配置(不推荐用于生产环境): 直接修改
/etc/resolv.conf
NetworkManager
sudo echo "nameserver 1.1.1.1" > /etc/resolv.conf sudo echo "nameserver 1.0.0.1" >> /etc/resolv.conf
这种方式只适用于快速测试,或者在某些特殊情况下临时覆盖DNS设置。
使用nmcli
ens33
# 设置主DNS服务器 sudo nmcli connection modify <你的连接名称> ipv4.dns "8.8.8.8" # 设置辅助DNS服务器(可选) sudo nmcli connection modify <你的连接名称> ipv4.dns "8.8.8.8 8.8.4.4" # 设置域名搜索路径(可选,用于自动补全短域名) sudo nmcli connection modify <你的连接名称> ipv4.dns-search "example.com" # 重新加载网络连接以应用更改 sudo nmcli connection up <你的连接名称>
如果你希望通过DHCP获取IP地址但手动指定DNS,上述方法是可行的。如果你配置的是静态IP地址,通常也会在
nmcli
ipv4.method manual
ipv4.addresses
使用nmtui
nmcli
nmtui
sudo nmtui
进入后,选择“Edit a connection”,然后选择你的网络接口,编辑其IPv4配置,你就可以手动填写DNS服务器地址了。保存并退出后,同样需要重新激活连接才能生效。
手动编辑ifcfg
/etc/sysconfig/network-scripts/
ifcfg-<接口名称>
ifcfg-ens33
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
在文件中添加或修改以下行:
DNS1="8.8.8.8" DNS2="8.8.4.4" PEERDNS="no" # 如果你想完全手动控制DNS,阻止DHCP更新resolv.conf
然后重启网络服务或接口:
sudo systemctl restart network # 或者 sudo ifdown ens33 && sudo ifup ens33
这种方法在
NetworkManager
NetworkManager
nmcli
NetworkManager
这其实是个老生常谈的问题,很多CentOS用户都遇到过。
/etc/resolv.conf
NetworkManager
当你使用DHCP(动态主机配置协议)获取IP地址时,DHCP服务器通常也会一并提供DNS服务器的地址。
NetworkManager
/etc/resolv.conf
NetworkManager
/etc/resolv.conf
另一个可能的原因是,在
/etc/sysconfig/network-scripts/ifcfg-<interface>
PEERDNS
yes
PEERDNS=yes
NetworkManager
PEERDNS
no
那么,如何才能让DNS配置持久化呢?关键在于通过
NetworkManager
nmcli
nmtui
NetworkManager
NetworkManager
/etc/resolv.conf
NetworkManager
配置完DNS,当然要验证一下是不是真的生效了,不然白忙活一场。这里有几个常用的工具和方法,可以帮你快速确认。
ping
ping
ping google.com
ping google.com
如果显示“Name or service not known”或类似的错误,那多半是DNS有问题。
nslookup
nslookup google.com
输出中会显示“Server”行,告诉你当前正在使用的DNS服务器的IP地址,以及
google.com
dig
dig
nslookup
dig google.com
在
dig
ANSWER SECTION
google.com
SERVER
Query time
检查/etc/resolv.conf
nmcli connection up
cat /etc/resolv.conf
nameserver
如果验证不通过,别急,可能的原因有很多:防火墙阻挡了DNS请求(UDP 53端口)、网络连接本身有问题、DNS服务器本身不可用,或者
NetworkManager
选择DNS服务器,就像选择一条通往互联网的“高速公路”,不同的选择会影响你的上网体验、安全性和隐私。这确实是一个值得深思的问题。
ISP提供的DNS服务器: 你的互联网服务提供商(ISP)通常会默认给你分配他们的DNS服务器。
公共DNS服务器(例如Google DNS 8.8.8.8 / 8.8.4.4,Cloudflare DNS 1.1.1.1 / 1.0.0.1): 这些是由第三方提供的免费DNS服务。
我的个人观点和建议: 对于大多数个人用户和小型网络环境,我个人更倾向于使用公共DNS。我通常会选择Cloudflare的1.1.1.1作为首选,因为它在速度和隐私方面表现出色,然后辅以Google的8.8.8.8作为备用。这能提供一个相对平衡的体验:既保证了较快的解析速度,又在一定程度上保护了我的上网隐私。
然而,在企业或更复杂的网络环境中,情况就完全不同了。公司通常会部署自己的内部DNS服务器,用于解析内部域名、负载均衡等。在这种情况下,必须优先使用内部DNS,否则会导致很多内部应用无法正常工作。这时,公共DNS可以作为辅助或备用,但绝不能替代内部DNS。
总而言之,选择哪种DNS,需要根据你的具体需求和使用场景来决定。如果你对速度、隐私和安全性有较高要求,公共DNS是个不错的选择;如果你处于企业内网,那么内部DNS是不可或缺的。
以上就是CentOS怎么查看DNS设置_CentOS查询与配置DNS服务器方法教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号