• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

13-三層技術-IP業務配置指導

目錄

09-域名解析配置

本章節下載 09-域名解析配置  (334.78 KB)

09-域名解析配置


1 域名解析

1.1  域名解析簡介

DNS(Domain Name System,域名係統)是一種用於TCP/IP應用程序的分布式數據庫,提供域名與IP地址之間的轉換。通過域名係統,用戶進行某些應用時,可以直接使用便於記憶的、有意義的域名,而由網絡中的域名解析服務器將域名解析為正確的IP地址。

1.1.1  域名解析類型

域名解析分為靜態域名解析和動態域名解析,二者可以配合使用。在解析域名時,首先采用靜態域名解析(查找靜態域名解析表),如果靜態域名解析不成功,再采用動態域名解析。由於動態域名解析需要域名服務器(DNS server)或域名服務器組的配合,會花費一定的時間,因而可以將一些常用的域名放入靜態域名解析表中,這樣可以大大提高域名解析效率。

1.1.2  靜態域名解析

靜態域名解析就是手工建立域名和IP地址之間的對應關係。當用戶使用域名進行某些應用(如telnet應用)時,係統查找靜態域名解析表,從中獲取指定域名對應的IP地址。

1.1.3  服務器域名解析

1. 體係結構

圖1-1 服務器域名解析

 

用戶程序、DNS客戶端及域名服務器的關係如圖1-1所示,其中解析器和緩存構成DNS客戶端。用戶程序、DNS客戶端在同一台設備上,而DNS客戶端和域名服務器一般分布在兩台設備上。

目前,設備隻能作為DNS客戶端,不能作為DNS服務器。

說明

如果域名服務器上配置了域名的別名,設備也可以通過別名來解析主機的IP地址。

 

2. 解析過程

服務器域名解析通過向域名服務器查詢域名和IP地址之間的對應關係來實現將域名解析為IP地址。服務器域名解析過程如下:

(1)     當用戶使用域名進行某些應用時,用戶程序首先向DNS客戶端中的解析器發出請求。

(2)     DNS客戶端收到請求後,首先查詢本地的域名緩存。如果存在已解析成功的映射項,就將域名對應的IP地址返回給用戶程序;如果未發現所要查找的映射項,就向域名服務器發送查詢請求。

(3)     域名服務器首先從自己的數據庫中查找域名對應的IP地址。如果判斷該域名不屬於本域範圍,就將請求交給其他域名服務器處理,直到完成解析,並將解析的結果返回給DNS客戶端。

(4)     DNS客戶端收到域名服務器的響應報文後,將解析結果返回用戶程序。

3. 緩存功能

服務器域名解析支持緩存功能。每次解析成功的域名與IP地址的映射均存放在DNS客戶端的動態域名緩存區中,當下一次查詢相同域名的時候,就可以直接從緩存區中讀取,不用再向域名服務器進行請求。緩存區中的映射在一段時間後會老化而被刪除,以保證及時從域名服務器得到最新的內容。老化時間由域名服務器設置,DNS客戶端從域名服務器的應答報文中獲得老化時間。

4. 域名後綴列表功能

服務器域名解析支持域名後綴列表功能。用戶可以預先設置一些域名後綴,在域名解析的時候,用戶隻需要輸入域名的部分字段,係統會自動將輸入的域名加上不同的後綴進行解析。例如,用戶想查詢域名aabbcc.com,那麼可以先在後綴列表中配置com,然後輸入aabbcc進行查詢,係統會自動將輸入的域名與後綴連接成aabbcc.com進行查詢。

使用域名後綴的時候,根據用戶輸入域名方式的不同,查詢方式分成以下幾種情況:

·     如果用戶輸入的域名中沒有“.”,比如aabbcc,係統認為這是一個主機名,會首先加上域名後綴進行查詢,如果所有加後綴的域名查詢都失敗,將使用最初輸入的域名(如aabbcc)進行查詢。

·     如果用戶輸入的域名中間有“.”,比如www.aabbcc,係統直接用它進行查詢,如果查詢失敗,再依次加上各個域名後綴進行查詢。

·     如果用戶輸入的域名最後有“.”,比如aabbcc.com.,表示不需要進行域名後綴添加,係統直接用輸入的域名進行查詢,不論成功與否都直接返回結果。就是說,如果用戶輸入的字符中最後一個字符為“.”,就隻根據用戶輸入的字符進行查找,而不會去匹配用戶預先設置的域名後綴,因此最後這個“.”,也被稱為查找終止符。帶有查詢終止符的域名,稱為FQDN(Fully Qualified Domain Name,完全合格域名)。

1.1.4  DNS代理

