“`bash,$ cat /etc/resolv.conf | gre
Linux查看自身网段DNS的详细指南
通过系统配置文件直接查看
检查/etc/resolv.conf文件
作用:该文件存储了当前系统使用的DNS服务器列表(顺序为优先级)。
命令:
cat /etc/resolv.conf
输出示例:
# Generated by NetworkManager
nameserver 192.168.1.1
nameserver 8.8.8.8
说明:
- 第一行为注释,实际配置从第二行开始。
- 若文件为空或未生成,可能是系统使用
systemdresolved服务动态管理DNS。
验证systemdresolved服务的DNS配置
适用场景:现代Linux发行版(如Ubuntu)可能用systemdresolved替代传统/etc/resolv.conf。
命令:
systemdresolve status
输出示例:
Global
DNS Servers: 192.168.1.1
DNS Domain: ~.
Link 2 (ens33)
DNS Servers: 192.168.1.1
DNS Domain: example.com
关键点:

- “Global”为全局DNS配置,”Link”为特定网卡的配置。
- 若显示
DNS Servers: none,需检查网络连接或手动配置。
通过命令行工具查询DNS信息
使用nmcli查看网络接口DNS配置
命令:
nmcli device show | grep DNS
输出示例:
IP4.DNS[1]: 192.168.1.1
IP4.DNS[2]: 8.8.8.8
说明:
- 括号内的数字表示DNS服务器的优先级。
- 若需查看指定接口(如
eth0),可替换命令中的设备名。
通过ip命令分析路由表关联DNS
命令:
ip route show
输出示例:
default via 192.168.1.254 dev ens33
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100
关联分析:

- 默认网关(
168.1.254)通常是路由器,其IP可能也是DNS服务器。 - 可通过
ping 192.168.1.254测试网关是否响应,进一步用nslookup验证其是否提供DNS服务。
进阶工具:域名解析测试与验证
使用nslookup查询DNS解析效果
命令:
nslookup www.baidu.com
输出示例:
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: www.a.shifen.com
Address: 123.56.78.90
作用:
- 验证当前DNS是否能正确解析域名。
- 若解析失败,可能是DNS配置错误或网络问题。
替代netstat的现代命令
注意:netstat已过时,建议使用ss或ip。
命令:
ss tupln | grep :53
输出示例:

LISTEN 0 128 *:53 *:* udp
说明:
- 检查本地是否运行DNS服务(如
:53端口)。 - 若存在,可能影响外部DNS请求。
常见问题与解决方法
| 问题 | 解决方案 |
|---|---|
/etc/resolv.conf为空 |
重启systemdresolved服务:sudo systemctl restart systemdresolved |
| 无法解析域名 | 检查网络连接 更换DNS为公共服务器(如8.8.8.8) |
| 多网卡DNS冲突 | 使用nmcli为指定网卡单独配置DNS |
相关问题与解答
Q1:如何永久修改DNS配置?
A1:
- 编辑
/etc/resolv.conf(非systemdresolved系统)或通过nmtui图形界面修改。 - 若使用
NetworkManager,需在连接配置中调整DNS参数。
Q2:如何清除DNS缓存?
A2:
- 对于
systemdresolved:sudo systemdresolve flushcaches - 对于
nscd服务:`sudo systemctl restart
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/224750.html