技术在于专研
分类: 系统运维
2007-05-14 13:20:41
本文解释使用访问控 制列表与路由映射如何更改网络地址转换(NAT)的功能。欲知 关于NAT的更多信息,请参阅 。
欲 知关于文件惯例的更多信息,请参阅 。
此文档没有特殊的先决 条件。
本文不限于特 定软件和硬件版本。
本文提供的信 息在特定实验室环境里从设备被创建了。用于本文的所有设 备开始了以一个缺省(默认)配置。如果在一个真实网络工 作,保证您使用它以前了解所有命令的潜在影响。
当 需要创建转换项时, NAT 只使用访问控制列表和路由映射。如果转 换项已经存在数据流转换项然后将使用匹配; 任何访问控制 列表或路由映射 不会参见。 使用访问控制列表或路由映射的之间区别是将被创建转换项 的种类。
路由映射
当NAT使用一个路由映射决定创建转换项,总将创建 充分扩展转换条目。此转换项将包含两个里面和超出(本地和 全局) 地址条目和所有TCP或UDP端口信息。
访问控制列表(没有超载)
当NAT使用一个访问控制列表决定创建转换项,将创 建"简单"转换项。此"简单" 条目只将包含本地和全局IP地 址条目为内部或外部依靠是否 配置ip nat inside或ip nat outside命令。 并且,它不会 包括任何TCP或UDP端口信息。
访问控 制列表(带有超载)
当NAT使用一个访 问控制列表,并且超载也指定了,NAT将创建充分扩展转换条目。 这是相同象路由映射盒,上述。您能通过选择其中一 条参见简单NAT转换项和充分扩展NAT转换条目的示例链路如下:
下面是我们将使用说明使用路由映射和访问控制列表 的之间区别与NAT的网络图示例。
在 以上网络图示例,切记主机在10.1.1.0 被转换为以下:
131.108.2.0当去到131.108.1.0时
131.118.2.0当去到131.118.1.0时
带有访问控制列 表方法,您在10.1.1.0 会执行以下转换主机:
ip nat pool pool108 131.108.2.1 131.108.2.254 prefix-length 24
ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24
ip nat inside source list 108 pool pool108
ip nat inside source list 118 pool pool118
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
interface ethernet1
ip address 10.1.2.1 255.255.255.0
ip nat outside
access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255
access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255
这是发生了什么当主机 1远程登录到主机2。
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23)
Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
由于NAT用于访 问控制列表匹配此数据流一个简单转换项被创建,只不包括内部的 转换信息和协议或者端口信息:
inside outside
local global global local
10.1.1.2 131.108.2.1 ---- ----
返回 信息包:主机2到主机1:
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024)
Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
带有上述简单转换到位 ,这是发生了什么当主机1也远程登录到主机3:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23)
Packet on (Network 2) s:131.108.2.1(1025) d:131.118.1.2(23) (after NAT)
我们能发现有问题。信息包去从10.1.1.0主机 到131.118.1.0主机应该翻译成131.118.2.0 , 没有 131.108.2.0。 原因这发生是因为已经有也匹配主机1和主机3的之间数据流 的NAT转换项为10.1.1.2 < - - > 131.108.2.1。所以,将 使用此转换项并且访问控制列表108和118没有被检查。
当简单转换项到位在NAT转换表里时 ,在任何外部主机 可以 由所有外部用户用于寄发信息包到主机1只要外部用户 为主机1使用内部全局地址(131.108.2.1)。通常一个静态NAT 转换是需要的允许此。
正确方式配置示例在本文将使用路由映射。带 有路由映射方式,您在10.1.1.0 会执行以下转换主机:
ip nat pool pool-108 131.108.2.1 131.108.2.254 prefix-length 24
ip nat pool pool-118 131.118.2.1 131.118.2.254 prefix-length 24
ip nat inside source route-map MAP-108 pool pool-108
ip nat inside source route-map MAP-118 pool pool-118
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
interface ethernet1
ip address 10.1.2.1 255.255.255.0
ip nat outside
access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255
access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255
route-map MAP-108 permit 10
match ip address 108
route-map MAP-118 permit 10
match ip address 118
这是发生了什么当主 机1远程登录到主机2:
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23)
Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
在这种情况下 ,因为NAT用于路由映射匹配将被转换的数据流,NAT将创建充分扩 展转换条目,在转换信息内外包括:
inside outside
local global global local
10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23
返回信息包:主机2到主机1:
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024)
Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
现在当时主机1寄发一 个信息包到主机3我们获得以下:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23)
Packet on (Network 2) s:131.118.2.1(1025) d:131.118.1.2(23) (after NAT)
转 换正确地运转因为信息包(N1)不匹配为主机1至主机2使用数据流的 充分扩展转换条目。由于现有转换不配比,NAT创建另一转换 项为主机1至主机3数据流。
下面是 充分扩展转换条目在NAT路由器:
inside outside
local global global local
10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23
10.1.1.2:1025 131.118.2.1:1025 131.118.1.2:23 131.118.1.2:23
由 于NAT转换表有二个充分的条目,将正确地转换去二个不同的目的地 的数据流从同一个来源。
不同于通 过访问控制列表被创建的简单转换项,通过路由映射被创建充分扩 展转换条目不可能由其他外部用户用于寄发信息包到主机1。一个静态NAT转换是需要的允许此。