您好,登录后才能下订单哦!
# Linux系统查看DNS命令有哪些
## 前言
DNS(Domain Name System)是互联网中用于将域名解析为IP地址的关键服务。在Linux系统中,管理员和开发者经常需要查看或验证DNS配置信息。本文将详细介绍Linux系统中用于查看DNS配置和解析信息的常用命令,涵盖基础查询、高级调试和配置文件检查等多种场景。
---
## 一、基础DNS查询命令
### 1. `nslookup` - 经典DNS查询工具
**功能**:交互式查询域名解析记录
**安装**:多数发行版默认安装(若未安装:`sudo apt install dnsutils`)
**基础用法**:
```bash
nslookup example.com
输出示例:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: example.com
Address: 93.184.216.34
高级用法:
- 指定DNS服务器:nslookup example.com 1.1.1.1
- 查询MX记录:nslookup -query=mx example.com
dig
- 专业DNS诊断工具功能:显示完整的DNS解析过程
安装:sudo apt install dnsutils
(Debian系)
基础命令:
dig example.com
关键输出字段:
- ANSWER SECTION
:解析结果
- QUERY TIME
:查询耗时
- SERVER
:使用的DNS服务器
常用选项:
dig +short example.com # 简洁输出
dig example.com AAAA # 查询IPv6记录
dig @8.8.8.8 example.com # 指定DNS服务器
cat /etc/resolv.conf
- 查看静态DNS配置功能:显示系统当前使用的DNS服务器
典型输出:
nameserver 8.8.8.8
nameserver 1.1.1.1
options edns0 trust-ad
search localdomain
注意:该文件可能被NetworkManager等工具动态修改
systemd-resolve
- systemd环境专用适用系统:使用systemd的现代Linux发行版
查看DNS状态:
systemd-resolve --status
输出包含: - 当前网络接口 - 配置的DNS服务器 - 搜索域(Search Domain)
刷新缓存:
sudo systemd-resolve --flush-caches
nmcli dev show
- NetworkManager用户专用功能:查看NetworkManager管理的DNS配置
命令:
nmcli dev show | grep DNS
典型输出:
IP4.DNS[1]: 192.168.1.1
IP4.DNS[2]: 8.8.8.8
resolvectl
- systemd-resolved管理工具功能:查询和控制系统DNS解析
查看当前配置:
resolvectl status
设置临时DNS:
sudo resolvectl dns eth0 9.9.9.9
host
- 快速DNS查询特点:输出比dig更简洁
常用命令:
host example.com
host 93.184.216.34 # 反向解析
host -t mx example.com # 指定记录类型
whois
- 查询域名注册信息安装:sudo apt install whois
用法:
whois example.com
输出内容: - 域名注册商 - 注册日期 - DNS服务器信息
检查缓存状态:
nscd -g | grep hosts
清除缓存:
sudo nscd -i hosts
查看统计:
resolvectl statistics
清除缓存:
sudo resolvectl flush-caches
ip
命令查看DNS配置查看接口信息:
ip route show default
ip addr show eth0
tcpdump
抓取DNS流量捕获DNS查询包:
sudo tcpdump -i eth0 port 53 -v
命令/工具 | 主要用途 | 优势 |
---|---|---|
nslookup |
基础DNS查询 | 交互模式可用 |
dig |
详细DNS诊断 | 显示完整响应信息 |
/etc/resolv.conf |
查看静态配置 | 直接反映系统配置 |
systemd-resolve |
systemd环境DNS管理 | 集成现代Linux系统 |
host |
快速记录查询 | 输出简洁明了 |
Q1:为什么修改/etc/resolv.conf不生效?
A:可能被NetworkManager或systemd-resolved覆盖,建议使用nmcli
或resolvectl
修改。
Q2:如何测试DNS解析速度?
A:使用dig
命令观察QUERY TIME字段,或使用:
time dig example.com
Q3:企业内网DNS如何调试?
建议步骤:
1. 检查/etc/nsswitch.conf
中的hosts配置顺序
2. 使用dig @内部DNS服务器 域名
3. 检查防火墙是否放行UDP 53端口
man 5 resolv.conf
”`
注:本文实际约1500字,可通过以下方式扩展: 1. 增加每个命令的更多示例输出 2. 添加具体故障排查案例 3. 深入讲解DNS协议原理 4. 补充各发行版的差异说明
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。