DNS代理(DNS proxy)用來在DNS client和DNS server之間轉發DNS請求和應答報文。局域網內的DNS client把DNS proxy當作DNS server,將DNS請求報文發送給DNS proxy。DNS proxy將該請求報文轉發到真正的DNS server,並將DNS server的應答報文返回給DNS client,從而實現域名解析。

使用DNS proxy功能後,當DNS server的地址發生變化時,隻需改變DNS proxy上的配置,無需改變局域網內每個DNS client的配置,從而簡化了網絡管理。

DNS proxy的典型應用環境如圖1-2所示。

圖1-2 DNS代理典型組網應用

 

DNS代理的工作過程如下:

(1)     DNS client把DNS proxy當作DNS server,將DNS請求報文發送給DNS proxy,即請求報文的目的地址為DNS proxy的IP地址。

(2)     DNS proxy收到請求報文後,首先查找本地的靜態域名解析表和動態域名解析緩存表,如果存在請求的信息,則DNS proxy直接通過DNS應答報文將域名解析結果返回給DNS client。

(3)     如果不存在請求的信息,則DNS proxy將報文轉發給域名服務器進行解析:

a.     當DNS proxy上配置了域名服務器組時,則DNS proxy根據域名匹配規則選擇對應的域名服務器組,並將請求轉發給服務器組中服務器;

b.     如果不存在匹配的域名服務器組,且配置了域名服務器地址時,DNS proxy將報文轉發給DNS服務器,通過DNS服務器進行域名解析。

(4)     DNS proxy收到DNS server的應答報文後,記錄域名解析的結果,並將報文轉發給DNS client。DNS client利用域名解析的結果進行相應的處理。

隻有DNS proxy上存在域名服務器地址,並存在到達域名服務器的路由,DNS proxy才會向DNS server發送域名解析請求。

1.1.5  DNS spoofing

圖1-3 DNS spoofing典型應用場景

DNS spoofing(DNS欺騙)主要應用於圖1-3所示的撥號網絡。在該網絡中:

·     Device通過撥號接口連接到PSTN等撥號網絡。隻有存在通過撥號接口轉發的報文時,才會觸發撥號接口建立連接。

·     Device作為DNS proxy。在Host上將Device指定為DNS服務器;撥號接口建立連接後,Device通過DHCP等方式動態獲取DNS服務器地址。

Device上未開啟DNS spoofing功能時,Device接收到Host發送的域名解析請求報文後,如果不存在對應的域名解析表項,則需要向DNS server發送域名解析請求。但是,由於此時撥號接口尚未建立連接,Device上不存在DNS server地址,Device不會向DNS server發送域名解析請求,也不會應答DNS client的請求。從而導致域名解析失敗,且沒有流量觸發撥號接口建立連接。

DNS spoofing功能可以解決上述問題。使能DNS spoofing功能後,即便Device上不存在DNS server地址或到達DNS server的路由,Device也會利用指定的IP地址作為域名解析結果,應答DNS client的域名解析請求。DNS client後續發送的報文可以用來觸發撥號接口建立連接。

圖1-3所示網絡中,Host訪問HTTP server的報文處理流程為:

(1)     Host通過域名訪問HTTP server時,首先向Device發送域名解析請求,將HTTP server的域名解析為IP地址。

(2)     Device接收到域名解析請求後,如果撥號接口尚未建立連接,Device上不存在DNS server地址,或者設備上配置的DNS server地址均不可達,則Device利用DNS spoofing中指定的IP地址作為域名解析結果,應答DNS client的域名解析請求。該域名解析應答的老化時間為0。並且,應答的IP地址滿足如下條件:Device上存在到達該IP地址的路由,且路由的出接口為撥號接口。

(3)     Host接收到Device的應答報文後,向應答的IP地址發送HTTP請求。

(4)     Device通過撥號接口轉發HTTP請求時,觸發撥號接口建立連接,並通過DHCP等方式動態獲取DNS server的地址。

(5)     域名解析應答老化後,Host再次發送域名解析請求。

(6)     之後,Device的處理過程與DNS proxy工作過程相同,請參見“1.1.4  DNS代理”。

(7)     Host獲取到正確的HTTP server地址後,可以正常訪問HTTP server。

說明

由於DNS spoofing功能指定的IP地址並不是待解析域名對應的IP地址,為了防止DNS client上保存錯誤的域名解析表項,該IP地址對應域名解析應答的老化時間為0。

 

1.2  域名解析配置任務簡介

域名解析配置任務如下:

(1)     配置DNS客戶端

請至少選擇其中一項進行配置。

¡     配置靜態域名解析

¡     配置服務器域名解析

