歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux中DNS服務器地址查詢命令nslookup使用教程

Linux中DNS服務器地址查詢命令nslookup使用教程

日期:2017/3/1 17:31:18   编辑:Linux技術

nslookup 程序是DNS 服務的主要診斷工具,它提供了執行DNS 服務器查詢測試並獲取詳細信息。使用nslookup 可以診斷和解決名稱解析問題、檢查資源記錄是否在區域中正確添加或更新,以及排除其他服務器相關問題。nslookup 命令的功能是查詢一台機器的IP 地址和其對應的域名。它通常需要一台域名服務器來提供域名服務。如果用戶已經設置好域名服務器,就可以用這個命令查看不同主機的IP 地址對應的域名。

模式
nslookup 有兩種運行模式:非交互式和交互式。
非交互式通常用於返回單塊數據的情況,其命令格式:
nslookup [-選項] 查詢的域名 [DNS 服務器地址]
如果沒有指明nslookup 要使用DNS 服務器地址,則nslookup 使用/etc/resolv.conf。文件定義DNS 服務進行查詢。非交互式nslookup 程序運行完後,就會返回Shell 提示符下。如果要查詢另外一條記錄,則需要重新執行該程序,
交互式通常用於返回多塊數據的情況,其命令格式:
nslookup [- DNS 服務器地址]
如果沒有指明nslookup 要使用DNS 服務器地址,則nsookup 使用/etc/resolv.conf。文件定義的DNS服務進行查詢。運行交互式nslookup 程序,就會進入nslookup 程序提示符“>”,接下來就可以在“>”後輸入nslookup 的各種命令、需查詢的域名或反向解析的IP 地址。查詢完一條記錄可接著在“>”後輸入新的查詢,使用exit 命令可退出nslookup 程序.由於對DNS 服務器進行測試往往需要連續查詢多條記錄,所以實際更多地使用nslookup 程序的交互式。

主要用法
1.測試主機地址A 資源記錄
進入nslookup 程序後,默認的查詢類型是主機地址,在nslookup 程序提示符“>”下直接輸入要測試的完全規范域名FQDN,nslookup 會顯示當前DNS 服務器的名稱和IP 地址,然後返回完全規范域名FQDN 對應的IP 地址
測試反向解析指針PTR 資源記錄
在nslookup 程序提示符“>”下直接輸入要測試的IP 地址,nslookup 會返回IP 地址所對應的完全規范域名FQDN。
2.測試別名CNAME 資源記錄
在nslookup 程序提示符“>”下先使用命令“set type=cname”設置查詢的類型為別名,然後輸入要測試的別名,nslookup 會返回對應的真實計算機。
3.測試郵件交換器MX 資源記錄
在nslookup 程序提示符“>”下先使用命令“set type=mx”設置查詢的類型為郵件交換器然後輸入要測試的域名,nslookup 會返回對應的郵件交換器地址。
4.測試起始授權機構SOA 資源記錄
在nslookup 程序提示符“>”下先使用命令“set type=soa”設置查詢的類型為起始授權機構然後輸入要測試的域名,nslookup 會返回對應的SOA 資源記錄內容 。
5.測試名稱服務器NS 資源記錄
在nslookup 程序提示符“>”下先使用命令“set type=ns”設置查詢的類型為名稱服務器,然後輸入要測試的域名,nslookup 會返回對應的名稱服務器地址。
6.測試負載均衡
測試負載均衡需要在查詢的類型為主機地址,如果當前的查詢類型不是主機地址,就應在nslookup程序提示符“>”下先使用命令“set type=a”設置查詢的類型為主機地址,然後輸入要測試的負載均衡完全規范域名FQDN,nslookup 會返回對應的所有IP 地址。
7.設置默認的本地dns服務器
set domain=8.8.8.8
8.測試直接解析域名
測試直接解析域名需要在查詢的類型為主機地址,如果當前查詢類型不是主機地址,應在nslookup程序提示符“>”下先使用命令“set type=a”設置查詢的類型為主機地址,然後輸入要測試的直接解析域名,nslookup 會返回域名對應的IP 地址。
9.測試泛域名
測試泛域名需要在查詢的類型為主機地址,如果當前查詢類型不是主機地址,就應在nslookup 程序提示符“>”下先使用命令“set type=a”設置查詢的類型為主機地址,然後輸入任意主機名的域名(沒有相應的A 記錄),對於每個任意主機名的域名,nslookup 會返回同一個IP 地址。
10.測試外部Internet 域名
除了要測試本地DNS 服務器的區域數據外,還要測試DNS 服務器是否能解析外部:Internet 的域名(需要保證DNS 服務器能與Internet 連接),即測試named.conf 文件定義的根區域是否正確。在nslookup 程序提示符“>”下輸入如www.baidu.com 等Internet 上的完全規范域名FQDN,nslookup會返回對應的IP 地址。

小例子
1.最基本的用法

復制代碼代碼如下:
[root@rudder ~]# nslookup baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53</p> <p>Non-authoritative answer:
Name: baidu.com
Address: 123.125.114.144
Name: baidu.com
Address: 220.181.111.85
Name: baidu.com
Address: 220.181.111.86

2.nslookup,交互方式,查看dns

復制代碼代碼如下:
[root@rudder ~]# nslookup
> www.baidu.com

Server: 172.17.0.254
Address: 172.17.0.254#53

Non-authoritative answer: #非權威答案,表明是在緩存中讀取的
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 61.135.169.105 #返回第一個IP地址
Name: www.a.shifen.com
Address: 61.135.169.125 #返回第二個IP地址

復制代碼代碼如下:
> server 8.8.8.8 #設置域名服務器為 8.8.8.8

Default server: 8.8.8.8
Address: 8.8.8.8#53

復制代碼代碼如下:
> www.baidu.com #再次請求百度的IP地址

Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 220.181.111.147 #不同的DNS獲取的IP地址是不同的。

Copyright © Linux教程網 All Rights Reserved