端口地址转换(PAT)是一种网络地址转换(NAT)在缺少公共IP地址时使用。同一子网的公共IP地址之一或接口地址用于转换。
端口地址转换(PAT):
这也称为NAT重载。这样, 许多本地(专用)IP地址被转换为单个公用IP地址。有时, 专用地址被转换为接口地址(单个)。在此, 端口号用于区分流量, 即哪个流量属于哪个IP地址。
程序:
该过程几乎与动态NAT中的过程相同, 但是请记住, 在PAT中, 多个私有IP地址被转换为单个公共IP地址。
步骤1:配置访问列表
建立说明允许条件的访问列表, 即谁应该被允许以及什么协议应该被允许。
步骤2:将访问列表应用于接口
access-group命令将用于说明执行操作(上面指定的)的方向(向外或向内)。
步骤3:创建网络组或网络对象
网络组将声明将在其上应用PAT的子网或其他子网。网络对象声明一个子网, 可以在PAT流程中进一步使用该子网进行转换。可以说, 网络组包含多个网络对象。
步骤4:PAT语句
此步骤将指定进行PAT的方向以及应转换专用IP地址的IP地址(公共IP地址)。
组态:
三个路由器即Router1(IP地址-10.1.1.1/24)、Router2(IP地址-11.1.1.1/24)和Router3(IP地址-101.1.1.1)连接到ASA(IP地址-10.1.1.2/24), 名称– INSIDE和安全级别– Gi0 / 0上为100, IP地址– 11.1.1.2/24, 名称– DMZ和安全级别– Gi0 / 1上为50, IP地址– 101.1.1.2/24, 名称外和安全级别–如上图所示, 在Gi0 / 2上为0)。
在此任务中, 我们将为从INSIDE到OUTSIDE的流量以及从DMZ到OUTSIDE的流量启用PAT。
在所有路由器和ASA上配置IP地址。
在Router1上配置IP地址:
Router1(config)#int fa0/0
Router1(config-if)#ip address 10.1.1.1 255.255.255.0
Router1(config-if)#no shut
在Router2上配置IP地址:
Router2(config)#int fa0/0
Router2(config-if)#ip address 11.1.1.1 255.255.255.0
Router2(config-if)#no shut
在Router3上配置IP地址:
Router3(config)#int fa0/0
Router3(config-if)#ip address 101.1.1.1 255.255.255.0
Router3(config-if)#no shut
在ASA接口上配置IP地址, 名称和安全级别:
asa(config)#int Gi0/0
asa(config-if)#no shut
asa(config-if)#ip address 10.1.1.2 255.255.255.0
asa(config-if)#nameif INSIDE
asa(config-if)#security level 100
asa(config-if)#exit
asa(config)#int Gi0/1
asa(config-if)#no shut
asa(config-if)#ip address 11.1.1.2 255.255.255.0
asa(config-if)#nameif DMZ
asa(config-if)#security level 50
asa(config-if)#exit
asa(config)#int Gi0/2
asa(config-if)#no shut
asa(config-if)#ip address 101.1.1.2 255.255.255.0
asa(config-if)#nameif OUTSIDE
asa(config-if)#security level 0
现在将静态路由提供给路由器。配置到Router1的静态路由:
Router1(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2
配置到Router2的静态路由:
Router2(config)#ip route 0.0.0.0 0.0.0.0 11.1.1.2
配置到Router3的静态路由:
Router3(config)#ip route 0.0.0.0 0.0.0.0 101.1.1.2
最后配置到ASA的静态路由:
asa(config)#route INSIDE 10.1.1.0 255.255.255.0 10.1.1.1
asa(config)#route OUTSIDE 101.1.1.0 255.255.255.0 101.1.1.1
asa(config)#route DMZ 11.1.1.0 255.255.255.0 10.1.1.1
对于ICMP, 请检查或使用ACL允许从较低安全级别到较高安全级别的ICMP回显应答(这样做是因为默认情况下, 不允许从较低安全级别到较高安全级别的流量)。
配置访问列表:
asa(config)#access-list traffic_out permit icmp any any
asa(config)#access-list traffic_dmz permit icmp any any
在此, 已创建两个访问列表。
第一个访问列表名称是traffic_out, 它将允许从OUTSIDE到INSIDE的ICMP流量(具有任何IP地址和任何掩码)。
已将第二个访问列表命名为traffic_dmz, 该列表将允许从OUTSIDE到DMZ的ICMP流量(具有任何IP地址和任何掩码)。
将这些访问列表应用于ASA接口:
asa(config)#access-group traffic_out in interface OUTSIDE
asa(config)#access-group traffic_dmz in interface DMZ
第一条语句指出访问列表traffic_out是向内应用到OUTSIDE接口的
第二条陈述指出, 访问列表traffic_dmz沿向内方向应用于DMZ接口。
INSIDE设备将能够ping OUTSIDE和DMZ设备。
任务是每当整个子网(10.1.1.0/24)流量从INSIDE到OUTSIDE以及网络(11.1.1.0/24)的网络流量从DMZ到OUTSIDE时, 在ASA上启用PAT, 它应该转换为OUTSIDE接口地址。
asa(config)#object network inside_nat
asa(config-network-object)#subnet 10.1.1.0 255.255.255.0
asa(config-network-object)#exit
首先, 指定应转换的子网。
NAT转换的方向将被指定:
asa(config)#nat (INSIDE, OUTSIDE) source dynamic INSIDE interface
将NAT应用于从DMZ到外部的流量:
asa(config)#object network dmz_nat
asa(config-network-object)#subnet 11.1.1.0 255.255.255.0
asa(config-network-object)#exit
为此流量创建NAT池:
asa(config)#object network dmz_nat_pool
asa(config-network-object)#range 120.1.1.1 120.1.1.4
asa(config-network-object)#exit
指定了nat翻译的疲劳度。
asa(config)#nat (DMZ, OUTSIDE) source dynamic DMZ interface
上面的命令指定dmz_nat中的子网应该使用PAT转换为DMZ接口的IP地址。这样, 配置PAT的过程几乎类似于动态NAT。主要区别在于, 配置外部接口IP地址而不是NAT池, 将从该IP地址中转换一个IP地址。
优点:
这是最常用的方法, 因为它具有成本效益, 因为仅使用一个真实的全局(公共)IP地址就可以将数千个用户连接到Internet。