linux查询自动获取dns命令
linux查询自动获取dns命令详细介绍
在 Linux 系统中,查询自动获取(通常通过 DHCP 分配)的 DNS 服务器地址,可根据系统配置的不同选择以下方法:
方法 1:直接查看
resolv.conf 文件(通用)
Linux 系统通过 /etc/resolv.conf 文件记录 DNS 解析配置,自动获取的 DNS 会写入此文件(由 DHCP 客户端或网络管理工具生成)。
执行以下命令查看:
bash
/etc/resolv.conf
输出示例(nameserver 后即为 DNS 地址):
plaintext
# Generated by NetworkManagernameserver 192.168.1.1 # 自动获取的 DNS 服务器
nameserver 8.8.8.8 # 可能的备用 DNS
search localdomain
方法 2:通过
systemd-resolved 查看(适用于 systemd 系统)
现代 Linux 系统(如 Ubuntu 18.04+、Fedora、CentOS 8+)通常使用 systemd-resolved 管理 DNS,此时 /etc/resolv.conf 可能是指向 stub-resolv.conf 的软链接。需通过以下命令查看真实 DNS 信息:
bash
systemd-resolve
resolvectl status
输出中关注 DNS Servers 部分(示例):
plaintext
GlobalDNS Servers: 192.168.1.1 # DHCP 自动分配的 DNS
8.8.8.8
...
方法 3:通过
nmcli 查看(NetworkManager 管理的网络)
若系统使用 NetworkManager(如 Ubuntu、Fedora 桌面版),可通过 nmcli 命令直接查看网络连接的 DHCP 分配信息。
执行以下命令:
bash
nmcli dev show
nmcli connection show
输出示例(IP4.DNS 后为自动获取的 DNS):
plaintext
IP4.DNS[1]: 192.168.1.1IP4.DNS[2]: 8.8.8.8
9123IP4.DNS[]: 192.168.1.1IP4.DNS[]: 8.8.8.8
说明
- 自动获取的 DNS 通常由 DHCP 服务器分配(如路由器),若需手动配置可修改网络连接的 DHCP 设置(或通过
nmcli等工具)。 - 若
/etc/resolv.conf显示的 DNS 与实际不符,可能是systemd-resolved或其他服务在代理解析,需结合systemd-resolve --status确认。