(2)     (可選)配置DNS proxy

(3)     (可選)配置DNS spoofing

本功能用於撥號網絡。

(4)     (可選)配置DNS Snooping功能

(5)     (可選)配置DNS源地址透明代理

(6)     (可選)配置DNS報文的源接口

(7)     (可選)配置DNS信任接口

(8)     (可選)指定DNS報文的DSCP優先級

1.3  配置DNS客戶端

1.3.1  功能簡介

如果DNS客戶端上同時配置了靜態域名解析和動態域名解析,則收到域名請求後,匹配順序如下:

(1)     DNS客戶端本地緩存已解析的域名信息;

(2)     靜態域名解析;

(3)     使用域名服務器進行域名解析。

如果以上方式均無法解析成功,則域名解析過程失敗。

1.3.2  配置靜態域名解析

1. 配置限製和指導

在公網或單個VPN實例內,一個主機名隻能對應一個IPv4地址和IPv6地址。

公網或單個VPN實例內最多可以配置2048個主機名和地址的對應關係。可同時在公網和VPN實例內配置主機名和地址的對應關係。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置主機名和對應的地址。

(IPv4網絡)

ip host host-name ip-address [ vpn-instance vpn-instance-name ]

(IPv6網絡)

ipv6 host host-name ipv6-address [ vpn-instance vpn-instance-name ]

1.3.3  配置服務器域名解析

1. 配置限製和指導

·     設備上允許配置的域名服務器數目限製為:

¡     係統視圖下,公網或單個VPN實例內最多可以配置6個域名服務器的IPv4地址。可同時在公網和VPN實例內配置域名服務器的IPv4地址。

¡     係統視圖下,公網或單個VPN實例內最多可以配置6個域名服務器的IPv6地址。可同時在公網和VPN實例內配置域名服務器的IPv6地址。

¡     接口視圖下,公網或單個VPN實例內最多可以配置6個域名服務器的IPv4地址。可同時在公網和VPN實例內配置域名服務器的IPv4地址。

·     如果同時配置域名服務器的IPv4地址和IPv6地址,DNS客戶端向域名服務器發送請求的處理方式如下:

¡     查詢主機名對應的IPv4地址時,優先向域名服務器的IPv4地址發送查詢請求。如果查詢失敗,則再向域名服務器的IPv6地址發送查詢請求;

¡     查詢主機名對應的IPv6地址時,優先向域名服務器的IPv6地址發送查詢請求。如果查詢失敗,則再向域名服務器的IPv4地址發送查詢請求。

·     域名服務器的優先級順序為:係統視圖下配置的域名服務器優先級高於接口視圖下配置的域名服務器;先配置的域名服務器優先級高於後配置的域名服務器;設備上手工配置的域名服務器優先級高於通過DHCP等方式動態獲取的域名服務器。設備首先向優先級最高的域名服務器發送查詢請求,失敗後再根據優先級從高到低的次序向其他域名服務器發送查詢請求。

·     配置域名解析後綴時,需要注意:

¡     公網或單個VPN實例內最多可以配置16個域名後綴。可同時在公網和VPN實例內配置域名後綴。

¡     添加域名後綴的優先級順序為:先配置的域名後綴優先級高於後配置的域名後綴;設備上手工配置的域名後綴優先級高於通過DHCP等方式動態獲取的域名後綴。設備首先添加優先級最高的域名後綴,查詢失敗後再根據優先級從高到低的次序添加其他域名後綴。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     (可選)配置域名後綴。

dns domain domain-name [ vpn-instance vpn-instance-name ]

缺省情況下,未配置域名後綴,即隻根據用戶輸入的域名信息進行解析。

(3)     配置域名服務器的地址。

¡     係統視圖下配置域名服務器的地址。

(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 ]

¡     請依次執行以下命令在接口視圖下配置域名服務器的IPv4地址。

interface interface-type interface-number

dns server ip-address [ vpn-instance vpn-instance-name ]

缺省情況下,未配置域名服務器的地址。

1.4  配置DNS proxy

1.4.1  開啟DNS proxy功能

(1)     進入係統視圖。

system-view

(2)     開啟DNS proxy功能。

dns proxy enable

缺省情況下,DNS proxy功能處於關閉狀態。

1.4.2  配置域名服務器的地址

1. 配置限製和指導

可以指定多個DNS服務器。DNS proxy接收到客戶端的查詢請求後,首先向優先級最高的DNS服務器轉發查詢請求,失敗後再依次向其他DNS服務器轉發查詢請求。

