Linux系统查看本地DNS配置的几种常用方法
本地DNS配置直接影响网络连接和域名解析效率,Linux系统提供了多种工具用于查看当前生效的DNS服务器信息,以下是几种常用方法,适用于主流的Linux发行版(如Ubuntu、CentOS、Debian等)。
方法1:通过/etc/resolv.conf
文件查看
执行命令:
cat /etc/resolv.conf
输出结果中标记为nameserver
的行即为当前配置的DNS服务器地址。
nameserver 8.8.8.8 nameserver 192.168.1.1
注意:
- 部分系统(如使用systemd-resolved
或NetworkManager
)可能动态生成此文件,直接编辑可能无效。
- 若文件内容包含127.0.0.53
等本地地址,说明系统正在使用本地DNS缓存服务。
方法2:使用nmcli
命令(NetworkManager用户)
若系统通过NetworkManager管理网络,执行:
nmcli dev show | grep DNS
输出结果将显示所有网络接口(如eth0、wlan0)关联的DNS配置。
方法3:通过systemd-resolve
查看(systemd系统)
对于使用systemd-resolved
服务的系统,运行:
systemd-resolve --status
在输出中查找DNS Servers
字段,会列出当前活跃连接的DNS服务器。
方法4:使用dig
命令验证实际生效DNS
通过查询域名解析的响应来源,间接确认DNS服务器:
dig example.com | grep SERVER
输出结果的SERVER
行会显示实际响应的DNS服务器地址。
方法5:使用nslookup
或host
命令
运行以下命令查看默认DNS服务器:
nslookup google.com
或
host google.com
输出结果的首行会显示使用的DNS服务器信息。
若DNS解析异常,可能是缓存未更新,尝试清除本地DNS缓存:
sudo systemd-resolve --flush-caches # systemd系统 sudo dscacheutil -flushcache # 部分旧版本系统
个人观点
实际使用中,推荐优先通过nmcli
或systemd-resolve
获取信息,这两者能更准确地反映NetworkManager或systemd管理的网络配置,若需快速验证解析结果,dig
和nslookup
的反馈更直观,修改DNS配置时,建议通过系统网络管理工具(如nmtui
或图形界面)操作,避免手动编辑文件导致配置冲突。
文章摘自:https://idc.huochengrm.cn/dns/6641.html
评论
贰长岳
回复在Linux系统中,可通过cat /etc/resolv.conf命令查看本地DNS配置。
钊会
回复查看Linux本地DNS配置,可以通过编辑/etc目录下的resolv.conf文件或使用nmcli命令(针对NetworkManager用户)、systemd-resolve等工具和dig、nslookup或host验证实际生效的dns服务器,如需检查缓存问题可清除相关服务中的相应数据即可解决相关问题!