【实验目的】:
在本次实验中,你需要使用网络地址转换(NAT)去允许内网路由器(PxR3 和 PxR4)从TFTP服务器下载配置文件
为了完成本次实验,你需要完成下列任务:
- 建立在NAT中需要使用的访问控制列表
- 在NAT中使用ROUTE-MAPS执行分开的并发地址转换。
- 连接到内部路由器到TFTP服务器或者在边界路由器使用适当的地址转换
- 为内部路由器下载配置文件
【实验拓扑】:
【命令列表】:
命令
|
描述
|
(config-if)#access-list 100 permit ip 10.1.x.0 0.0.0 .255
|
指定需要NAT的流量内容
|
Clear ip nat translation *
|
清除NAT表中的所有地址转换
|
Debug ip nat detail
|
即时跟踪调试NAT信息
|
(config-if
)#ip nat inside
|
指定NAT中的内部接口和地址
|
(config)#ip nat inside source list 100 pool BBR
|
为NAT指定需要翻译的内部地址范围和所使用的地址池
|
(config)#ip nat inside source route-map TO-POD pool POD
|
指定NAT使用的ROUTE-MAP
|
(config-if)#ip nat outside
|
指定NAT中的外部接口和地址
|
(config)#ip nat pool BBR 192.168.x.1 192.168.x.254 netmask 255.255.255.0
|
创建一个NAT地址池
|
(config)#ip nat pool BBR 192.168.x.1 192.168.x.254 prefix-length 24
|
创建一个NAT地址池(子网掩码用前缀长度进行指定)
|
Sho ip nat translations
|
显示NAT地址转换表
|
【实验帮助】:
如果出现任何问题,可以向在值的辅导老师提出并请求提供帮助。
【任务一】:连接到内部路由器PxR3和PxR4
使用TELNET或者其他终端程序建立与路由器建立联接。记住在本实验中x是你的机架编号,y是你的路由器编号。
实验过程:
第一步:连接路由器(PxR1和PxR2)。你的路由器现在应该没有任何配置。如果有,请使用erase start命令删除配置,并使用reload命令重启路由器。
第二步:连接到你的内部路由器(PxR3和PxR4)。激活并分配IP地址到E0接口。路由器PxR3的E0口的IP地址应该是10.x.1.3/24,路由器PxR4的E0口的IP地址应该是10.x.1.4/24。
第三步:路由器PxR1的E0口IP地址为10.x.1.1路由器PxR2的E0口IP地址为10.x.2.2。请检查边界路由器(PxR1和PxR2)和内部路由器(PxR3和PxR4)的之间的连接性。你的测试结果应该如下表类似:
router#ping 10.2.1 .1
Type Escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.1 .1, timeout is 2 seconds:
.!!!!
Success rate is 80 Percent(4/5), round-trip min/avg/max = 1/1/4 ms
【任务二】:设置基于ACL的NAT
在本次任务中,你将需要在边界路由器(PxR1和PxR2)上配置一个单点对单点的使用访问控制列表(ACL)的NAT。这个使用ACL的NAT将内部路由器的以太网接口地址到TFTP服务器的通信转换成源地址为192.168.x.0/24或者192.168.xx.0/24的通信。在骨干路由器1(BBR1)上有一条为192.168.x.0/24和192.168.xx.0/24的静态路由。骨干路由器除了本地的TFTP服务器网10.254.0.0的路由条目外,没有任何10.x.0.0的路由条目。
第四步:在PxR1和PxR2路由器上,相同的源地址应该在扩展访问控制列表100中被定义。ACL 100应该匹配从边界路由器以E0口发起的到TFTP服务器的网通信。例如:PxR1应该匹配通信源地址为10.x.1.0/24和PxR2应该匹配通信源地址为10.x.2.0/24。这个ACL还必须附加的匹配包的目的地址为10.254.0.0/24。
第五步:在PxR1和PxR2路由器上,使用ip nat pool命令创一个名为“BBR”地址池。路由器PxR1使用地址段192.168.x.0/24,路由器PxR2使用地址段192.168.xx..0/24。例如:P5R1使用地址段192.168.5.1-254和P5R2使用地址段192.168.55.1-254。
第六步:在路由器PxR1和PxR2上,使用ip nat inside source list命令去指定匹配ACL100的包使用地址池BBR进行地址转换。
第七步:在路由器PxR1和PxR2上,使用ip nat inside和ip nat outside命令定义内部接口和外部接口。因为数据包是从E0进入并被翻译的,所以E0为内部接口,数据包是从S0口离开的,所以S0为外部接口。
第八步:在路由器PxR3和PxR4上,配置PxR1和PxR2为缺省网关。这个配置将允许内部路由器到达核心网络。
第九步:使用ping命令校正PxR3和PxR4路由器与TFTP服务器(10.254.0.254)的连接正确性。
警告:如果NAT配置没有正确,你将不能到达TFTP服务器。
第十步:在边界路由器(PxR1和PxR2)上检查NAT表,你的显示应该与下图类似:
P3R2#sh ip nat trans
Pro Inside Global Inside Local Outside Local Outside Glocal
--- 192.168.33.1 10.3.2 .4 --- ---
P3R2#
【任务三】:NAT到其他的边界路由器
在这个任务中,你需要NAT从奇数路由器(PxR1和PxR3)和偶数路由器(PxR2和PxR4)的数据包,同样,你也需要转换从偶数路由器到奇数路由器的数据包。因为你现在没有运行路由协议,你需要在路由器PxR1和PxR2之间进行适当的NAT。
实验过程:
第一步:在路由器PxR1和PxR2上,同样的源地址被定义在扩展访问控制列表101中。ACL 101 应该匹配通信从E0口进入,目的地址为任何的通信。例如:PxR1应该匹配通信源地址为10.x.1.0/24的数据包和PxR2应该匹配通信源地址为10.x.2.0/24的数据包。这个ACL另外需要匹配目的地址为任何网络。
第二步:在路由器PxR1和PxR2上,为NAT创建一个名为POD的地址池。PxR1应该使用地址范围10.x.0.65-95和PxR2应该使用地址范围10.x.0.96-127。
第三步:在路由器PxR1和PxR2上,指定数据包匹配ACL101的应该被使用地址池POD。
第四步:在路由器PxR1和PxR2上,使用ip nat out命令在s1接口上,保证所有的内部通信被翻译的。
第五步:从一个内部路由器,PING没有直接连接的边界路由器的S1接口地址(如PxR3 ping PxR2 S1的接口地址)。下图显示了一个不成功的PING,为什么呢?
P2R3#ping 10.2.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0 .2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
第六步:查看边界路由器的NAT表。它有已经这个源地址进行了地址转换但并没有识别到这是一个不同的会话。它将不为这个新的目的地址通信进行地址转换。不同的对话的识别是必须的。此时,你的NAT表应该如下表类似:
P3R2#sh ip nat trans
Pro Inside Global Inside Local Outside Local Outside Glocal
--- 192.168.2.1 10.2.1.3 --- ---
第七步:从这个没有直接连接的边界路由器(P2R2)上,在PING的同时使用debug ip icmp和debug ip packet 命令。新的输出被描述在下面,这个debug信息指出了为什么PxR3的PING是不成功的。
P2R2#debug ip icmp
ICMP packet debugging is on
P2R2#
2w1d: ICMP: echo reply sent, src 10.2.0 .2, dst 192.168.2.1
2w1d: IP: s=10.2.0.2 (local) , d=192.168.2.1, len 100, unroutable
第八步:查看对端边界路由器(P2R2)上的路由器表,请尝试查找在ICMP ECHO回复消息中目的地址(192.168.2.0)的相关路由。你的路由表输入应该与下图相似:
提示:前一个布骤中的目标地址为192.168.x.1
P2R2#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
172.31.0.0/24 is subnetted, 1 subnets
C 172.31.2.0 is directly connected, Serial0
10.0.0 .0/8 is variably subntted, 3 subnets, 2 masks
C 10.2.0.0 is directly connected, Serial 0
C 10.2.1.0 is directly connected, Serial0
S 10.0.0.0/8 [1/0] via 172.31.2.3
P2R2#s
第九步:在上面的路由表中,并没有返回路由。路由器不能找到适当的回包地址它将做什么呢?
【任务四】:转换内部地址在NAT中使用ROUTE-MAP
在这个任务中,你将配置NAT使用ROUTE-MAP进行数据包匹配。大家在看见看到,当价钱使用NAT时不使用overloading地址,这个地址转换表仅仅包含本地和全局地址。当你配置NAT使用ROUTE-MAP时,这个地址转换条目将包含内部和外部(本地和全局)地址条目和TCP、UDP端口信息。这种地址转换条目使路由器可以识别不同的会话。
实验过程:
第一步:数据包应该进行基于目的地址的转换。到TFTP服务器和到网络核心的数据包应该还是被转换到192.168.x.0/24或192.168.xx.0/24,但是到其他边界路由器的数据包应该被转换到10.x.0.0子网中。这个地址将使用在本地到其他边界路由器的S1接口和其他出现在路由表中的路由(直连的路由是自动的进入路由表)。为了防止先前的拒绝,PxR1将使用地址范围10.x.0.64-95/24和PxR2将使用地址范围10.x.0.97-127/24.使用ROUTE-MAP作为基于目的地址的地址转换条件器。你的ROUTE-MAP配置应该与下列类似:
Route-map TO_BBR permit 10
Match ip address 100
!
Route-map TO_POD permit 10
Match ip address 101
第二步:删除以前的NAT命令,加入新的NAT命令使用ROUTE-MAP进行地址转换。你的配置与下列类似:
P2R1(conf)#no ip nat inside source list 100 pool BBR
P2R1(conf)#no ip nat inside source list 101 pool POD
P2R1(conf)#ip nat inside source route-map TO_BBR pool BBR
P2R1(conf)#ip nat inside source route-map TO_POD pool POD
- 提示: 如果路由器指出”%Dynamic mapping in use, cannot remove”,请返回特权模式,然后输入clear ip nat trans * 删除所有动态映射。
第三步:从内部路由器PING边界路由器和TFTP服务器,验正先前的步骤是成功的。打开debug ip nat命令在边界路由器上,查看地址翻译细节。你的路由器显示应该与下面类似:
Rack01R1#ping 10.254.0.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.254.0.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
在边界路由器上,使用Debug ip nat detail命令:
*Mar 1 03:04:00.443: NAT*: s=10.254.0.254, d=192.168.1.1->10.1.1.3 [55449]
*Mar 1 03:04:00.451: NAT: map match TO_BBR
*Mar 1 03:04:00.455: NAT: map match TO_BBR
*Mar 1 03:04:00.459: NAT: i: icmp (10.1.1.3, 6711) -> (10.254.0.254, 6711) [61]
*Mar 1 03:04:00.463: NAT: s=10.1.1.3->192.168.1.1, d=10.254.0.254 [61]
*Mar 1 03:04:00.523: NAT*: o: icmp (10.254.0.254, 6711) -> (192.168.1.1, 6711)
在内部路由器上,PING其他的边界路由器:
P1R3#ping 10.1.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.254.0.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
同样,在边界路由器上,使用debug ip nat details:
*Mar 1 03:06:33.587: NAT: s=10.1.1.3->10.1.0.67, d=10.1.0.2 [66]
*Mar 1 03:06:33.623: NAT*: o: icmp (10.1.0.2, 1268) -> (10.1.0.67, 1268) [66]
*Mar 1 03:06:33.627: NAT*: s=10.1.0.2, d=10.1.0.67->10.1.1.3 [66]
*Mar 1 03:06:33.639: NAT: map match TO_POD
*Mar 1 03:06:33.643: NAT: map match TO_POD
*Mar 1 03:06:33.643: NAT: i: icmp (10.1.1.3, 1269) -> (10.1.0.2, 1269) [67]
第四步:使用show ip nat translations命令在每个边界路由器,你的显示结果应该与下面类似:
笔记: 注意这张表是被完整的粘贴的,一些转换条件使这个表比DEUBGGING还拥有更多的信息。
P1R1#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 192.168.1.1:2632 10.1.1.3:2632 10.254.0.254:2632 10.254.0.254:2632
icmp 192.168.1.1:2633 10.1.1.3:2633 10.254.0.254:2633 10.254.0.254:2633
icmp 192.168.1.1:2634 10.1.1.3:2634 10.254.0.254:2634 10.254.0.254:2634
icmp 192.168.1.1:2635 10.1.1.3:2635 10.254.0.254:2635 10.254.0.254:2635
icmp 192.168.1.1:2636 10.1.1.3:2636 10.254.0.254:2636 10.254.0.254:2636
icmp 10.1.0.67:8112 10.1.1.3:8112 10.1.0.2:8112 10.1.0.2:8112
icmp 10.1.0.67:8113 10.1.1.3:8113 10.1.0.2:8113 10.1.0.2:8113
icmp 10.1.0.67:8114 10.1.1.3:8114 10.1.0.2:8114 10.1.0.2:8114
icmp 10.1.0.67:8115 10.1.1.3:8115 10.1.0.2:8115 10.1.0.2:8115
icmp 10.1.0.67:8116 10.1.1.3:8116 10.1.0.2:8116 10.1.0.2:8116
【任务五】:下载配置文件
第一步:现在你的NAT应该是配置适当的。你需要给内部路由器下载一个配置文件。在这个内部路由器(PxR3和PxR4),使用TFTP从TFTP服务器下载这个安装文件名为PxRy.txt,到当前运行配置中。下面是一个配置文件示例(路由器P3R4):
Hostname P3R4
No ip domain-lookup
No ip classless
Enable password cisco
Line console 0
Logging synchronous
Exec-timeout 30 0
Line vty 0 4
No login
Int e 0
Ip address 10.3.2 .4 255.255.255.0
No shut
Int s0
Ip add 10.3.3.4 255.255.255.0
No shut
Exit
end
【实验验证】:
成功完成整个实验,你需要完成下列任务:
- 你的内部路由器使用NAT地址段192.168.x.0/24能够PING通TFTP服务器。
- 你的内部路由器使用NAT地址段10.x.0.0/24能够PING通相应的边界路由器。
- 你有演示这个基于ACL的NAT的限制,并且能使用基于ROUTE-MAP的NAT克服这个限制
你能通过NAT连接到TFTP服务器,并下载相应的配置文件