在网络管理时,对于IP地址的记忆永远是一件头痛的事情,特别是在大型网络中,所以通常会为网络中的设备做一个有标识性意义的命名,比如位于上海的路由器,就为它命名为“shanhai”然后将一个名称对应一个合法的IP地址,当发生网络管理行为时,比如:ping或者Telnet,可以直接pingshanhai或者telnet shanhai,这样管理员就省去了记忆IP地址的麻烦,形成这种IP地址与名称对应关系的功能,在思科的IOS中叫做主机名列表。现在来配置思科路由器上的主机名列表,如下图9.40所示,在路由器R1上建立路由器R2、R3、R4的主机名列表,然后,在路由器R1上使用主机名来完成网络的管理。
关于在路由器R1上主机名列表的配置:
R1(config)#ip host R2 192.168.1.2 * 将IP 192.168.1.2与名称R2对应
R1(config)#ip host R3 192.168.1.3 * 将IP 192.168.1.3与名称R3对应
R1(config)#ip host R4 192.168.1.4 * 将IP 192.168.1.4与名称R4对应
完成上述配置,在以后的网络管理中,就可以使用路由器的主机名来完成相应的管理任务,比如,现在需要在路由器R1上执行,对路由器R2、R3、R4的连通性测试,现在就不再需要记忆它们的IP地址,而是直接ping它们的主机名,如下图9.41所示。如果需要Telnet某台路由器,比如:路由器R2,此时,可以直接Telnet该路由器的主机名,如下图9.42所示。能够做到上述功能的原因,就是路由器R1上存放着一张其它路由器的IP地址与主机名对应的列表,可以通过在路由器R1上执行show hosts指令来或得查看这张列表,如下图9.43所示。
使用主机名完成网络管理是一种较为有效的方案,但是单纯的主机名是处于一种“平面式”结构的方案,什么是“平面式”结构?就是说如果使用单纯的主机名,在整个网络中有一台路由器叫做R2,就不能再有另一台路由器叫R2,这样,在使用主机名进行网络管理时,会发生混乱,即便它们的IP地址不相同。因为路由器没有那么智能的明白,192.168.1.2是一个R2,192.168.1.12是另一个R2;至少在属于自己管理的网络范围是这样。这样就需要引入一台立体结构的名称解析方案—DNS(Domain Name System)。
Domain Name System(DNS 域名服务系统),现在已经是Internet上的一项核心服务,DNS被用作将域名和IP地址相互映射的一个分布式数据库,建立一种多逻辑平面结构的名称解析系统,能够使人更方便的访问Internet上的设备或者服务,而需要去记忆IP地址串,如下图9.44所示, 在平面式名称结构中,整个平面就只能有一个路由器叫做R2,这个R2在整个网络中是独一无二的,但是在逻辑层次的立体名称系统中,就可以有两台路由器叫做R2,它们分别被处于两个不同的逻辑层次中,一个平面叫做ccna.com;另一个平面叫做ccie.com;那么用来区别这两个不同平面的名称叫做FQDN(Fully Qualified Domain Name 完全合格域名),比如:处于ccna.com这个平面的R2的FQDN就是R2.ccna.com;处于ccie.com平面的R2的FQDN就是R2.ccie.com;虽然,它们都名叫R2,但是它们属于不同的DNS层次,可以通过域名后缀ccna.com和ccie.com来区别。事实上,关于DNS系统的描述就可以形成一本书,它涉及到知识领域很广泛,在这里,由于篇幅有限,只对DNS的核心作用,以及如何在思科的设备上配置DNS服务器的IP地址完成域名解析来作描述。
DNS是基于服务/客户模式的服务系统,它使用UDP 53号端口(域名查询)和TCP 53号端口(区域同步)来工作,由于完成域名解析的过程要求快速所以使用了UDP53号端口;由于DNS服务器的区域同步需要可靠性与稳定性,所以使用了TCP 53号端口,因为TCP协议的三次握手过程,就可以在传输层提供可靠性传输。关于DNS的简单工作原理如下图9.45所示,在这个环境中,有两个组件是DNS服务必须的,DNS的服务端和客户端。
第一步:路由器R1(192.168.1.1)要与路由器r2.ccna.com(192.168.1.2)通信,首先路由器的就需要向指定的DNS服务器192.158.1.254发出域名查询消息,将R2.ccna.com的FQDN解析成它所对应的IP地址,路由器R1向DNS服务器发出的域名查询数据帧如下图9.46所示,可以看到,它正使用UDP53号端口,并且正在询问r2.ccna.com对应的IP地址是什么?
第二步:此时,DNS服务器会查询自己的DNS区域ccna.com;确定r2所对应的IP地址是多少,注意,此时DNS服务器必须配置了相应的区域,并在区域中驻存了A记录(主机记录),这本书并不会以描述DNS服务器的配置为重点,关于DNS服务器的配置,可以参考其它关于服务器配置的相关参考资料。
第三步:当DNS服务器查询到自己的DNS区域后,发现存在一条关于r2对应IP地址的主机记录后,它会返回一条DNS的应答记录,告诉DNS客户端r2.ccna.com对应的IP地址是192.168.1.2,关于DNS服务器的应答数据帧如下图9.47所示。
第四步:当DNS客户端得到DNS服务器返回的DNS应答消息后,它将使用这个应答消息中的IP地址来完成与路由器R2的通信,注意,整个通信过程的数据帧如下图9.48所示,可看出,首先是经过DNS查询和应答,得到目标IP地址后,再完成正式的通信。
演示:配置思科设备的DNS查询功能
演示目标:配置思科的路由器使用DNS服务器完成域名解析。
演示环境:如下图9.49的演示环境。
演示背景:首先在DNS服务器上配置两个DNS区域,一个是ccna.com;另一个是ccie.com;然后在各自的DNS区域中建立一个主机名为R2的A记录(主机记录);R2.ccna.com对应的IP地址是192.168.1.2;R2.ccie.com对应的IP地址是192.168.1.3。然后配置路由器R1的DNS服务器地址,让路由器通过指定的DNS服务器来完成域名解析。
演示步骤:
第一步:配置DNS服务器,在192.168.1.254的DNS服务器上分别建立两个区域,ccna.com和ccie.com;然后分别在两个区别中建立R2的主机记录,具体如下图 9.50所示,注意,在这一步中对DNS服务器的匹配,本人使用的是微软公司基于Windows 2003 server 系统的DNS服务组件,关于微软公司DNS服务的配置方法不是本书的重点,所以在这里不做更详细的描述,可以通过观看本小节对应的教学演示录像来完成DNS服务器的配置。
注意:事实上,在微软公司的服务器上配置的DNS区域与主机记录,在思科的路由器上也可完成相同功能的配置,但是,出于实践网络工程环境中通常使用独立服务器作为DNS服务器的原因,这里我选择了配置一台独立的DNS服务器。
第二步:当完成DNS服务器的配置后,现在配置路由器R1的DNS查询功能,如下所示:
配置思科设备上的DNS查询功能:
R1(config)#ip domain-lookup
* 配置路由器R1启动域名查询功能。
R1(config)#ip name-server192.168.1.254
* 配置DNS服务器的IP地址为192.168.1.254,就是在第一步中架设的DNS服务器IP地址。
R1(config)#ip domain-name ccna.com
* 配置路由器R1的域名后缀为ccna.com,这不是DNS查询功能,必须的指令。
第三步:在路由器R1上完成域名解析的测试,分别执行ping r2.ccna.com和ping r2.ccie.com的指令,如下图9.51所示,首先是路由器R1向DNS服务器192.168.1.254发出DNS查询,然后根据查询的应答结果得知,r2.ccna.com对应的IP地址是192.168.1.2;r2.ccie.com对应的IP地址是192.168.1.3,最后与这两个IP地址完成ICMP通信。
本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1317384,如需转载请自行联系原作者