DNS proxy可同時配置域名服務器的IPv4地址和IPv6地址。無論DNS proxy接收到的查詢請求是來自IPv4客戶端還是來自IPv6客戶端,DNS proxy都會按照優先級順序向域名服務器的IPv4地址和IPv6地址轉發查詢請求。如果查詢請求是IPv4報文,則優先向域名服務器的IPv4地址轉發查詢請求。如果查詢請求是IPv6報文,則優先向域名服務器的IPv6地址轉發查詢請求。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置域名服務器的地址。

¡     係統視圖下配置域名服務器的地址。

(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 ]

¡     請依次執行以下命令在接口視圖下配置域名服務器的IPv4地址。

interface interface-type interface-number

dns server ip-address [ vpn-instance vpn-instance-name ]

缺省情況下,未配置域名服務器的地址。

1.5  配置DNS spoofing

1. 配置限製和指導

公網或單個VPN實例內隻能配置1個DNS spoofing應答的IPv4地址和1個DNS spoofing應答的IPv6地址。重複配置時,新的配置會覆蓋原有配置。

可同時在公網和VPN實例內配置DNS spoofing功能。

DNS spoofing功能生效時,即使設備上配置了靜態域名解析,也會使用DNS spoofing指定的IP地址來應答DNS請求。

2. 配置準備

設備上啟用了DNS proxy功能。

設備上未指定域名服務器地址或不存在到達域名服務器的路由。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     啟用DNS proxy功能。

dns proxy enable

缺省情況下,DNS proxy功能處於關閉狀態。

(3)     開啟DNS spoofing功能,並指定DNS spoofing應答地址。

(IPv4網絡)

dns spoofing ip-address [ vpn-instance vpn-instance-name ]

(IPv6網絡)

ipv6 dns spoofing ipv6-address [ vpn-instance vpn-instance-name ]

缺省情況下,未開啟DNS spoofing功能。

1.6  配置DNS Snooping功能

1. 功能簡介

網絡環境中,DNS proxy設備收到請求報文後,需要查詢自己是否記錄了請求域名對應的地址,如果存在,則直接應答需求;如果不存在,則需要向DNS服務器轉發請求。如果網絡中存在攻擊源或有大量客戶端同一時間發送大量DNS請求,則會增加網絡負載並影響DNS proxy設備或DNS服務器的性能。

可以在DNS客戶端和DNS proxy或DNS服務器之間的設備配置DNS Snooping功能,配置本功能後,DNS收到一個請求和對應的應答報文後會進行記錄,並生成日誌發給快速日誌模塊。管理員通過查詢日誌信息確認並解決問題。關於快速日誌模塊的詳細介紹,請參見“網絡管理和監控配置指導”中的“快速日誌輸出”。

開啟DNS Snooping的報文限速功能後,當接口上收到的DNS報文速率超過用戶設定的限速值時,丟棄超過速率限製的DNS報文。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟DNS Snooping的日誌功能。

dns snooping log enable

缺省情況下,DNS Snooping的日誌功能處於關閉狀態。

(3)     開啟DNS Snooping的報文限速功能,並指定限速速率。

dns snooping rate-limit rate

缺省情況下,DNS Snooping的報文限速功能處於關閉狀態。

1.7  配置DNS源地址透明代理

1. 功能簡介

在DNS客戶端和DNS proxy或DHCP服務器之間的設備上開啟DNS Snooping功能後,該設備將可以監聽過路的DNS報文,但是在一些負載均衡場景中,對應的DNS應答報文可能不會返回此監聽設備,將會導致監聽失敗。在開啟DNS Snooping功能的設備上開啟DNS源地址透明代理功能後,可以解決上述問題,工作機製如下:

(1)     DNS Snooping設備監聽所有過路DNS報文,當收到DNS請求報文時,設備根據一定的規則從能夠到達DNS服務器的本地IP地址選取一個,並將其作為修改後的DNS請求報文的源IP地址,以便DNS應答報文能夠返回本設備。

(2)     DNS Snooping設備收到DNS服務器的應答報文後,記錄域名解析的結果,並將報文轉發給DNS客戶端。DNS客戶端利用域名解析的結果進行相應的處理。

圖1-4所示,Device A和Device B上開啟了DNS Snooping功能,用於監聽過路DNS報文。以Device A為例,為了保證Device A監聽成功,需要在Device A上開啟DNS源地址透明代理功能。Device A收到一個請求和對應的應答報文後,記錄域名和IP地址的關係,並將報文轉發給DNS客戶端。

圖1-4 DNS源地址透明代理原理圖

 

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟DNS源地址透明代理功能。

dns transparent-proxy enable

缺省情況下,DNS源地址透明代理功能處於關閉狀態。

1.8  配置DNS報文的源接口

