04-域名解析配置
本章節下載: 04-域名解析配置 (662.18 KB)
DNS(Domain Name System,域名係統)是一種用於TCP/IP應用程序的分布式數據庫,提供域名與IP地址之間的轉換。通過域名係統,用戶進行某些應用時,可以直接使用便於記憶的、有意義的域名,而由網絡中的域名解析服務器將域名解析為正確的IP地址。
域名解析分為靜態域名解析和動態域名解析,二者可以配合使用。在解析域名時,首先采用靜態域名解析(查找靜態域名解析表),如果靜態域名解析不成功,再采用動態域名解析。由於動態域名解析需要域名服務器(DNS server)的配合,會花費一定的時間,因而可以將一些常用的域名放入靜態域名解析表中,這樣可以大大提高域名解析效率。
靜態域名解析就是手工建立域名和IP地址之間的對應關係。當用戶使用域名進行某些應用(如telnet應用)時,係統查找靜態域名解析表,從中獲取指定域名對應的IP地址。
動態域名解析通過向域名服務器查詢域名和IP地址之間的對應關係來實現將域名解析為IP地址。動態域名解析過程如下:
(1) 當用戶使用域名進行某些應用時,用戶程序首先向DNS客戶端中的解析器發出請求。
(2) DNS客戶端收到請求後,首先查詢本地的域名緩存。如果存在已解析成功的映射項,就將域名對應的IP地址返回給用戶程序;如果未發現所要查找的映射項,就向域名服務器發送查詢請求。
(3) 域名服務器首先從自己的數據庫中查找域名對應的IP地址。如果判斷該域名不屬於本域範圍,就將請求交給其他域名服務器處理,直到完成解析,並將解析的結果返回給DNS客戶端。
(4) DNS客戶端收到域名服務器的響應報文後,將解析結果返回用戶程序。
用戶程序、DNS客戶端及域名服務器的關係如圖1-1所示,其中解析器和緩存構成DNS客戶端。用戶程序、DNS客戶端在同一台設備上,而DNS客戶端和域名服務器一般分布在兩台設備上。
動態域名解析支持緩存功能。每次動態解析成功的域名與IP地址的映射均存放在DNS客戶端的動態域名緩存區中,當下一次查詢相同域名的時候,就可以直接從緩存區中讀取,不用再向域名服務器進行請求。緩存區中的映射在一段時間後會老化而被刪除,以保證及時從域名服務器得到最新的內容。老化時間由域名服務器設置,DNS客戶端從域名服務器的應答報文中獲得老化時間。
動態域名解析支持域名後綴列表功能。用戶可以預先設置一些域名後綴,在域名解析的時候,用戶隻需要輸入域名的部分字段,係統會自動將輸入的域名加上不同的後綴進行解析。例如,用戶想查詢域名aabbcc.com,那麼可以先在後綴列表中配置com,然後輸入aabbcc進行查詢,係統會自動將輸入的域名與後綴連接成aabbcc.com進行查詢。
使用域名後綴的時候,根據用戶輸入域名方式的不同,查詢方式分成以下幾種情況:
· 如果用戶輸入的域名中沒有“.”,比如aabbcc,係統認為這是一個主機名,會首先加上域名後綴進行查詢,如果所有加後綴的域名查詢都失敗,將使用最初輸入的域名(如aabbcc)進行查詢。
· 如果用戶輸入的域名中間有“.”,比如www.aabbcc,係統直接用它進行查詢,如果查詢失敗,再依次加上各個域名後綴進行查詢。
· 如果用戶輸入的域名最後有“.”,比如aabbcc.com.,表示不需要進行域名後綴添加,係統直接用輸入的域名進行查詢,不論成功與否都直接返回結果。就是說,如果用戶輸入的字符中最後一個字符為“.”,就隻根據用戶輸入的字符進行查找,而不會去匹配用戶預先設置的域名後綴,因此最後這個“.”,也被稱為查找終止符。帶有查詢終止符的域名,稱為FQDN(Fully Qualified Domain Name,完全合格域名)。
目前,設備支持靜態域名解析和動態域名解析的DNS客戶端功能。
如果域名服務器上配置了域名的別名,設備也可以通過別名來解析主機的IP地址。
表1-1 域名解析配置任務簡介
配置任務 |
說明 |
詳細配置 |
配置IPv4 DNS client |
二者必選其一 |
|
配置IPv6 DNS client |
||
配置DNS報文的源端口 |
可選 |
|
配置DNS信任接口 |
可選 |
|
配置DNS/IPv6 DNS報文的DSCP優先級 |
可選 |
配置靜態域名解析就是通過配置使主機名與IPv4地址相互對應。當使用Telnet等應用時,可以直接使用主機名,由係統解析為IPv4地址。
在配置靜態域名解析時,需要注意:
· 在公網或單個VPN實例內,一個主機名隻能對應一個IPv4地址。重複配置時,新的配置會覆蓋原有配置。
· 公網或單個VPN實例內最多可以配置1024個主機名和IPv4地址的對應關係。可同時在公網和VPN實例內配置主機名和IPv4地址的對應關係。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置主機名和對應的IPv4地址 |
ip host host-name ip-address [ vpn-instance vpn-instance-name ] |
缺省情況下,不存在主機名及IPv4地址的對應關係 |
如果用戶要使用動態域名解析功能,則需要配置域名服務器的地址,這樣才能將請求報文發送到正確的服務器進行解析。
用戶還可以配置域名後綴,以便實現隻輸入域名的部分字段,而由係統自動加上預先設置的後綴進行解析。
· 公網或單個VPN實例內最多可以配置6個域名服務器的IPv4地址。可同時在公網和VPN實例內配置域名服務器的IPv4地址。
· 公網或單個VPN實例內最多可以配置6個域名服務器的IPv6地址。可同時在公網和VPN實例內配置域名服務器的IPv6地址。
· 查詢主機名對應的IPv4地址時,優先向域名服務器的IPv4地址發送查詢請求。如果查詢失敗,則再向域名服務器的IPv6地址發送查詢請求。
· 域名服務器的優先級順序為:先配置的域名服務器優先級高於後配置的域名服務器;設備上手工配置的域名服務器優先級高於通過DHCP等方式動態獲取的域名服務器。設備首先向優先級最高的域名服務器發送查詢請求,失敗後再根據優先級從高到低的次序向其他域名服務器發送查詢請求。
· 公網或單個VPN實例內最多可以配置16個域名後綴。可同時在公網和VPN實例內配置域名後綴。
· 添加域名後綴的優先級順序為:先配置的域名後綴優先級高於後配置的域名後綴;設備上手工配置的域名後綴優先級高於通過DHCP等方式動態獲取的域名後綴。設備首先添加優先級最高的域名後綴,查詢失敗後再根據優先級從高到低的次序添加其他域名後綴。
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置域名服務器地址 |
配置域名服務器的IPv4地址 |
dns server ip-address [ vpn-instance vpn-instance-name ] |
二者至少選其一 缺省情況下,未配置域名服務器的地址 |
配置域名服務器的IPv6地址 |
ipv6 dns server ipv6-address [ interface-type interface-number ] [ vpn-instance vpn-instance-name ] |
||
(可選)配置域名後綴 |
dns domain domain-name [ vpn-instance vpn-instance-name ] |
缺省情況下,未配置域名後綴,即隻根據用戶輸入的域名信息進行解析 |
配置靜態域名解析就是通過配置使主機名與IPv6地址相互對應。當使用Telnet等應用時,可以直接使用主機名,由係統解析為IPv6地址。
在配置靜態域名解析時,需要注意:
· 在公網或同一個VPN實例內,一個主機名隻能對應一個IPv6地址。重複配置時,新的配置會覆蓋原有配置。
· 公網或單個VPN實例內最多可配置1024個主機名與IPv6地址的對應關係。可同時在公網和VPN實例內配置主機名和IPv6地址的對應關係。
表1-4 配置靜態域名解析
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置主機名和對應的IPv6地址 |
ipv6 host host-name ipv6-address [ vpn-instance vpn-instance-name ] |
缺省情況下,不存在主機名及IPv6地址的對應關係 |
如果用戶要使用動態域名解析功能,則需要配置域名服務器的地址,這樣才能將查詢請求報文發送到正確的服務器進行解析。
用戶還可以配置域名後綴,以便實現隻輸入域名的部分字段,而由係統自動加上預先設置的後綴進行解析。
· 公網或單個VPN實例內最多可以配置6個域名服務器IPv4地址。可同時在公網和VPN實例內配置域名服務器IPv4地址。
· 公網或單個VPN實例內最多可以配置6個域名服務器IPv6地址。可同時在公網和VPN實例配置域名服務器IPv6地址。
· 查詢主機名對應的IPv6地址時,優先向域名服務器的IPv6地址發送查詢請求。如果查詢失敗,則再向域名服務器的IPv4地址發送查詢請求。
· 域名服務器的優先級順序為:先配置的域名服務器優先級高於後配置的域名服務器;設備上手工配置的域名服務器優先級高於通過DHCP等方式動態獲取的域名服務器。設備首先向優先級最高的域名服務器發送查詢請求,失敗後再依次向其他域名服務器發送查詢請求。
· 公網或單個VPN實例內最多可以配置16個域名後綴。可同時在公網和VPN實例內配置域名後綴。
· 添加域名後綴的優先級順序為:先配置的域名後綴優先級高於後配置的域名後綴;設備上手工配置的域名後綴優先級高於通過DHCP等方式動態獲取的域名後綴。設備首先添加優先級最高的域名後綴,查詢失敗後再依次添加其他域名後綴。
表1-5 配置動態域名解析
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
配置域名服務器地址 |
配置域名服務器的IPv4地址 |
dns server ip-address [ vpn-instance vpn-instance-name ] |
二者至少選其一 缺省情況下,未配置域名服務器的地址 |
配置域名服務器的IPv6地址 |
ipv6 dns server ipv6-address [ interface-type interface-number ] [ vpn-instance vpn-instance-name ] |
||
(可選)配置域名後綴 |
dns domain domain-name [ vpn-instance vpn-instance-name ] |
缺省情況下,未配置域名後綴,即隻根據用戶輸入的域名信息進行解析 |
無論配置的源接口是否屬於指定的VPN,該配置都會生效。不建議為VPN配置不屬於該VPN的接口作為源接口。否則,設備會使用不屬於該VPN的地址作為DNS報文源地址,導致無法收到DNS應答。
缺省情況下,設備根據域名服務器的地址,通過路由表查找請求報文的出接口,並將該出接口的主IP地址作為發送到該服務器的DNS請求報文的源地址。根據域名服務器的地址不同,發送報文的源地址可能會發生變化。在某些特殊的組網環境中,域名服務器隻應答來自特定源地址的DNS請求報文。這種情況下,必須指定DNS報文的源接口。如果為設備配置了DNS報文的源接口,則設備在發送DNS報文時,將固定使用該接口的主IP地址作為報文的源地址。
發送IPv4 DNS報文時,將使用源接口的主IPv4地址作為DNS報文的源地址。發送IPv6 DNS報文時,將根據RFC 3484中定義的規則從源接口上選擇IPv6地址作為DNS報文的源地址。如果源接口上未配置對應的地址,則將導致報文發送失敗。
公網或單個VPN內隻能配置1個源接口。重複配置時,新的配置會覆蓋原有配置。可同時在公網和VPN實例內配置源接口。
表1-6 配置DNS報文的源接口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
指定DNS報文的源接口 |
dns source-interface interface-type interface-number [ vpn-instance vpn-instance-name ] |
缺省情況下,未指定DNS報文的源接口 |
缺省情況下,任意接口通過DHCP等協議動態獲得的域名後綴和域名服務器信息都將作為有效信息,用於域名解析。如果網絡攻擊者通過DHCP服務器為設備分配錯誤的域名後綴和域名服務器地址,則會導致設備域名解析失敗,或解析到錯誤的結果。通過本配置指定信任接口後,域名解析時隻采用信任接口動態獲得的域名後綴和域名服務器信息,非信任接口獲得的信息不能用於域名解析,從而在一定程度上避免這類攻擊。
表1-7 配置DNS信任接口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
指定DNS信任接口 |
dns trust-interface interface-type interface-number |
缺省情況下,未指定任何接口為信任接口 |
設備最多可以配置128個DNS信任接口。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定設備發送的DNS報文的DSCP優先級。
表1-8 指定DNS報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
指定DNS客戶端或DNS proxy發出的DNS報文的DSCP優先級 |
dns dscp dscp-value |
缺省情況下,DNS報文的DSCP優先級為0,IPv6 DNS報文的DSCP優先級為0 |
指定IPv6 DNS客戶端或IPv6 DNS proxy發出的IPv6 DNS報文的DSCP優先級 |
ipv6 dns dscp dscp-value |
在完成上述配置後,在任意視圖下執行display命令可以顯示域名解析配置後的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除動態域名緩存信息。
操作 |
命令 |
顯示域名解析表信息 |
display dns host [ ip | ipv6 ] [ vpn-instance vpn-instance-name ] |
顯示域名服務器的IPv4地址信息 |
display dns server [ dynamic ] [ vpn-instance vpn-instance-name ] |
顯示域名服務器的IPv6地址信息 |
display ipv6 dns server [ dynamic ] [ vpn-instance vpn-instance-name ] |
顯示域名後綴信息 |
display dns domain [ dynamic ] [ vpn-instance vpn-instance-name ] |
清除動態域名解析緩存信息 |
reset dns host [ ip | ipv6 ] [ vpn-instance vpn-instance-name ] |
為了避免記憶複雜的IP地址,Device希望通過便於記憶的主機名訪問某一主機。在Device上手工配置IP地址對應的主機名,利用靜態域名解析功能,就可以實現通過主機名訪問該主機。
在本例中,Device訪問的主機IP地址為10.1.1.2,主機名為host.com。
圖1-2 靜態域名解析配置組網圖
# 配置主機名host.com對應的IP地址為10.1.1.2。
<Sysname> system-view
[Sysname] ip host host.com 10.1.1.2
# 執行ping host.com命令,Device通過靜態域名解析可以解析到host.com對應的IP地址為10.1.1.2。
[Sysname] ping host.com
Ping host.com (10.1.1.2): 56 data bytes, press CTRL_C to break
56 bytes from 10.1.1.2: icmp_seq=0 ttl=255 time=1.000 ms
56 bytes from 10.1.1.2: icmp_seq=1 ttl=255 time=1.000 ms
56 bytes from 10.1.1.2: icmp_seq=2 ttl=255 time=1.000 ms
56 bytes from 10.1.1.2: icmp_seq=3 ttl=255 time=1.000 ms
56 bytes from 10.1.1.2: icmp_seq=4 ttl=255 time=2.000 ms
--- Ping statistics for host.com ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.000/1.200/2.000/0.400 ms
為了避免記憶複雜的IP地址,Device希望通過便於記憶的域名訪問某一主機。如果網絡中存在域名服務器,則可以利用動態域名解析功能,實現通過域名訪問主機。
在本例中:
· 域名服務器的IP地址是2.1.1.2/16,域名服務器上存在com域,且com域中包含域名“host”和IP地址3.1.1.1/16的對應關係。
· Device作為DNS客戶端,使用動態域名解析功能,將域名解析為IP地址。
· Device上配置域名後綴com,以便簡化訪問主機時輸入的域名,例如通過輸入host即可訪問域名為host.com、IP地址為3.1.1.1/16的主機Host。
· 在開始下麵的配置之前,假設設備與主機之間的路由可達,設備和主機都已經配置完畢,接口IP地址如圖1-3所示。
· 不同域名服務器的配置方法不同,下麵僅以Windows Server 2008 R2為例,說明域名服務器的配置方法。
(1) 配置域名服務器
# 進入域名服務器配置界麵。
在開始菜單中,選擇[程序/管理工具/DNS]。
# 創建區域com。
如圖1-4所示,右鍵點擊[正向查找區域],選擇[新建區域],按照提示創建新的區域com。
# 添加域名和IP地址的映射。
如圖1-5所示,右鍵點擊區域[com]。
選擇[新建主機],彈出如圖1-6的對話框。按照圖1-6輸入域名host和IP地址3.1.1.1。單擊<添加主機>可完成操作。
圖1-6 添加域名和IP地址的映射
(2) 配置DNS客戶端Device
<Sysname> system-view
# 配置域名服務器的IP地址為2.1.1.2。
[Sysname] dns server 2.1.1.2
# 配置域名後綴com。
[Sysname] dns domain com
# 在設備上執行ping host命令,可以ping通主機,且對應的目的地址為3.1.1.1。
[Sysname] ping host
Ping host.com (3.1.1.1): 56 data bytes, press CTRL_C to break
56 bytes from 3.1.1.1: icmp_seq=0 ttl=255 time=1.000 ms
56 bytes from 3.1.1.1: icmp_seq=1 ttl=255 time=1.000 ms
56 bytes from 3.1.1.1: icmp_seq=2 ttl=255 time=1.000 ms
56 bytes from 3.1.1.1: icmp_seq=3 ttl=255 time=1.000 ms
56 bytes from 3.1.1.1: icmp_seq=4 ttl=255 time=2.000 ms
--- Ping statistics for host ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.000/1.200/2.000/0.400 ms
為了避免記憶複雜的IPv6地址,Device希望通過便於記憶的主機名訪問某一主機。在Device上手工配置IPv6地址對應的主機名,利用靜態域名解析功能,就可以實現通過主機名訪問該主機。
在本例中,Device訪問的主機IPv6地址為1::2,主機名為host.com。
圖1-7 靜態域名解析配置組網圖
# 配置主機名host.com對應的IPv6地址為1::2。
<Sysname> system-view
[Sysname] ipv6 host host.com 1::2
# 執行ping ipv6 host.com命令,Device通過靜態域名解析可以解析到host.com對應的IPv6地址為1::2。
[Sysname] ping ipv6 host.com
Ping6(56 data bytes) 1::1 --> 1::2, press CTRL_C to break
56 bytes from 1::2, icmp_seq=0 hlim=128 time=1.000 ms
56 bytes from 1::2, icmp_seq=1 hlim=128 time=0.000 ms
56 bytes from 1::2, icmp_seq=2 hlim=128 time=1.000 ms
56 bytes from 1::2, icmp_seq=3 hlim=128 time=1.000 ms
56 bytes from 1::2, icmp_seq=4 hlim=128 time=0.000 ms
--- Ping6 statistics for host.com ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/0.600/1.000/0.490 ms
為了避免記憶複雜的IPv6地址,Device希望通過便於記憶的域名訪問某一主機。如果網絡中存在域名服務器,則可以利用動態域名解析功能,實現通過域名訪問主機。
在本例中:
· 域名服務器的IPv6地址是2::2/64,域名服務器上存在com域,且com域中包含域名“host”和IPv6地址1::1/64的對應關係。
· Device作為DNS客戶端,使用動態域名解析功能,將域名解析為IPv6地址。
· Device上配置域名後綴com,以便簡化訪問主機時輸入的域名,例如通過輸入host即可訪問域名為host.com、IPv6地址為1::1/64的主機Host。
· 在開始下麵的配置之前,假設設備與主機之間的路由可達,設備和主機都已經配置完畢,接口IPv6地址如圖1-8所示。
· 不同域名服務器的配置方法不同,下麵僅以Windows Server 2008 R2為例,說明域名服務器的配置方法。配置之前,需確保DNS服務器支持IPv6 DNS功能,以便處理IPv6域名解析報文;且DNS服務器的接口可以轉發IPv6報文。
(1) 配置域名服務器
# 進入域名服務器配置界麵。
在開始菜單中,選擇[程序/管理工具/DNS]。
# 創建區域com。
如圖1-9所示,右鍵點擊[正向查找區域],選擇[新建區域],按照提示創建新的區域com。
如圖1-10所示,右鍵點擊區域[com]。
選擇[新建主機],彈出如圖1-11的對話框,輸入域名和IPv6地址1::1。單擊<添加主機>可完成操作。
圖1-11 添加域名和IPv6地址的映射
(2) 配置DNS客戶端Device
# 配置域名服務器的IPv6地址為2::2。
<Device> system-view
[Device] ipv6 dns server 2::2
# 配置域名後綴com。
[Device] dns domain com
# 在設備上執行ping ipv6 host命令,可以ping通主機,且對應的目的地址為1::1。
[Device] ping ipv6 host
Ping6(56 data bytes) 3::1 --> 1::1, press CTRL_C to break
56 bytes from 1::1, icmp_seq=0 hlim=128 time=1.000 ms
56 bytes from 1::1, icmp_seq=1 hlim=128 time=0.000 ms
56 bytes from 1::1, icmp_seq=2 hlim=128 time=1.000 ms
56 bytes from 1::1, icmp_seq=3 hlim=128 time=1.000 ms
56 bytes from 1::1, icmp_seq=4 hlim=128 time=0.000 ms
--- Ping6 statistics for host ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.000/0.600/1.000/0.490 ms
配置了動態域名解析,但不能根據域名解析到正確的IP地址。
DNS客戶端需要和域名服務器配合使用,才能根據域名解析到正確的IP地址。
· 執行命令display dns host ip,檢查動態域名緩存信息是否存在指定域名。
· 如果不存在要解析的域名,檢查DNS客戶端是否和域名服務器通信正常,域名服務器是否工作正常。
· 如果存在要解析的域名,但地址不對,則檢查DNS客戶端所配置的域名服務器的IP地址是否正確。
配置了動態域名解析,但不能根據域名解析到正確的IPv6地址。
DNS客戶端需要和域名服務器配合使用,才能根據域名解析到正確的IPv6地址。
· 執行命令display dns host ipv6,檢查動態域名緩存信息是否存在指定域名。
· 如果不存在要解析的域名,檢查DNS客戶端是否和域名服務器通信正常,域名服務器是否工作正常。
· 如果存在要解析的域名,但地址不對,則檢查DNS客戶端所配置的域名服務器的IPv6地址是否正確。
· 檢查域名服務器所設置的域名和地址映射表是否正確。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!