阅读以下关于网络地址转换(NAT)的技术说明,结合网络拓扑图回答问题1至问题3。【说明】 网络地址转换(NAT)技术可用来缓解IP地址短缺问题和实现TCP负载均衡功能。动态地址翻译技术在子网外部使用少量的全局地址,通过路由器进行内部和外部地址的转换。其好处是节约全局的公网IP地址,而且不需要改变子网内部的任何配置,只需在边界路由器中设置一个动态地址变换表就可以工作。 而IP伪装技术是NAT的另一种实现技术,它通过使用边界路由器的IP地址可以把子网中所有主机的IP地址隐藏起来,因此它既可以作为一种安全手段使用,借以限制外部对内部主机的访问;还可以用来实现虚拟主机和虚拟路由,以便达到负载均衡和提高可靠性的目的。 在图5-18所示的网络设计方案中,在边界路由器Router上进行了TCP负载均衡技术的配置,其部分网络地址映射NAT表如表5-9所示。
问答题
在路由器上采用了NAT技术,请用300字以内的文字简要说明NAT技术中的动态地址翻译和IP地址伪装各有什么技术特点?
【正确答案】正确答案:动态地址翻译技术的特点是:①从外网访问内网主机必须在动态NAT表中存在一条该主机的映像表项;②只要缓冲区中存在尚未使用的C类IP地址,任何从内网向外网的连接请求都可得到响应,且将新建一条映像表项;③如果内部主机的映像表项已存在,则可直接利用它建立连接 IP地址伪装技术的特点是;①出口分组的源地址被路由器的外部全局地址所代替,源端口号被一个未使用的伪装端口号所代替;②NAT路由器将检查每个输入分组是否为当前的一个伪装会话,并试图通过它的伪装表对IP地址和端口号进行翻译
【答案解析】解析:这是一道要求读者掌握动态地址翻译和IP地址伪装技术特点的概念理解题。本题所涉及的知识点有: 1)动态地址翻译技术的特点是:①从外部网络访问内网主机是有条件的,即边界路由器的动态NAT表中必须存在一条该主机的映像表项;②只要缓冲区中存在尚未使用的C类p地址,任何从内网向外网的连接请求都可以得到响应,并且在动态NAT表中为之建立一条映像表项;③如果内部主机的映像表项已存在,则可直接利用它建立连接。 2)根据试题中表5-9所提供的信息可归纳出,IP地址伪装技术的特点是:①出口分组的源地址(例如表5-9中的10.1.1.127/24)被路由器的外部全局地址(例如表5-9中的172.20.7.3/16)所代替,出口分组的源端口号(例如表5-9中的80)被一个未使用的伪装端口号(例如表5-9中的3058)所代替;②如果输入NAT路由器分组的目标地址是本地路由器的IP地址(例如图5-18中的192.200.1.1/24),而目标端口号是路由器的伪装端口号(例如表5-9中的4715)时,则NAT路由器将检查该分组是否为当前的一个伪装会话,并试图通过它的伪装表对IP地址和端口号进行翻译(例如表5-9中的10.1.1.2:80)。 3)另外,在网络中使用NAT的TCP负载均衡技术的缺点有:①将会使边界路由器处理数据包的延迟增大。因为边界路由船router的CPU必须对每个数据包进行检查,而且还需要改变每个IP数据包的地址信息,所以这一负载均衡技术会加大边界路由器运行负载。②NAT技术隐藏了端到端的IP地址,对IP数据包的路由跟踪变得更加困难,同,时也限制了一些内嵌IP地址服务(比如DNS、FTP、ICMP、SNMP等)的应用范围等。
问答题
阅读图5-18中给出的网络拓扑结构图,结合边界路由器Router的NAT表,将以下关于主机B向内部网络发出请求时,边界路由器Router实现TCP负载均衡的通信过程填写完整(以NAT表中第1行为例)。 ①外部主机B(172.20./7.3)发出请求,建立主机B到(1)的连接。 ②当边界路由器Router接到这个连接请求后,查询本机中的(2),建立一个新的地址转换映射。如:为虚拟主机(10.1.1.127)分配一个真实主机的IP地址10.1.1.1。 ③边界路由器用所选真实地址替换目的地址,转发这个修改后的IP数据包。(3)接收到该数据包,并作出应答。 ④边界路由器接到应答包后,根据(4)和(5),从NAT映射表中查找对应的内部虚拟主机地址及端口号。 ⑤边界路由器将IP应答数据包中源地址转换为虚拟主机地址,并转发这个修改后的IP应答包;主机B接收到源地址为10.1.1.127的IP应答包。 ⑥当主机C发出下一个请求时,边界路由器可能为其分配下一个内部局部地址,如10.1.1.2地址。
【正确答案】正确答案:(1)虚拟主机(10.1.1.127)(2)NAT映射表 (3)IP地址为10.1.1.1的内部主机(4)内部地址及端口号 (5)外部地址及端口号
【答案解析】解析:这是一道要求对边界路由器实现TCP负载均衡工作原理有深入理解的试题。解题的关键是仔细阅读所给的网络拓扑图及正确理解“虚机主机”的概念。当内部网络节点共享一个IP地址访问Internet网时,站在Internet网的角度看这个IP地址就相当于一台虚拟的主机。当外网节点要与内部网络节点建立链路连接时,边缘路由器接收到这一外网请求后,就从网络地址转换NAT表中检查上一次的转换条目,并为本次连接分配下面一个条目进行映射,使用下面一个内部地址。当这次连接结束后,下一次的外部请求将被分配到再接下来的一个转换条目。 下面以NAT表中第一行为例,说明图5-18所示的网络中外网主机B向内部网络发出请求时,边界路由器Router实现TCP负载均衡的通信过程。 ①外网主机B(172.20.7.3)发出请求,准备建立主机B到虚拟主机(10.1.1.127)的链路连接。此 IP请求数据包的目的IP地址为10.1.1.127,源IP地址为172.20.7.3。 ②当边界路由器Router接到这个连接请求后,查询本机中的NAT映射表,为虚拟主机(10.1.1.127)分配一个真实主机的IP地址10.1.1.1,从而建立起一个新的地址转换映射。 ③边界路由器用所选真实主机的IP地址替换主机B发给它的请求数据包的目的IP地址,转换后IP请求数据包中的目的IP地址为10.1.1.1,源IP地址为172.20.7.3。接着边界路由器将修改后的IP数据包转发给IP地址为10.1.1.1的内部主机。该内部主机接收到修改后的IP数据包后,将做出应答。此IP应答数据包的目的IP地址为172.20.7.3,源IP地址为10.1.1.1。 ④当边界路由器接到应答包后,根据NAT表中第一行内部地址、端口号和外部地址、端口号的映射关系,从表中查找出与IP地址为10.1.1.1内部主机所对应的内部虚拟主机地址10.1.1.127及端口号80。 ⑤边界路由器将IP应答数据包中源地址转换为虚拟主机地址,转换后IP请求数据包中的目的IP地址为172.20.7.3,源IP地址为10.1.1.127。接着边界路由器向主机B转发该修改后的IP应答包。主机B将接收到源地址为10.1.1.127的IP应答包。 ⑥当边界路山器接收到外网主机C的下一个请求时,边界路由器可能为其分配下一个内部局部地址,例如10.1.1.2。
问答题
以下是图5-18所示的边界路由器Router的部分配置信息,请在(6)~(11)空缺处填写上合适的命令或参数,以实现TCP负载均衡的配置任务。 Router (config) # ip nat pool internal (6) prefix-length 24 type rotary (关键字 type rotary说明使用TCP负载平衡) router (config) # (7) destination list 2 pool internal (将虚拟主机地址转换成由映射表中定义的内部地址) router (config) # (8) router (config) # interface serial 0 router (config-if) # ip address 172.20.7.129 255.255.255.224 router (config-if) # (9) router (contig-if) # no shutdown router (config-if) # (10) router (config-if) # ip addmss 10.1.1.254 255.255.255.0 router (config-if) # (11) router (config-it) # no shutdown
【正确答案】正确答案:(6)10.1.1.1 10.1.1.3(7)ip nat inside (8)ip nat outside(9)interface ethernet 0 (10)ip nat inside(11)access-list 2 permit 10.1.1.127
【答案解析】解析:这是一道要求在看懂网络拓扑图的基础上,填写相关配置命令的试题。由提示信息“关键字type rotary说明使用TCP负载平衡”,可以判断该行(6)空缺处所填写内容是给真实主机定义一个NAT地址集。查看NAT映射表可知,网络拓扑图中3台主机均属于这个NAT地址集。因此(6)空缺处填入“10.1.1.1 10.1.1.3”。 注意到提示信息“将虚拟主机地址转换成由映射表中定义的内部地址”中“的转换成”,可推理(7)空缺处应完成访问控制列表(由该行“list 2”信息得知)与NAT地址集(由该行“pool internal”信息得知)之间的映射。因此填入“ip nat inside”。 由于(8)空缺处试题中未提示任何关键信息,所以留着最后填写。 由“interface serial 0”及(9)空缺处前面的“router (config-if) #”信息可知,(9)空缺处所填写的内容是在端口S0配置子模式F的命令。由于RFC1918文件定义的内网专用地址范围是:10.0.0.0~ 10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255。而端口S0分配的IP地址是 172.20.7.129,不在私网专用地址范围之内,据此判断出端口S0是NAT配置中的外部端口,即该空缺处可能是将端口S0设为NAT的外部端口,因此应填入“ip nat outside” (注意是:outside)。 “router (config-if) # ip address 10.1.1.254 255.255.255.0”配置语句中,“10.1.1.254”属于私网专用地址,由此可判断出(10)空缺处是路由器内网接口的配置内容。因此填入“interface ethernet 0”完成从端口S0配置子模式到端口E0配置子模式的切换。 (11)空缺处的填写思路可参照(9)空缺处,结果是填入在内部端口E0上启用NAT的“ip nat inside”命令。 由于(7)空缺处所在行配置信息中提到了访问控制列表2 (list 2),而在试题所给出的及所填写的配置信息中均未对该访问控制列表进行定义,因此(8)空缺处应为虚拟主机定义一个标准的IP访问列表,填入“access-list 2 permit 10.1.1.127”。 以下给出图5-18中边界路由器Router关于NAT的完整配置及命令解释。 router (config)# ip nat pool internal 10.1.1.1 10.1.1.3 prefix-length 24 type rotary (真实主机地址范围从10.1.1.1到10.1.1.3,网络前缀长度为24,且循环使用该地址集) router (config) # ip nat inside destination list 2 pool internal (将虚拟主机地址转换成由映射表中定义的内部地址) router (config) # access-list 2 permit 10.1.1.127 (为虚拟主机定义一个标准的IP访问列表) router (config)# interface sedal 0 (进入端口S0配置子模式) router (config-if) # ip address 172.20.7.129 255.255.255.224 (设置S0端口IP地址) router (config-if) # ip nat outside (在外部端口SO上启用NAT) router (config-if)# no shutdown (激活该端口) router (eonfig-if) # interface ethernet 0 (进入端口E0配置子模式) router (config-if) # ip address 10.1.1.254 255.255.255.0 (设置E0端口IP地址) router (config-if) # ip nat inside (在内部端口E0上启用NAT) router (congig-if) # no shutdown (激活该端口) 最后,提醒注意3条常用的NAT配置命令,①清除NAT转换条目命令:clear ip nat translation,②查看或验证NAT配置信息命令:show ip nat translations/statics,⑧NAT排错命令:debug ip nat。