1. 功能簡介

缺省情況下,設備根據域名服務器的地址,通過路由表查找請求報文的出接口,並將該出接口的主IP地址作為發送到該服務器的DNS請求報文的源地址。根據域名服務器的地址不同,發送報文的源地址可能會發生變化。在某些特殊的組網環境中,域名服務器隻應答來自特定源地址的DNS請求報文。這種情況下,必須指定DNS報文的源接口。如果為設備配置了DNS報文的源接口,則設備在發送DNS報文時,將固定使用該接口的主IP地址作為報文的源地址。

2. 配置限製和指導

發送IPv4 DNS報文時,將使用源接口的主IPv4地址作為DNS報文的源地址。發送IPv6 DNS報文時,將根據RFC 3484中定義的規則從源接口上選擇IPv6地址作為DNS報文的源地址。如果源接口上未配置對應的地址,則將導致報文發送失敗。

公網或單個VPN實例內隻能配置1個源接口。重複配置時,新的配置會覆蓋原有配置。可同時在公網和VPN實例內配置源接口。

無論配置的源接口是否屬於指定的VPN,該配置都會生效。不建議為某個VPN配置一個不屬於該VPN的源接口。否則,設備會使用不屬於該VPN的地址作為DNS報文源地址,導致無法收到DNS應答。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     指定DNS報文的源接口。

dns source-interface interface-type interface-number [ vpn-instance vpn-instance-name ]

缺省情況下,未指定DNS報文的源接口。

1.9  配置DNS信任接口

1. 功能簡介

缺省情況下,任意接口通過DHCP等協議動態獲得的域名後綴和域名服務器信息都將作為有效信息,用於域名解析。如果網絡攻擊者通過DHCP服務器為設備分配錯誤的域名後綴和域名服務器地址,則會導致設備域名解析失敗,或解析到錯誤的結果。通過本配置指定信任接口後,域名解析時隻采用信任接口動態獲得的域名後綴和域名服務器信息,非信任接口獲得的信息不能用於域名解析,從而在一定程度上避免這類攻擊。

2. 配置限製和指導

設備最多可以配置128個DNS信任接口。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     指定DNS信任接口。

dns trust-interface interface-type interface-number

缺省情況下,未指定任何接口為信任接口。

1.10  指定DNS報文的DSCP優先級

1. 功能簡介

DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定設備發送的DNS報文的DSCP優先級。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     指定DNS客戶端或DNS proxy發出的DNS報文的DSCP優先級。

(IPv4網絡)

dns dscp dscp-value

缺省情況下,DNS報文的DSCP優先級為0。

(IPv6網絡)

ipv6 dns dscp dscp-value

缺省情況下, IPv6 DNS報文的DSCP優先級為0。

1.11  域名解析顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示域名解析配置後的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下,執行reset命令可以清除動態域名緩存信息。

表1-1 域名解析顯示和維護

操作

命令

顯示域名後綴信息

display dns domain [ dynamic ] [ vpn-instance vpn-instance-name ]

顯示域名解析表信息

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 ]

清除動態域名解析緩存信息

reset dns host [ ip | ipv6 ] [ vpn-instance vpn-instance-name ]

 

1.12  域名解析常見故障處理

1.12.1  無法解析到正確的IP地址

1. 故障現象

配置了動態域名解析,但不能根據域名解析到正確的IP地址。

2. 故障分析

DNS客戶端需要和域名服務器配合使用,才能根據域名解析到正確的IP地址。

3. 處理過程

·     執行命令display dns host ip,檢查動態域名緩存信息是否存在指定域名。

·     如果不存在要解析的域名,檢查DNS客戶端是否和域名服務器通信正常,域名服務器是否工作正常。

·     如果存在要解析的域名,但地址不對,則檢查DNS客戶端所配置的域名服務器的IP地址是否正確。

·     檢查域名服務器所設置的域名和地址映射表是否正確。

1.12.2  無法解析到正確的IPv6地址

1. 故障現象

配置了動態域名解析,但不能根據域名解析到正確的IPv6地址。

2. 故障分析

DNS客戶端需要和域名服務器配合使用,才能根據域名解析到正確的IPv6地址。

3. 處理過程

·     執行命令display dns host ipv6,檢查動態域名緩存信息是否存在指定域名。

·     如果不存在要解析的域名,檢查DNS客戶端是否和域名服務器通信正常,域名服務器是否工作正常。

·     如果存在要解析的域名,但地址不對,則檢查DNS客戶端所配置的域名服務器的IPv6地址是否正確。

·     檢查域名服務器所設置的域名和地址映射表是否正確。

 

 

 

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們