• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

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

目录

04-域名解析配置

本章节下载 04-域名解析配置  (405.04 KB)

04-域名解析配置


1 IPv4域名解析配置

1.1  域名解析简介

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

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

1.1.1  静态域名解析

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

1.1.2  动态域名解析

1. 解析过程

动态域名解析是通过对域名服务器的查询完成的。解析过程如下:

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

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

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

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

图1-1 动态DNS

 

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

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

2. 域名后缀列表功能

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

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

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

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

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

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

说明

如果域名服务器上配置了域名的别名,设备可以通过别名来解析主机的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发送域名解析请求。否则,DNS proxy不会向DNS server发送域名解析请求,也不会应答DNS client的请求。

 

1.1.4  DNS spoofing

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

 

DNS spoofing主要应用于图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的路由,Device也会利用指定的IP地址作为域名解析结果,应答DNS client的域名解析请求。DNS client后续发送的报文可以用来触发拨号接口建立连接。

图1-3所示网络中,Host访问HTTP server的报文处理流程为:

(1)     Host通过域名访问HTTP server时,首先向Device发送域名解析请求,将HTTP server的域名解析为IP地址。

(2)     Device接收到域名解析请求后,在本地没有找到对应的静态域名解析表项和动态域名解析表项,且拨号接口尚未建立连接,Device上不存在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  配置IPv4 DNS client

1.2.1  配置静态域名解析

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

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

操作

命令

说明

进入系统视图

system-view

-

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

ip host hostname ip-address

必选

缺省情况下,静态域名解析表中没有主机名及IPv4地址的对应关系

 

说明

·     每个主机名只能对应一个IPv4地址,当对同一主机名进行多次配置时,最后配置的IPv4地址有效。

·     最多可配置50条IPv4静态域名解析信息。

 

1.2.2  配置动态域名解析

如果用户需要使用动态域名解析功能,可以使用下面的命令使能动态域名解析功能,并配置域名服务器,这样才能将查询请求报文发送到正确的服务器进行解析。

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

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

操作

命令

说明

进入系统视图

system-view

-

开启动态域名解析功能

dns resolve

必选

缺省情况下,动态域名解析功能处于关闭状态

配置域名服务器的IPv4地址

系统视图下

dns server ip-address

二者至少选择其一

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

接口视图下

interface interface-type interface-number

dns server ip-address

quit

配置域名后缀

dns domain domain-name

可选

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

 

说明

·     包括IPv6域名服务器在内,系统视图下最多可配置6个域名服务器;所有接口下配置的域名服务器总数不能超过6。

·     DNS server的优先级顺序为:系统视图下配置的DNS server优先级高于接口视图下配置的DNS server;在同一视图下先配置的DNS server优先级高于后配置的DNS server;设备上手工配置的DNS server优先级高于通过DHCP等方式动态获取的DNS server。设备首先向优先级最高的DNS server发送查询请求,失败后再依次向其他DNS server发送查询请求。

·     设备上最多可以配置10个域名后缀。

 

1.3  配置DNS proxy

表1-3 配置DNS proxy

操作

命令

说明

进入系统视图

system-view

-

开启DNS proxy功能

dns proxy enable

必选

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

配置域名服务器的IPv4地址

系统视图下

dns server ip-address

二者至少选择其一

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

接口视图下

interface interface-type interface-number

dns server ip-address

 

说明

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

 

1.4  配置DNS spoofing

1.4.1  配置准备

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

·     设备上使能了DNS proxy功能

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

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

1.4.2  配置DNS spoofing

表1-4 配置DNS spoofing

操作

命令

说明

进入系统视图

system-view

-

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

dns spoofing ip-address

必选

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

 

1.5  配置DNS报文的DSCP优先级

在IPv4报文头中,包含一个8bit的ToS字段,用于标识IP报文的服务类型。RFC 2474对这8个bit进行了定义,将前6个bit定义为DSCP优先级,最后2个bit作为保留位。在报文传输的过程中,DSCP优先级可以被网络设备识别,并作为报文传输优先程度的参考。

用户可以对DNS报文的DSCP优先级进行配置。

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

操作

命令

说明

进入系统视图

system-view

-

配置发送的DNS报文的DSCP优先级

dns dscp dscp-value

可选

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

 

1.6  配置DNS报文的源接口

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

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

操作

命令

说明

进入系统视图

system-view

-

配置DNS报文的源接口

dns source-interface interface-type interface-number

必选

缺省情况下,未指定DNS报文的源接口,设备根据DNS server的地址,通过路由表查找报文的出接口,并将该出接口的主IP地址作为发送到该服务器的DNS查询报文的源地址。

 

1.7  IPv4域名解析显示和维护

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

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

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

操作

命令

显示IPv4静态域名解析表

display ip host [ | { begin | exclude | include } regular-expression ]

显示IPv4域名服务器信息

display dns server [ dynamic ] [ | { begin | exclude | include } regular-expression ]

显示域名后缀列表信息

display dns domain [ dynamic ] [ | { begin | exclude | include } regular-expression ]

显示IPv4动态域名缓存信息

display dns host ip [ | { begin | exclude | include } regular-expression ]

清除IPv4动态域名缓存信息

reset dns host ip

 

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

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

    Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=128 time=1 ms

    Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=128 time=4 ms

    Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=128 time=3 ms

    Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=128 time=2 ms

    Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=128 time=3 ms

 

  --- host.com ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/2/4 ms

1.8.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 2000为例,说明域名服务器的配置方法。

 

(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

[Sysname] dns resolve

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

[Sysname] dns server 2.1.1.2

# 配置域名后缀com。

[Sysname] dns domain com

(3)     验证配置结果

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

[Sysname] ping host

 Trying DNS resolve, press CTRL_C to break

 Trying DNS server (2.1.1.2)

  PING host.com (3.1.1.1):

  56  data bytes, press CTRL_C to break

    Reply from 3.1.1.1: bytes=56 Sequence=1 ttl=126 time=3 ms

    Reply from 3.1.1.1: bytes=56 Sequence=2 ttl=126 time=1 ms

    Reply from 3.1.1.1: bytes=56 Sequence=3 ttl=126 time=1 ms

    Reply from 3.1.1.1: bytes=56 Sequence=4 ttl=126 time=1 ms

    Reply from 3.1.1.1: bytes=56 Sequence=5 ttl=126 time=1 ms

 

  --- host.com ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/1/3 ms

1.8.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 2000作为域名服务器时,配置方法请参见“1.8.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

[DeviceB] dns resolve

# 配置域名服务器的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

Trying DNS resolve, press CTRL_C to break

 Trying DNS server (2.1.1.2)

  PING host.com (3.1.1.1):

  56  data bytes, press CTRL_C to break

    Reply from 3.1.1.1: bytes=56 Sequence=1 ttl=126 time=3 ms

    Reply from 3.1.1.1: bytes=56 Sequence=2 ttl=126 time=1 ms

    Reply from 3.1.1.1: bytes=56 Sequence=3 ttl=126 time=1 ms

    Reply from 3.1.1.1: bytes=56 Sequence=4 ttl=126 time=1 ms

    Reply from 3.1.1.1: bytes=56 Sequence=5 ttl=126 time=1 ms

 

  --- host.com ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/1/3 ms

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

1. 现象描述

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

2. 故障分析

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

3. 故障排除

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

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

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

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

 

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

新华三官网
联系我们