选择区域语言: EN CN HK

05-三层技术-IP业务配置指导

04-域名解析配置

本章节下载  (477.81 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/LA_wireless/H3C_LA6600/Configure/Operation_Manual/H3C_LA6600_CG(V7)-R0605-6W200/05/201703/981288_30005_0.htm

04-域名解析配置


1 域名解析

1.1  域名解析简介

DNS(Domain Name System,域名系统)是一种用于TCP/IP应用程序的分布式数据库,提供域名与IP地址之间的转换。通过域名系统,用户进行某些应用时,可以直接使用便于记忆的、有意义的域名,而由网络中的域名解析服务器将域名解析为正确的IP地址。

域名解析分为静态域名解析和动态域名解析,二者可以配合使用。在解析域名时,首先采用静态域名解析(查找静态域名解析表),如果静态域名解析不成功,再采用动态域名解析。由于动态域名解析需要域名服务器(DNS server)的配合,会花费一定的时间,因而可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

1.1.1  静态域名解析

静态域名解析就是手工建立域名和IP地址之间的对应关系。当用户使用域名进行某些应用(如telnet应用)时,系统查找静态域名解析表,从中获取指定域名对应的IP地址。

1.1.2  动态域名解析

1. 解析过程

动态域名解析通过向域名服务器查询域名和IP地址之间的对应关系来实现将域名解析为IP地址。动态域名解析过程如下:

(1)     当用户使用域名进行某些应用时,用户程序首先向DNS客户端中的解析器发出请求。

(2)     DNS客户端收到请求后,首先查询本地的域名缓存。如果存在已解析成功的映射项,就将域名对应的IP地址返回给用户程序;如果未发现所要查找的映射项,就向域名服务器发送查询请求。

(3)     域名服务器首先从自己的数据库中查找域名对应的IP地址。如果判断该域名不属于本域范围,就将请求交给其他域名服务器处理,直到完成解析,并将解析的结果返回给DNS客户端。

(4)     DNS客户端收到域名服务器的响应报文后,将解析结果返回用户程序。

图1-1 动态域名解析

 

用户程序、DNS客户端及域名服务器的关系如图1-1所示,其中解析器和缓存构成DNS客户端。用户程序、DNS客户端在同一台设备上,而DNS客户端和域名服务器一般分布在两台设备上。

动态域名解析支持缓存功能。每次动态解析成功的域名与IP地址的映射均存放在DNS客户端的动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。缓存区中的映射在一段时间后会老化而被删除,以保证及时从域名服务器得到最新的内容。老化时间由域名服务器设置,DNS客户端从域名服务器的应答报文中获得老化时间。

2. 域名后缀列表功能

动态域名解析支持域名后缀列表功能。用户可以预先设置一些域名后缀,在域名解析的时候,用户只需要输入域名的部分字段,系统会自动将输入的域名加上不同的后缀进行解析。例如,用户想查询域名aabbcc.com,那么可以先在后缀列表中配置com,然后输入aabbcc进行查询,系统会自动将输入的域名与后缀连接成aabbcc.com进行查询。

使用域名后缀的时候,根据用户输入域名方式的不同,查询方式分成以下几种情况:

·     如果用户输入的域名中没有“.”,比如aabbcc,系统认为这是一个主机名,会首先加上域名后缀进行查询,如果所有加后缀的域名查询都失败,将使用最初输入的域名(如aabbcc)进行查询。

·     如果用户输入的域名中间有“.”,比如www.aabbcc,系统直接用它进行查询,如果查询失败,再依次加上各个域名后缀进行查询。

·     如果用户输入的域名最后有“.”,比如aabbcc.com.,表示不需要进行域名后缀添加,系统直接用输入的域名进行查询,不论成功与否都直接返回结果。就是说,如果用户输入的字符中最后一个字符为“.”,就只根据用户输入的字符进行查找,而不会去匹配用户预先设置的域名后缀,因此最后这个“.”,也被称为查找终止符。带有查询终止符的域名,称为FQDN(Fully Qualified Domain Name,完全合格域名)。

目前,设备支持静态域名解析和动态域名解析的DNS客户端功能。

说明

如果域名服务器上配置了域名的别名,设备也可以通过别名来解析主机的IP地址。

 

1.1.3  DNS代理

1. 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代理典型组网应用

 

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将报文转发给DNS server,通过DNS server进行域名解析。

(4)     DNS proxy收到DNS server的应答报文后,记录域名解析的结果,并将报文转发给DNS client。DNS client利用域名解析的结果进行相应的处理。

只有DNS proxy上存在域名服务器地址,并存在到达域名服务器的路由,DNS proxy才会向DNS server发送域名解析请求。

1.1.4  DNS spoofing

图1-3 DNS spoofing典型应用场景

 

DNS spoofing(DNS欺骗)主要应用于图1-3所示的拨号网络。在该网络中:

·     Device通过拨号接口连接到PSTN/ISDN等拨号网络。只有存在通过拨号接口转发的报文时,才会触发拨号接口建立连接。

·     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.3  2. DNS代理的工作机制”。

(7)     Host获取到正确的HTTP server地址后,可以正常访问HTTP server。

说明

由于DNS spoofing功能指定的IP地址并不是待解析域名对应的IP地址,为了防止DNS client上保存错误的域名解析表项,该IP地址对应域名解析应答的老化时间为0。

 

1.2  域名解析配置任务简介

表1-1 域名解析配置任务简介

配置任务

说明

详细配置

配置IPv4 DNS client

必选

1.3 

配置DNS proxy

可选

1.4 

配置DNS spoofing

可选

1.5 

配置监视指定出接口的网络制式

可选

1.6 

配置DNS报文的源端口

可选

1.7 

配置DNS信任接口

可选

1.8 

配置DNS报文的DSCP优先级

可选

1.9 

 

1.3  配置IPv4 DNS client

1.3.1  配置静态域名解析

配置静态域名解析就是通过配置使主机名与IPv4地址相互对应。当使用Telnet等应用时,可以直接使用主机名,由系统解析为IPv4地址。

在配置静态域名解析时,需要注意:

·     在公网内,一个主机名只能对应一个IPv4地址。重复配置时,新的配置会覆盖原有配置。

·     公网内最多可以配置1024个主机名和IPv4地址的对应关系。

表1-2 配置静态域名解析

操作

命令

说明

进入系统视图

system-view

-

配置主机名和对应的IPv4地址

ip host host-name ip-address

缺省情况下,不存在主机名及IPv4地址的对应关系

 

1.3.2  配置动态域名解析

1. 功能简介

如果用户要使用动态域名解析功能,则需要配置域名服务器的地址,这样才能将请求报文发送到正确的服务器进行解析。

用户还可以配置域名后缀,以便实现只输入域名的部分字段,而由系统自动加上预先设置的后缀进行解析。

2. 配置限制和指导

·     系统视图下,公网内最多可以配置6个域名服务器的IPv4地址。

·     接口视图下,公网内最多可以配置6个域名服务器的IPv4地址。

·     查询主机名对应的IPv4地址时,会向域名服务器的IPv4地址发送查询请求。

·     域名服务器的优先级顺序为:系统视图下配置的域名服务器优先级高于接口视图下配置的域名服务器;先配置的域名服务器优先级高于后配置的域名服务器;设备上手工配置的域名服务器优先级高于通过DHCP等方式动态获取的域名服务器。设备首先向优先级最高的域名服务器发送查询请求,失败后再根据优先级从高到低的次序向其他域名服务器发送查询请求。公网内最多可以配置16个域名后缀。

·     添加域名后缀的优先级顺序为:先配置的域名后缀优先级高于后配置的域名后缀;设备上手工配置的域名后缀优先级高于通过DHCP等方式动态获取的域名后缀。设备首先添加优先级最高的域名后缀,查询失败后再根据优先级从高到低的次序添加其他域名后缀。

3. 配置步骤

表1-3 配置动态域名解析

操作

命令

说明

进入系统视图

system-view

-

(可选)配置域名后缀

dns domain domain-name

缺省情况下,未配置域名后缀,即只根据用户输入的域名信息进行解析

系统视图下配置域名服务器的IPv4地址

dns server ip-address

二者至少选其一

缺省情况下,未配置域名服务器的地址

接口视图下配置域名服务器的IPv4地址

进入接口视图

Interface interface-type interface-number

配置域名服务器的IPv4地址

dns server ip-address

 

1.4  配置DNS proxy

可以指定多个DNS server。DNS proxy接收到客户端的查询请求后,首先向优先级最高的DNS server转发查询请求,失败后再依次向其他DNS server转发查询请求。

当DNS proxy接收到来自IPv4客户端的查询请求时,DNS proxy会向域名服务器的IPv4地址转发查询请求。

表1-4 配置DNS proxy

操作

命令

说明

进入系统视图

system-view

-

开启DNS proxy功能

dns proxy enable

缺省情况下,DNS proxy功能处于关闭状态

系统视图下配置域名服务器的IPv4地址

dns server ip-address

二者至少选其一

缺省情况下,未配置域名服务器的地址

接口视图下配置域名服务器的IPv4地址

进入接口视图

Interface interface-type interface-number

配置域名服务器的IPv4地址

dns server ip-address

 

1.5  配置DNS spoofing

1. 配置准备

只有在以下条件均满足的情况下,DNS spoofing功能才会生效:

·     设备上启用了DNS proxy功能

·     设备上未指定域名服务器地址或不存在到达域名服务器的路由

因此,配置DNS spoofing前,需要先启用DNS proxy功能。

配置DNS spoofing功能时,需要注意:

·     公网内只能配置1个DNS spoofing应答的IPv4地址。重复配置时,新的配置会覆盖原有配置。

·     DNS spoofing功能生效时,即使设备上配置了静态域名解析,也会使用DNS spoofing指定的IP地址来应答DNS请求。

2. 配置步骤

表1-5 配置DNS spoofing

操作

命令

说明

进入系统视图

system-view

-

启用DNS proxy功能

dns proxy enable

缺省情况下,DNS proxy功能处于关闭状态

开启DNS Snooping功能,并指定DNS spoofing应答的IPv4地址

dns spoofing ip-address

缺省情况下,未开启DNS Snooping功能

 

1.6  配置监视指定出接口的网络制式

对于某些特殊组网,如果设备已经具有到达DNS服务器的路由,用户可以通过本配置来监视该路由对应的Cellular类型出接口的网络制式:

·     如果Cellular口的网络制式为2G,由于出口带宽较小,因此设备不希望用户通过该接口访问DNS服务器,这时利用配置的应答IPv4地址作为域名解析结果,对用户进行DNS spoofing欺骗代答;

·     如果Cellular口的网络制式为3G/4G,由于出口带宽较大,因此设备不需要进行DNS spoofing欺骗代答,用户可以访问到DNS服务器。

表1-6 配置监视指定出接口的网路制式

操作

命令

说明

进入系统视图

system-view

-

启用DNS proxy功能

dns proxy enable

缺省情况下,DNS proxy功能处于关闭状态

开启DNS Snooping功能,并指定DNS spoofing应答的IPv4地址

dns spoofing ip-address

缺省情况下,未开启DNS Snooping功能

该地址建议配置为本设备的私网地址

配置监视指定出接口的网络制式

dns spoofing track controller interface-type interface-number

缺省情况下,未配置监视指定出接口的网络制式

 

1.7  配置DNS报文的源接口

缺省情况下,设备根据域名服务器的地址,通过路由表查找请求报文的出接口,并将该出接口的主IP地址作为发送到该服务器的DNS请求报文的源地址。根据域名服务器的地址不同,发送报文的源地址可能会发生变化。在某些特殊的组网环境中,域名服务器只应答来自特定源地址的DNS请求报文。这种情况下,必须指定DNS报文的源接口。如果为设备配置了DNS报文的源接口,则设备在发送DNS报文时,将固定使用该接口的主IP地址作为报文的源地址。

发送IPv4 DNS报文时,将使用源接口的主IPv4地址作为DNS报文的源地址。如果源接口上未配置对应的地址,则将导致报文发送失败。

公网内只能配置1个源接口。重复配置时,新的配置会覆盖原有配置。

表1-7 配置DNS报文的源接口

操作

命令

说明

进入系统视图

system-view

-

指定DNS报文的源接口

dns source-interface interface-type interface-number

缺省情况下,未指定DNS报文的源接口

 

1.8  配置DNS信任接口

缺省情况下,任意接口通过DHCP等协议动态获得的域名后缀和域名服务器信息都将作为有效信息,用于域名解析。如果网络攻击者通过DHCP服务器为设备分配错误的域名后缀和域名服务器地址,则会导致设备域名解析失败,或解析到错误的结果。通过本配置指定信任接口后,域名解析时只采用信任接口动态获得的域名后缀和域名服务器信息,非信任接口获得的信息不能用于域名解析,从而在一定程度上避免这类攻击。

表1-8 配置DNS信任接口

操作

命令

说明

进入系统视图

system-view

-

指定DNS信任接口

dns trust-interface interface-type interface-number

缺省情况下,未指定任何接口为信任接口

 

说明

设备最多可以配置128个DNS信任接口。

 

1.9  配置DNS报文的DSCP优先级

DSCP优先级用来体现报文自身的优先等级,决定报文传输的优先程度。通过本配置可以指定设备发送的DNS报文的DSCP优先级。

本命令的配置同时用于DNS客户端和DNS proxy。

表1-9 配置DNS报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

配置DNS报文的DSCP优先级

dns dscp dscp-value

缺省情况下,DNS报文的DSCP优先级为0

 

1.10  域名解析显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示域名解析配置后的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,执行reset命令可以清除动态域名缓存信息。

表1-10 域名解析显示和维护

操作

命令

显示域名解析表信息

display dns host [ ip ]

显示域名服务器的IPv4地址信息

display dns server [ dynamic ]

显示域名后缀信息

display dns domain [ dynamic ]

清除动态域名解析缓存信息

reset dns host [ ip ]

 

1.11  IPv4域名解析典型配置举例

1.11.1  静态域名解析配置举例

1. 组网需求

为了避免记忆复杂的IP地址,Device希望通过便于记忆的主机名访问某一主机。在Device上手工配置IP地址对应的主机名,利用静态域名解析功能,就可以实现通过主机名访问该主机。

在本例中,Device访问的主机IP地址为10.1.1.2,主机名为host.com。

2. 组网图

图1-4 静态域名解析配置组网图

 

3. 配置步骤

# 配置主机名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

1.11.2  动态域名解析配置举例

1. 组网需求

为了避免记忆复杂的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。

2. 组网图

图1-5 动态域名解析组网图

 

3. 配置步骤

说明

·     在开始下面的配置之前,假设设备与主机之间的路由可达,设备和主机都已经配置完毕,接口IP地址如图1-5所示。

·     不同域名服务器的配置方法不同,下面仅以Windows Server 2008 R2为例,说明域名服务器的配置方法。

 

(1)     配置域名服务器

# 进入域名服务器配置界面。

在开始菜单中,选择[程序/管理工具/DNS]。

# 创建区域com。

图1-6所示,右键点击[正向查找区域],选择[新建区域],按照提示创建新的区域com。

图1-6 创建区域

 

# 添加域名和IP地址的映射。

图1-7所示,右键点击区域[com]。

图1-7 新建主机

 

选择[新建主机],弹出如图1-8的对话框。按照图1-8输入域名host和IP地址3.1.1.1。单击<添加主机>可完成操作。

图1-8 添加域名和IP地址的映射

 

(2)     配置DNS客户端Device

<Sysname> system-view

# 配置域名服务器的IP地址为2.1.1.2。

[Sysname] dns server 2.1.1.2

# 配置域名后缀com。

[Sysname] dns domain com

4. 验证配置

# 在设备上执行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

1.11.3  DNS proxy典型配置举例

1. 组网需求

某局域网内拥有多台设备,每台设备上都指定了域名服务器的IP地址,以便直接通过域名访问外部网络。当域名服务器的IP地址发生变化时,网络管理员需要更改局域网内所有设备上配置的域名服务器IP地址,工作量将会非常巨大。

通过DNS proxy功能,可以大大减少网络管理员的工作量。当域名服务器IP地址改变时,只需更改DNS proxy上的配置,即可实现局域网内设备通过新的域名服务器解析域名。

在本例中,具体配置步骤为:

(1)     局域网中的某台设备Device A配置为DNS proxy,DNS proxy上指定域名服务器IP地址为真正的域名服务器的地址4.1.1.1。

(2)     局域网中的其他设备(如Device B)上,域名服务器的IP地址配置为DNS proxy的地址,域名解析报文将通过DNS proxy转发给真正的域名服务器。

2. 组网图

图1-9 DNS proxy组网图

 

3. 配置步骤

说明

在开始下面的配置之前,假设设备与域名服务器、主机之间的路由可达,并已按照图1-9配置各接口的IP地址。

 

(1)     配置域名服务器

不同的域名服务器的配置方法不同。Windows Server 2008 R2作为域名服务器时,配置方法请参见“1.11.2  动态域名解析配置举例”。

(2)     配置DNS代理Device A

# 配置域名服务器的IP地址为4.1.1.1。

<DeviceA> system-view

[DeviceA] dns server 4.1.1.1

# 开启DNS proxy功能。

[DeviceA] dns proxy enable

(3)     配置DNS客户端Device B

<DeviceB> system-view

# 配置域名服务器的IP地址为2.1.1.2。

[DeviceB] dns server 2.1.1.2

4. 验证配置

# 在Device B上执行ping host.com命令,可以ping通主机,且对应的目的地址为3.1.1.1。

[DeviceB] ping host.com

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.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

1.12  常见配置错误举例

1.12.1  IPv4域名解析常见配置错误举例

1. 现象描述

配置了动态域名解析,但不能根据域名解析到正确的IP地址。

2. 故障分析

DNS客户端需要和域名服务器配合使用,才能根据域名解析到正确的IP地址。

3. 故障排除

·     执行命令display dns host ip,检查动态域名缓存信息是否存在指定域名。

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

·     如果存在要解析的域名,但地址不对,则检查DNS客户端所配置的域名服务器的IP地址是否正确。

·     检查域名服务器所设置的域名和地址映射表是否正确。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!