Linux下查看DNS配置信息的常用命令說明
在 Linux 系統(tǒng)中,了解當(dāng)前服務(wù)器所使用的 DNS(Domain Name System)配置對于網(wǎng)絡(luò)排錯(cuò)、服務(wù)部署和系統(tǒng)管理都至關(guān)重要。
本文將詳細(xì)介紹幾種常用的查看 DNS 信息的方法,幫助你快速定位和驗(yàn)證 DNS 設(shè)置。
方法一:查看 /etc/resolv.conf 文件
這是最直接的方式。Linux 系統(tǒng)通常通過 /etc/resolv.conf 文件指定 DNS 服務(wù)器地址。
[root@localhost ~]# cat /etc/resolv.conf nameserver 192.168.xxx.xxx search localdomain
說明:
- nameserver 后面的 IP 地址即為系統(tǒng)當(dāng)前使用的 DNS 服務(wù)器。
- search 行定義了域名搜索后綴(本例中被注釋掉了)。
注意:
在使用 NetworkManager 或 systemd-resolved 的現(xiàn)代發(fā)行版(如 CentOS 7+/Ubuntu 18.04+)中,該文件可能是自動(dòng)生成的符號鏈接或由服務(wù)動(dòng)態(tài)管理,手動(dòng)修改可能被覆蓋。
方法二:使用 nslookup 命令
nslookup 是一個(gè)交互式網(wǎng)絡(luò)工具,可用于查詢 DNS 記錄。我們可以通過它間接查看當(dāng)前使用的 DNS 服務(wù)器。
[root@localhost ~]# nslookup 127.0.0.1 | grep Server Server: 192.168.xxx.xxx
說明:
- 雖然查詢的是本地回環(huán)地址(127.0.0.1),但返回的 Server 字段顯示了實(shí)際使用的 DNS 服務(wù)器。
- 更推薦使用 nslookup example.com 查詢?nèi)我庥蛎?,觀察其使用的解析服務(wù)器。
提示:nslookup 在部分新系統(tǒng)中可能未默認(rèn)安裝,可使用以下命令安裝:
- RHEL/CentOS:yum install bind-utils
- Debian/Ubuntu:apt install dnsutils
方法三:使用 dig 命令
dig(Domain Information Groper)是功能強(qiáng)大的 DNS 查詢工具,輸出信息更詳細(xì)。
[root@localhost ~]# dig ; > DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 > ;; ->>HEADER<<- … ;; SERVER: 192.168.xxx.xxx#53(192.168.xxx.xxx) …
要快速提取 DNS 服務(wù)器地址,可結(jié)合管道過濾:
[root@localhost ~]# dig | grep “SERVER:” | awk -F'#' ‘{print 1}' | awk -F': ' ‘{print 2}'
192.168.xxx.xxx- 優(yōu)點(diǎn):dig 不僅能顯示使用的 DNS 服務(wù)器,還能展示完整的查詢過程、響應(yīng)時(shí)間、權(quán)威記錄等,非常適合調(diào)試。
方法四:其他實(shí)用方法(適用于特定環(huán)境)
- 使用 nmcli(NetworkManager 命令行工具)
適用于使用 NetworkManager 管理網(wǎng)絡(luò)的系統(tǒng)(如桌面版或較新的服務(wù)器版):
查看所有連接的 DNS 信息
nmcli dev show | grep DNS
查看特定接口(如 eth0)的 DNS
nmcli dev show eth0 | grep IP4.DNS
- 使用 resolvectl(新版 systemd 推薦方式)
在使用 systemd-resolved 服務(wù)的系統(tǒng)中(如 Ubuntu 20.04+、CentOS 8+):
resolvectl status
該命令會(huì)顯示每個(gè)網(wǎng)絡(luò)接口的 DNS 配置、是否啟用 DNSSEC、當(dāng)前使用的解析器等詳細(xì)信息。
?? 舊版系統(tǒng)可能使用 systemd-resolve --status,但該命令已在較新版本中被棄用。
- 已過時(shí)的工具(不推薦在新系統(tǒng)使用)
nm-tool | grep DNS
nm-tool 在 NetworkManager 1.0+ 版本中已被移除,請改用 nmcli。
總結(jié)對比
- 方法 適用場景 是否需安裝額外包 備注
- /etc/resolv.conf 所有 Linux 系統(tǒng) 否 最基礎(chǔ),但可能被服務(wù)覆蓋
- nslookup 快速驗(yàn)證 DNS 解析 可能需要安裝 簡單直觀
- dig 專業(yè) DNS 調(diào)試 可能需要安裝 功能最全
- nmcli / resolvectl 使用 NetworkManager 或 systemd-resolved 的系統(tǒng) 否(通常預(yù)裝) 更符合現(xiàn)代 Linux 架構(gòu)
小貼士
- 如果你發(fā)現(xiàn) /etc/resolv.conf 中的 DNS 被自動(dòng)修改,很可能是 DHCP 客戶端或 NetworkManager 在管理它。
- 修改 DNS 配置時(shí),建議優(yōu)先通過網(wǎng)絡(luò)管理工具(如 nmcli、netplan 或編輯網(wǎng)卡配置文件)進(jìn)行,而非直接編輯 /etc/resolv.conf。
測試 DNS 是否生效,可使用以下命令驗(yàn)證:
dig example.com
- 或
host google.com
- 或
nslookup baidu.com
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決安裝zabbix之后登陸報(bào)錯(cuò):zabbix Details Cannot connec
檢查PHP配置文件(php.ini)中mysql.default_socket路徑是否與MySQL實(shí)際socket文件位置一致,確認(rèn)MySQL服務(wù)已啟動(dòng)且權(quán)限正確,必要時(shí)手動(dòng)指定socket路徑或重啟服務(wù)2025-07-07
Xshell7遠(yuǎn)程連接失敗(connection failed)的問題解決
本文主要介紹了Xshell7遠(yuǎn)程連接失敗(connection failed)的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法
這篇文章主要介紹了linux 不改變目錄結(jié)構(gòu)移動(dòng) home 目錄到新分區(qū)的操作方法,需要的朋友可以參考下2017-12-12
利用win10自帶虛擬機(jī)hyper-v安裝centos7方法詳解
利用VMware安裝CentOS系統(tǒng)相信大家都比較熟悉了,今天為大家介紹一下利用Win10自帶的虛擬機(jī)hyper-v來安裝CentOS,hyper-v與VMware的區(qū)別還是挺大的2018-10-10
Linux使用partprobe更新分區(qū)表的示例代碼
partprobe 是一個(gè)用于在 Linux 操作系統(tǒng)中通知內(nèi)核分區(qū)表變化的命令,它請求操作系統(tǒng)重新讀取磁盤的分區(qū)表,以便及時(shí)反映對分區(qū)所做的修改,本文給大家介紹了Linux使用partprobe更新分區(qū)表的方法,需要的朋友可以參考下2025-03-03

