05-域名解析配置
本章节下载: 05-域名解析配置 (534.45 KB)
域名系统(DNS,Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,提供域名与IP地址之间的转换。通过域名系统,用户进行某些应用时,可以直接使用便于记忆的、有意义的域名,而由网络中的域名解析服务器将域名解析为正确的IP地址。
域名解析分为静态域名解析和动态域名解析,二者可以配合使用。在解析域名时,首先采用静态域名解析(查找静态域名解析表),如果静态域名解析不成功,再采用动态域名解析。由于动态域名解析可能会花费一定的时间,且需要域名服务器的配合,因而可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。目前,AP最多能通过域名服务器解析出4条AC的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进行查询。
使用域名后缀的时候,根据用户输入域名方式的不同,查询方式分成以下几种情况:
· 如果用户输入的域名中没有“.”,比如aabbcc,系统认为这是一个主机名,会首先加上域名后缀进行查询,如果所有加后缀的域名查询都失败,将使用最初输入的域名(如aabbcc)进行查询。
· 如果用户输入的域名中间有“.”,比如www.aabbcc,系统直接用它进行查询,如果查询失败,再依次加上各个域名后缀进行查询。
· 如果用户输入的域名最后有“.”,比如aabbcc.com.,表示不需要进行域名后缀添加,系统直接用输入的域名进行查询,不论成功与否都直接返回。就是说,如果用户输入的字符中最后一个字符为“.”,就只根据用户输入的字符进行查找,而不会去匹配用户预先设置的域名后缀,因此最后这个“.”,也被称为查找终止符。带有查询终止符的域名,称为FQDN(Fully Qualified Domain Name,完全合格域名)。
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的配置,从而简化了网络管理。
图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的请求。
配置静态域名解析就是通过配置使主机名与IPv4地址相互对应。当使用Telnet等应用时,可以直接使用主机名,由系统解析为IPv4地址。
缺省情况下,静态域名解析表中没有主机名及IPv4地址的对应关系 |
· 每个主机名只能对应一个IPv4地址,当对同一主机名进行多次配置时,最后配置的IPv4地址有效。
· 最多可配置50条IPv4静态域名解析信息。
如果用户需要使用动态域名解析功能,可以使用下面的命令使能动态域名解析功能,并配置域名服务器,这样才能将查询请求报文发送到正确的服务器进行解析。
用户还可以配置域名后缀,以便实现只输入域名的部分字段,而由系统自动加上预先设置的后缀进行解析。
· 包括IPv6域名服务器在内,系统视图下最多可配置6个域名服务器;所有接口下配置的域名服务器总数不能超过6。
· DNS server的优先级顺序为:系统视图下配置的DNS server优先级高于接口视图下配置的DNS server;在同一视图下先配置的DNS server优先级高于后配置的DNS server;设备上手工配置的DNS server优先级高于通过DHCP等方式动态获取的DNS server。设备首先向优先级最高的DNS server发送查询请求,失败后再依次向其他DNS server发送查询请求。
· 设备上最多可以配置10个域名后缀。
开启DNS proxy功能 |
缺省情况下,DNS proxy功能处于关闭状态 |
||
通过dns server命令可以指定多个DNS server。DNS proxy接收到客户端的查询请求后,首先向优先级最高的DNS server转发查询请求,失败后再依次向其他DNS server转发查询请求。
缺省情况下,设备根据DNS server的地址,通过路由表查找报文的出接口,并将该出接口的主IP地址作为发送到该服务器的DNS查询报文的源地址。根据DNS server的地址不同,发送报文的源地址可能会发生变化。在某些特殊的组网环境中,DNS server只应答来自特定源地址的DNS请求报文。这种情况下,必须指定DNS报文的源接口。如果为设备配置了DNS报文的源接口,则设备在发送DNS报文时,将固定使用该接口的主IP地址作为报文的源地址。
表1-4 配置DNS报文的源接口
配置DNS报文的源接口 |
缺省情况下,未指定DNS报文的源接口,设备根据DNS server的地址,通过路由表查找报文的出接口,并将该出接口的主IP地址作为发送到该服务器的DNS查询报文的源地址。 |
在完成上述配置后,在任意视图下执行display命令可以显示IPv4域名解析配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除动态域名缓存信息。
为了避免记忆复杂的IP地址,AC希望通过便于记忆的主机名访问某一主机。在AC上手工配置IP地址对应的主机名,利用静态域名解析功能,就可以实现通过主机名访问该主机。
在本例中,AC访问的主机IP地址为10.1.1.2,主机名为host.com。
# 配置主机名host.com对应的IP地址为10.1.1.2。
[AC] ip host host.com 10.1.1.2
# 执行ping host.com命令,AC通过静态域名解析可以解析到host.com对应的IP地址为10.1.1.2。
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
为了避免记忆复杂的IP地址,AC希望通过便于记忆的域名访问某一主机。如果网络中存在域名服务器,则可以利用动态域名解析功能,实现通过域名访问主机。
· 域名服务器的IP地址是2.1.1.2/16,域名服务器上存在com域,且com域中包含域名“host”和IP地址3.1.1.1/16的对应关系。
· AC作为DNS客户端,使用动态域名解析功能,将域名解析为IP地址。
· AC上配置域名后缀com,以便简化访问主机时输入的域名,例如通过输入host即可访问域名为host.com、IP地址为3.1.1.1/16的主机Host。
· 在开始下面的配置之前,假设设备与主机之间的路由可达,设备和主机都已经配置完毕,接口IP地址如图1-4所示。
· 不同域名服务器的配置方法不同,下面仅以Windows Server 2000为例,说明域名服务器的配置方法。
# 进入域名服务器配置界面。
在开始菜单中,选择[程序/管理工具/DNS]。
# 创建区域com。
如图1-5所示,右键点击[正向查找区域],选择[新建区域],按照提示创建新的区域com。
# 添加域名和IP地址的映射。
选择[新建主机],弹出如图1-7的对话框。按照图1-7输入域名host和IP地址3.1.1.1。
图1-7 添加域名和IP地址的映射
(2) 配置DNS客户端AC
# 开启动态域名解析功能。
[AC] dns resolve
# 配置域名服务器的IP地址为2.1.1.2。
# 配置域名后缀com。
# 在设备上执行ping host命令,可以ping通主机,且对应的目的地址为3.1.1.1。
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地址,以便直接通过域名访问外部网络。当域名服务器的IP地址发生变化时,网络管理员需要更改局域网内所有设备上配置的域名服务器IP地址,工作量将会非常巨大。
通过DNS proxy功能,可以大大减少网络管理员的工作量。当域名服务器IP地址改变时,只需更改DNS proxy上的配置,即可实现局域网内设备通过新的域名服务器解析域名。
(1) 局域网中的某台设备AC1配置为DNS proxy,DNS proxy上指定域名服务器IP地址为真正的域名服务器的地址4.1.1.1。
(2) 局域网中的其他设备(如AC2)上,域名服务器的IP地址配置为DNS proxy的地址,域名解析报文将通过DNS proxy转发给真正的域名服务器。
在开始下面的配置之前,假设设备与域名服务器、主机之间的路由可达,并已按照图1-8配置各接口的IP地址。
不同的域名服务器的配置方法不同。Windows Server 2000作为域名服务器时,配置方法请参见“1.6.2 动态域名解析配置举例”。
(2) 配置DNS代理AC1
# 配置域名服务器的IP地址为4.1.1.1。
[AC1] dns server 4.1.1.1
# 开启DNS proxy功能。
(3) 配置DNS客户端AC 2
# 开启动态域名解析功能。
[AC2] dns resolve
# 配置域名服务器的IP地址为2.1.1.2。
# 在AC 2上执行ping host.com命令,可以ping通主机,且对应的目的地址为3.1.1.1。
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
DNS客户端需要和域名服务器配合使用,才能根据域名解析到正确的IP地址。
· 执行命令display dns host ip,检查动态域名缓存信息是否存在指定域名。
· 如果不存在要解析的域名,检查DNS客户端是否和域名服务器通信正常,域名服务器是否工作正常,动态域名解析功能是否已经开启。
· 如果存在要解析的域名,但地址不对,则检查DNS客户端所配置的域名服务器的IP地址是否正确。
利用DNS(Domain Name System,域名系统)可以将域名解析为IP地址,从而实现使用域名来访问网络中的节点。但是,DNS仅仅提供了域名和IP地址之间的静态对应关系,当节点的IP地址发生变化时,DNS无法动态地更新域名和IP地址的对应关系。此时,如果仍然使用域名访问该节点,通过域名解析得到的IP地址是错误的,从而导致访问失败。
DDNS(Dynamic Domain Name System,动态域名系统)用来动态更新DNS服务器上域名和IP地址之间的对应关系,保证通过域名解析到正确的IP地址。
目前,只有IPv4域名解析支持DDNS,IPv6域名解析不支持DDNS,即只能通过DDNS动态更新域名和IPv4地址之间的对应关系。
图2-1 DDNS典型组网图
DDNS的典型组网环境如图2-1所示,DDNS采用客户端/服务器模式:
· DDNS客户端:IP地址变化时,需要在DNS服务器上动态更新其域名和IP地址对应关系的设备。Internet用户通常通过域名访问提供应用层服务的服务器,如HTTP、FTP服务器。为了保证IP地址变化时,仍然可以通过域名访问这些服务器,当服务器的IP地址发生变化时,服务器将作为DDNS客户端,向DDNS服务器发送更新域名和IP地址对应关系的DDNS更新请求。
· DDNS服务器:负责通知DNS服务器动态更新域名和IP地址之间的对应关系。接收到DDNS客户端的更新请求后,DDNS服务器通知DNS服务器重新建立DDNS客户端的域名和IP地址之间的对应关系。从而保证即使DDNS客户端的IP地址改变,Internet用户仍然可以通过同样的域名访问DDNS客户端。
· 目前,DDNS更新过程没有统一的标准,向不同的DDNS服务器请求更新的过程各不相同。国内知名的DDNS服务提供商有www.3322.org和www.oray.cn等,其中www.oray.cn提供的DDNS服务器又称为花生壳,国外的有www.dyndns.com等。
· 设备可以作为DDNS客户端,通过www.3322.org、花生壳等DDNS服务器动态更新DNS服务器上域名和IP地址之间的对应关系。
表2-1 设备作为DDNS客户端配置任务简介
配置DDNS策略 |
||
DDNS策略是DDNS服务器的地址、端口号、登录用户名、密码、时间间隔、关联的SSL客户端策略、更新时间间隔等信息的集合。创建DDNS策略后,可以在不同的接口上应用相同的DDNS策略,从而简化DDNS的配置。
设备向不同DDNS服务器请求更新的过程各不相同,因此,DDNS更新请求的URL地址的配置方式也存在差异:
· 设备基于HTTP与www.3322.org通信时,DDNS更新请求的URL地址格式为:
http://username:password@members.3322.org/dyndns/update?system=dyndns&hostname=<h>&myip=<a>
· 设备基于TCP与花生壳DDNS服务器通信时,DDNS更新请求的URL地址格式为:
oray://username:password@phservice2.oray.net
· URL地址中的username和password为登录DDNS服务器的用户名和密码。登录DDNS服务提供商的网站注册后,请根据实际情况修改。
· members.3322.org和phservice2.oray.net为服务提供商提供DDNS服务的域名。花生壳提供DDNS服务的域名可能为phservice2.oray.net、phddns60.oray.net、client.oray.net和ph031.oray.net等,请根据实际情况修改域名。
· <h>由系统根据接口上应用DDNS策略时指定的FQDN自动填写,<a>由系统根据应用DDNS策略的接口的主IP地址自动填写。用户也可以手工输入需要更新的FQDN和IP地址,代替URL中的<h>和<a>,此时,应用DDNS策略时指定的FQDN将不会生效。应用DDNS策略的详细介绍,请参见“2.4 在接口上应用DDNS策略”。
· 建议用户不要修改URL中的<h>和<a>,以免配置错误的FQDN和IP地址。
· FQDN是节点在网络中的唯一标识,由主机名和域名组成,可被解析为IP地址。
登录DDNS服务提供商的网站,注册账户,并为DDNS客户端申请域名。通过DDNS服务器更新域名和IP地址的对应关系时,DDNS服务器将检查DDNS更新请求中的账户信息是否正确、需要更新的域名是否属于该帐户。
创建DDNS策略,并进入DDNS策略视图 |
||
指定DDNS更新请求的URL地址 |
缺省情况下,未指定DDNS更新请求的URL地址 |
|
指定与DDNS策略关联的SSL客户端策略 |
缺省情况下,未指定与DDNS策略关联的SSL客户端策略 SSL客户端策略只对URL为HTTPS地址的DDNS更新请求有效 |
|
指定DDNS更新启动后,定时发起更新请求的时间间隔 |
缺省情况下,定时发起DDNS更新请求的时间间隔是1小时 |
· DDNS更新请求的URL地址可以以“http://”开头,表示基于HTTP与DDNS服务器通信;以“https://”开头,表示基于HTTPS与DDNS服务器通信;以“oray://”开头,表示基于TCP与花生壳DDNS服务器通信。
· 基于HTTPS与DDNS服务器通信时,需要通过ssl client policy命令指定与DDNS策略关联的SSL客户端策略,SSL客户端策略的配置方法请参见“安全配置指导”中的“SSL”。
在接口上应用DDNS策略,并指定需要更新的FQDN与IP地址对应关系后,DDNS客户端才会向DDNS服务器发起更新域名和接口主IP地址对应关系的请求。
· 配置该接口的主IP地址,使之与DDNS服务器路由可达。
· 配置IPv4静态或动态域名解析功能,以便将DDNS服务器的域名解析为IP地址。域名解析功能的配置方法请参见“1.2 配置IPv4 DNS client”。
在接口上应用指定的DDNS策略来更新指定的FQDN与IP地址的对应关系,并启动DDNS更新 |
缺省情况下,没有为接口指定任何DDNS策略和需要更新的FQDN,且未启动DDNS更新 |
· 对于DDNS服务器www.3322.org,需要指定更新的FQDN,否则会导致DDNS更新失败。
· 对于花生壳DDNS服务器,如果没有指定更新的FQDN,则DDNS服务器将更新DDNS客户端的账户对应的所有域名;如果指定了更新的FQDN,则DDNS服务器只更新指定的FQDN。
在完成上述配置后,在任意视图下执行display ddns policy命令可以显示DDNS策略的配置情况,通过查看显示信息验证配置的效果。
表2-4 DDNS显示和维护
显示DDNS策略的配置情况 |
display ddns policy [ policy-name ] [ | { begin | exclude | include } regular-expression ] |
· AC为Internet上的用户提供Web服务,使用的域名为whatever.3322.org。
· AC通过DHCP获得IP地址,为保证AC的Dialer1接口IP地址变化后,Internet上的用户仍然可以利用域名whatever.3322.org访问AC,AC通过www.3322.org提供的DDNS服务及时通知DNS服务器更新域名和IP地址的对应关系。
· DNS服务器的IP地址为1.1.1.1。AC通过该DNS服务器将DDNS服务器的域名www.3322.org解析为IP地址。
图2-2 与www.3322.org互通配置举例组网图
配置之前,请登录http://www.3322.org申请账户(帐户名为steven,密码为nevets),在DNS服务器上创建域名和IP地址的对应关系,并保证各个设备之间的路由可达。
# 创建名称为3322.org的DDNS策略,并进入DDNS策略视图。
[AC] ddns policy 3322.org
# 为DDNS策略3322.org指定DDNS更新请求的URL地址,登录用户名为steven,密码为nevets。
# 为DDNS策略3322.org指定定时发起更新请求的时间间隔为15分钟。
[AC-ddns-policy-3322.org] interval 0 0 15
[AC-ddns-policy-3322.org] quit
# 开启动态域名解析功能。
# 配置DNS服务器的IP地址为1.1.1.1。
# 在Dialer 1接口下指定应用DDNS策略3322.org,更新域名whatever.3322.org与接口主IP地址的对应关系,并启动DDNS更新功能。
[AC-Dialer1] ddns apply policy 3322.org fqdn whatever.3322.org
配置完成后,AC的Dialer 1接口IP地址变化时,它将通过DDNS服务提供商www.3322.org通知DNS服务器建立域名whatever.3322.org和新的IP地址的对应关系,从而保证Internet上的用户可以通过域名whatever.3322.org解析到最新的IP地址,访问AC提供的Web服务。
· AC为Internet上的用户提供Web服务,使用的域名为whatever.gicp.cn。
· AC通过DHCP获得IP地址,为保证AC的Dialer1接口IP地址变化后,Internet上的用户仍然可以利用域名whatever.gicp.cn访问AC,AC通过花生壳提供的DDNS服务及时通知DNS服务器更新域名和IP地址的对应关系。
· DNS服务器的IP地址为1.1.1.1。AC通过该DNS服务器将花生壳DDNS服务器的域名解析为IP地址。
图2-3 与花生壳DDNS服务器互通配置举例组网图
配置之前,请登录http://www.oray.cn申请账户(用户名为steven,密码为nevets),在DNS服务器上创建域名和IP地址的对应关系,并保证各个设备之间的路由可达。
# 创建名称为oray.cn的DDNS策略,并进入DDNS策略视图。
[AC] ddns policy oray.cn
# 为DDNS策略oray.cn指定DDNS更新请求的URL地址,登录用户名为steven,密码为nevets。
[AC-ddns-policy-oray.cn] url oray://steven:[email protected]
# 为DDNS策略oray.cn指定定时发起更新请求的时间间隔为12分钟。
[AC-ddns-policy-oray.cn] interval 0 0 12
[AC-ddns-policy-oray.cn] quit
# 开启动态域名解析功能。
# 配置DNS服务器的IP地址为1.1.1.1。
# 在 Dialer 1接口下指定应用DDNS策略oray.cn,更新域名whatever.gicp.cn与接口主IP地址的对应关系,并启动DDNS更新功能。
[AC-Dialer1] ddns apply policy oray.cn fqdn whatever.gicp.cn
配置完成后,AC的Dialer1接口IP地址变化时,它将通过花生壳DDNS服务器通知DNS服务器建立域名whatever.gicp.cn和新的IP地址的对应关系,从而保证Internet上的用户可以通过域名whatever.gicp.cn解析到最新的IP地址,访问AC提供的Web服务。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!