04-域名解析配置
本章节下载: 04-域名解析配置 (467.64 KB)
目 录
仅S5500-EI系列以太网交换机支持三层以太网接口,三层以太网接口是指工作模式被配置成三层模式的以太网端口,有关以太网端口工作模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网端口”部分。
域名系统(DNS,Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,提供域名与IP地址之间的转换。通过域名系统,用户进行某些应用时,可以直接使用便于记忆的、有意义的域名,而由网络中的域名解析服务器将域名解析为正确的IP地址。
域名解析分为静态域名解析和动态域名解析,二者可以配合使用。在解析域名时,首先采用静态域名解析(查找静态域名解析表),如果静态域名解析不成功,再采用动态域名解析。由于动态域名解析可能会花费一定的时间,且需要域名服务器的配合,因而可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
静态域名解析就是手工建立域名和IP地址之间的对应关系。当用户使用域名进行某些应用(如telnet应用)时,系统查找静态域名解析表,从中获取指定域名对应的IP地址。
动态域名解析是通过对域名服务器的查询完成的。解析过程如下:
(1) 当用户使用域名进行某些应用时,用户程序首先向DNS客户端中的解析器发出请求。
(2) DNS客户端收到请求后,首先查询本地的域名缓存。如果存在已解析成功的映射项,就将域名对应的IP地址返回给用户程序;如果没有发现所要查找的映射项,就向域名服务器(DNS Server)发送查询请求。
(3) 域名服务器首先从自己的数据库中查找域名对应的IP地址。如果判断该域名不属于本域范围之内,就将请求交给上一级的域名解析服务器处理,直到完成解析,并将解析的结果返回给DNS客户端。
(4) DNS客户端收到域名服务器的响应报文后,将解析结果返回给应用程序。
用户程序、DNS客户端及域名服务器的关系如图1-1所示,其中解析器和缓存构成DNS客户端。用户程序、DNS客户端在同一台设备上,而DNS客户端和服务器一般分布在两台设备上。
动态域名解析支持缓存功能。每次动态解析成功的域名与IP地址的映射均存放在动态域名缓存区中,当下一次查询相同域名的时候,就可以直接从缓存区中读取,不用再向域名服务器进行请求。缓存区中的映射在一段时间后会被老化删除,以保证及时从域名服务器得到最新的内容。老化时间由域名服务器设置,DNS客户端从协议报文中获得老化时间。
动态域名解析支持域名后缀列表功能。用户可以预先设置一些域名后缀,在域名解析的时候,用户只需要输入域名的部分字段,系统会自动将输入的域名加上不同的后缀进行解析。举例说明,用户想查询域名aabbcc.com,那么可以先在后缀列表中配置com,然后输入aabbcc进行查询,系统会自动将输入的域名与后缀连接成aabbcc.com进行查询。
使用域名后缀的时候,根据用户输入域名方式的不同,查询方式分成以下几种情况:
l 如果用户输入的域名中没有“.”,比如aabbcc,系统认为这是一个主机名,会首先加上域名后缀进行查询,如果所有加后缀的域名查询都失败,将使用最初输入的域名(如aabbcc)进行查询。
l 如果用户输入的域名中间有“.”,比如www.aabbcc,系统直接用它进行查询,如果查询失败,再依次加上各个域名后缀进行查询。
l 如果用户输入的域名最后有“.”,比如aabbcc.com.,表示不需要进行域名后缀添加,系统直接用输入的域名进行查询,不论成功与否都直接返回。就是说,如果用户输入的字符中最后一个字符为“.”,就只根据用户输入的字符进行查找,而不会去匹配用户预先设置的域名后缀,因此最后这个“.”,也被称为查找终止符。带有查询终止符的域名,称为绝对域名或完全合格的域名FQDN(Full Qualified Domain Name)。
目前,设备支持静态域名解析和动态域名解析的客户端功能。
如果域名服务器上配置了域名的别名,设备可以通过别名来解析主机的IP地址。
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将报文转发给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-3 DNS spoofing典型应用场景
DNS spoofing主要应用于图1-3所示的拨号网络。在该网络中:
l Device通过拨号接口连接到PSTN/ISDN等拨号网络。只有存在通过拨号接口转发的报文时,才会触发拨号接口建立连接。
l 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。
配置静态域名解析就是配置将主机名与IPv4地址相对应。当使用Telnet等应用时,可以直接使用主机名,由系统解析为IPv4地址。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置主机名和对应的IPv4地址 |
ip host hostname ip-address |
必选 缺省情况下,静态域名解析表中没有主机名及IPv4地址的对应关系 |
l 每个主机名只能对应一个IPv4地址,当对同一主机名进行多次配置时,最后配置的IPv4地址有效。
l 最多可配置50条IPv4静态域名解析信息。
如果用户需要使用动态域名解析功能,可以使用下面的命令使能动态域名解析功能,并配置域名服务器,这样才能将查询请求报文发送到正确的服务器进行解析。
用户还可以配置域名后缀,以便实现只输入域名的部分字段,而由系统自动加上预先设置的后缀进行解析。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启动态域名解析功能 |
dns resolve |
必选 缺省情况下,动态域名解析功能处于关闭状态 |
|
配置域名服务器的IPv4地址 |
系统视图下 |
dns server ip-address |
必选 缺省情况下,没有配置域名服务器的IPv4地址 |
接口视图下 |
interface interface-type interface-number |
||
dns server ip-address |
|||
quit |
|||
配置域名后缀 |
dns domain domain-name |
可选 缺省情况下,没有配置域名后缀,即只根据用户输入的域名信息进行解析 |
l 包括IPv6域名服务器在内,系统视图下最多可配置6个域名服务器;所有接口下配置的域名服务器总数不能超过6。
l 设备依次向配置的域名服务器发送查询请求。系统视图下配置的域名服务器优先级高于接口视图下配置的域名服务器,即首先向系统视图下配置的域名服务器发送查询请求,失败后再依次向所有接口视图下配置的域名服务器发送查询请求。
l 设备上最多可以配置10个域名后缀。
表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 proxy接收到客户端的查询请求后,将依次向指定的域名服务器转发查询请求。系统视图下配置的域名服务器优先级高于接口视图下配置的域名服务器,即首先向系统视图下配置的域名服务器转发查询请求,失败后再依次向所有接口视图下配置的域名服务器转发查询请求。
只有在以下条件均满足的情况下,DNS spoofing功能才会生效:
l 设备上使能了DNS proxy功能
l 设备上没有指定域名服务器地址或不存在到达域名服务器的路由
因此,配置DNS spoofing前,需要先使能DNS proxy功能。
表1-4 配置DNS spoofing
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启DNS spoofing功能,并指定应答的IP地址 |
dns spoofing ip-address |
必选 缺省情况下,DNS spoofing功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示IPv4域名解析配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除动态域名缓存信息。
操作 |
命令 |
显示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 |
Device利用静态域名解析功能,实现通过主机名host.com访问IP地址为10.1.1.2的主机Host。
图1-4 静态域名解析配置组网图
# 配置主机名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
l 域名服务器的IP地址是2.1.1.2/16,配置域名后缀为com,且com域中包含域名“host”和IP地址3.1.1.1/16的对应关系。
l Device作为DNS客户端,使用动态域名解析和域名后缀列表功能,实现通过输入host来访问域名为host.com、IP地址为3.1.1.1/16的主机Host。
l 在开始下面的配置之前,假设设备与主机之间的路由可达,设备和主机都已经配置完毕,接口IP地址如图1-5所示。
l 不同域名服务器的配置方法不同,下面仅以Windows Server 2000为例,说明域名服务器的配置方法。
(1) 配置域名服务器
# 进入域名服务器配置界面。
在开始菜单中,选择[程序/管理工具/DNS]。
# 创建区域com。
如图1-6所示,右键点击[正向查找区域],选择[新建区域],按照提示创建新的区域com。
# 添加域名和IP地址的映射。
如图1-7所示,右键点击区域com。
选择[新建主机],弹出如图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
l Device B作为DNS客户端,指定域名服务器为Device A。
l Device A作为DNS代理。实际域名服务器的IP地址为4.1.1.1。
l Device B通过DNS代理Device A实现域名解析。
在开始下面的配置之前,假设设备与域名服务器、主机之间的路由可达,并已按照图1-9配置各接口的IP地址。
(1) 配置域名服务器
不同的域名服务器的配置方法不同。Windows Server 2000作为域名服务器时,配置方法请参见“1.6.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
配置了动态域名解析,但不能根据域名解析到正确的IP地址。
DNS客户端需要和域名服务器配合使用,才能根据域名解析到正确的IP地址。
l 执行命令display dns host ip,检查动态域名缓存信息是否存在指定域名。
l 如果不存在要解析的域名,检查DNS客户端是否和域名服务器通信正常,域名服务器是否工作正常,动态域名解析功能是否已经开启。
l 如果存在要解析的域名,但地址不对,则检查DNS客户端所配置的域名服务器的IP地址是否正确。
l 检查域名服务器所设置的域名和地址映射表是否正确。
IPv6网络中,DNS客户端通过IPv6域名解析功能实现域名与IPv6地址的转换。IPv6 DNS与IPv4 DNS相同,分为静态域名解析和动态域名解析。两种域名解析的作用和实现方式也与IPv4 DNS相同。具体描述请参见“1 IPv4域名解析配置”。IPv6 DNS与IPv4 DNS的区别仅在于IPv6 DNS将域名转换为IPv6地址,而非IPv4地址。
配置静态域名解析就是配置将主机名与IPv6地址相对应。当使用Telnet等应用时,可以直接使用主机名,由系统解析为IPv6地址。
表2-1 配置静态域名解析
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置主机名和对应的IPv6地址 |
ipv6 host hostname ipv6-address |
必选 缺省情况下,静态域名解析表中没有主机名及IPv6地址的对应关系 |
l 每个主机名只能对应一个IPv6地址,当对同一主机名进行多次配置时,最后配置的IPv6地址有效。
l 最多可配置50条IPv6静态域名解析信息。
如果用户需要使用动态域名解析功能,可以使用下面的命令使能动态域名解析功能,并配置域名服务器,这样才能将查询请求报文发送到正确的服务器进行解析。
用户还可以配置域名后缀,以便实现只输入域名的部分字段,而由系统自动加上预先设置的后缀进行解析。
表2-2 配置动态域名解析
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能动态域名解析功能 |
dns resolve |
必选 缺省情况下,动态域名解析功能处于关闭状态 |
配置域名服务器的IPv6地址 |
dns server ipv6 ipv6-address [ interface-type interface-number ] |
必选 缺省情况下,没有配置域名服务器的IPv6地址 当域名服务器的IPv6地址为链路本地地址时,需要指定参数interface-type和interface-number |
配置域名后缀 |
dns domain domain-name |
必选 缺省情况下,没有配置域名后缀,即只根据用户输入的域名信息进行解析 |
l dns resolve和dns domain命令与IPv4 DNS的命令相同。
l 包括IPv4域名服务器在内,设备上最多可配置6个域名服务器。
l 设备上最多可以配置10个域名后缀。
在完成上述配置后,在任意视图下执行display命令可以显示IPv6域名解析配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除动态域名缓存信息。
表2-3 域名解析显示和维护
操作 |
命令 |
显示IPv6静态域名解析表 |
display ipv6 host [ | { begin | exclude | include } regular-expression ] |
显示IPv6域名服务器信息 |
display dns ipv6 server [ dynamic ] [ | { begin | exclude | include } regular-expression ] |
显示域名后缀列表信息 |
display dns domain [ dynamic ] [ | { begin | exclude | include } regular-expression ] |
显示IPv6动态域名缓存信息 |
display dns host ipv6 [ | { begin | exclude | include } regular-expression ] |
清除IPv6动态域名缓存信息 |
reset dns host ipv6 |
Device利用静态域名解析功能,实现通过主机名host.com访问IPv6地址为1::2的主机Host。
图2-1 静态域名解析配置组网图
# 配置主机名host.com对应的IPv6地址为1::2。
<Device> system-view
[Device] ipv6 host host.com 1::2
# 使能IPv6报文转发功能。
[Device] ipv6
# 执行ping ipv6 host.com命令,Device通过静态域名解析可以解析到host.com对应的IPv6地址为1::2。
[Device] ping ipv6 host.com
PING host.com (1::2):
56 data bytes, press CTRL_C to break
Reply from 1::2
bytes=56 Sequence=1 hop limit=128 time = 3 ms
Reply from 1::2
bytes=56 Sequence=2 hop limit=128 time = 1 ms
Reply from 1::2
bytes=56 Sequence=3 hop limit=128 time = 1 ms
Reply from 1::2
bytes=56 Sequence=4 hop limit=128 time = 2 ms
Reply from 1::2
bytes=56 Sequence=5 hop limit=128 time = 2 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
l 域名服务器的IPv6地址是2::2/64,配置域名后缀为com,且com域中包含域名“host”和IPv6地址1::1/64的对应关系。
l Device作为DNS客户端,使用动态域名解析和域名后缀列表功能,实现通过输入host来访问域名为host.com、IPv6地址为1::1/64的主机Host。
l 在开始下面的配置之前,假设设备与主机之间的路由可达,设备和主机都已经配置完毕,接口IPv6地址如图2-2所示。
l 不同域名服务器的配置方法不同,下面仅以Windows Server 2003为例,说明域名服务器的配置方法。配置之前,需确保DNS服务器支持IPv6 DNS功能,以便处理IPv6域名解析报文;且DNS服务器的接口可以转发IPv6报文。
(1) 配置域名服务器
# 进入域名服务器配置界面。
在开始菜单中,选择[程序/管理工具/DNS]。
# 创建区域com。
如图2-3所示,右键点击[正向查找区域],选择[新建区域],按照提示创建新的区域com。
# 添加域名和IPv6地址的映射。
如图2-4所示,右键点击区域com。
选择[其他新记录],弹出如图2-5的对话框,选择资源记录类型为“IPv6主机(AAAA)”。
按照图2-6输入域名host和IPv6地址1::1。点击<确定>按钮,添加域名和IPv6地址的映射。
图2-6 添加域名和IPv6地址的映射
(2) 配置DNS客户端Device
# 开启动态域名解析功能。
<Device> system-view
[Device] dns resolve
# 配置域名服务器的IPv6地址为2::2。
[Device] dns server ipv6 2::2
# 配置域名后缀com。
[Device] dns domain com
(3) 验证配置结果
# 在设备上执行ping ipv6 host命令,可以ping通主机,且对应的目的地址为1::1。
[Device] ping ipv6 host
Trying DNS resolve, press CTRL_C to break
Trying DNS server (2::2)
PING host.com (1::1):
56 data bytes, press CTRL_C to break
Reply from 1::1
bytes=56 Sequence=1 hop limit=126 time = 2 ms
Reply from 1::1
bytes=56 Sequence=2 hop limit=126 time = 1 ms
Reply from 1::1
bytes=56 Sequence=3 hop limit=126 time = 1 ms
Reply from 1::1
bytes=56 Sequence=4 hop limit=126 time = 1 ms
Reply from 1::1
bytes=56 Sequence=5 hop limit=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/2 ms
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!