1、1NAT 实验讲义一. 实验目的本实验的目的是通过配置静态地址传输,动态地址传输,让学员对 NAT 的工作原理有初步的认识,掌握 NAT 在路由器上的配置方法,对 NAT 在网络上的应用有更深的了解。一. 实验原理1 什么是 NAT?NAT 即 Network Address Translation,它可以让那些使用私有地址的内部网络连接到 Internet 或其它 IP 网络上。NAT 路由器在将内部网络的数据包发送到公用网络时,在 IP 包的报头把私有地址转换成合法的 IP 地址。2在 NAT 实验中需要理解的术语:1) 内部局部地址(Inside Local ):在内部网络中分配给主机的
2、私有 IP 地址。2) 内部全局地址(Inside Global):一个合法的 IP 地址,它对外代表一个或多个内部局部 IP 地址。3) 外部全局地址(Outside Global):由其所有者给外部网络上的主机分配的 IP 地址。4) 外部局部地址(Outside Local ):外部主机在内部网络中表现出来的 IP 地址。3NAT 的优点和缺点:NAT 的优点 :(1) 对于那些家庭用户或者小型的商业机构来说,使用 NAT 可以更便宜,更有效率地接入 Internet。 (2) 使用 NAT 可以缓解目前全球 IP 地址不足的问题。(3) 在很多情况下,NAT 能够满足安全性的需要。(4
3、) 使用 NAT 可以方便网络的管理,并大大提高了网络的适应性。NAT 的缺点 :(1) NAT 会增加延迟,因为要转换每个数据包包头的 IP 地址 ,自然要增加延迟. (2) NAT 会使某些要使用内嵌地址的应用不能正常工作 .4NAT 的工作原理:当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到 NAT 路由器上,路由器检查数据包的报头,获取该数据包的源 IP 信息,并从它的 NAT 映射表中找2出与该 IP 匹配的转换条目,用所选用的内部全局地址(全球唯一的 IP 地址)来替换内部局部地址,并转发数据包。当外部网络对内部主机进行应答时,数据包被送到 NAT 路由器上,路由
4、器接收到目的地址为内部全局地址的数据包后,它将用内部全局地址通过 NAT 映射表查找出内部局部地址,然后将数据包的目的地址替换成内部局部地址,并将数据包转发到内部主机。5NAT 配置中的常用命令:ip nat inside|outside:接口配置命令。以在至少一个内部和一个外部接口上启用NAT。ip nat inside source static local-ip global-ip:全局配置命令。在对内部局部地址使用静态地址转换时,用该命令进行地址定义。access-list access-list-number permit|deny local-ip-address:使用该命令为内部
5、网络定义一个标准的 IP 访问控制列表。ip nat pool pool-name start-ip end-ip netmask netmask type rotary:使用该命令为内部网络定义一个 NAT 地址池。ip nat inside source list access-list-number pool pool-name overload:使用该命令定义访问控制列表与 NAT 内部全局地址池之间的映射。ip nat outside source list access-list-number pool pool-name overload:使用该命令定义访问控制列表与 NAT 外
6、部局部地址池之间的映射。ip nat inside destination list access-list-number pool pool-name:使用该命令定义访问控制列表与终端 NAT 地址池之间的映射。show ip nat translations:显示当前存在的 NAT 转换信息。show ip nat statistics:查看 NAT 的统计信息。show ip nat translations verbose:显示当前存在的 NAT 转换的详细信息。debug ip nat:跟踪 NAT 操作,显示出每个被转换的数据包。Clear ip nat translations
7、*:删除 NAT 映射表中的所有内容 .一. 实验设备Cisco 路由器两部,带超级终端的 PC 机三台,Cisco 集线器两台。一. 实验步骤(一)静态 NAT,单向动态 NAT 和 PAT:31、配置路由器端口的 IP 地址,并在 RouterB 和 RouterC 上配置到 202.116.78.0 网段的静态路由。2、在 RouterA 上分别为 RouterB 和 RouterC 配置一条到达内部全局地址的静态路由。完成配置后使用 show ip route,show interface,show running-configuration 查看路由配置的正确性。RouterA#co
8、nfig tRouterA(config)#ip route 202.116.65.0 255.255.255.0 202.116.64.1RouterA(config)#ip route 202.116.67.0 255.255.255.0 202.116.66.13、在 RouterA 的 f0 端口配置 ACL 过滤掉所有私有地址。(1)静态 NAT:以 RouterB 为例RouterB#config tRouterB(config)# ip nat inside source static 10.0.1.2 202.116.65.1RouterB(config)#int f0Rout
9、erB(config-if)#ip nat insideRouterB(config-if)#int s0RouterB(config-if)#ip nat outside查看静态 NAT 的配置:RouterB#show ip nat translationsRouterB#show ip nat statisticsRouterB#show ip nat translations verboseRouterB#debug ip nat检验静态 NAT:在 Host_1 上 ping 202.116.65.1 是否成功? 在 Host_3 上 ping Host_1 是否成功?现在再由 Ho
10、st_1 ping 202.116.65.1 是否成功?4为什么?(2)动态 NAT(先删除静态 NAT 的配置):以 RouterB 为例 NATRouterB#config tRouterB(config)# ip nat pool CISCO 202.116.65.1 202.116.65.254 netmask 255.255.255.0 RouterB(config)# access-list 1 permit 10.0.1.2 0.0.0.255RouterB(config)#ip nat inside source list 1 pool CISCORouterB(config)
11、#int f0RouterB(config-if)#ip nat insideRouterB(config-if)#int s0RouterB(config-if)#ip nat outside用(1)中的命令查看动态 NAT 的配置。检验动态 NAT。(3)PAT(删除所有 NAT 配置,保留 ACL 的配置):以 RouterB 为例RouterB(config)#int loop0RouterB(config-if)#ip address 202.116.65.1 255.255.255.0RouterB(config-if)#no shutRouterB(config)#ip nat inside source list 1 interface loop0 overload