静态 NAT(在 ASA 上)
先决条件 - 自适应安全设备 (ASA)、网络地址转换 (NAT)
ASA 是一款 Cisco 安全设备,具有经典的防火墙功能,例如静态数据包过滤、带有 VPN 的状态数据包过滤、防病毒和入侵防御功能。
网络地址转换 (NAT) 是将私有 IP 地址转换为公共 IP 地址的过程。这将对外部网络隐藏原始源设备的 IP 地址。
静态 NAT –
在此,单个未注册的(私有)IP 地址与合法注册的(公共)IP 地址映射,即本地地址和全局地址之间的一对一映射。
这些通常用于 Web 托管和家庭网络。
这些在组织中不使用,因为有许多设备需要访问 Internet,并且要提供 Internet 访问,需要公共 IP 地址。假设,如果有 3000 台设备需要访问 Internet,则组织必须购买 3000 个公共地址,这将是非常昂贵的。
程序 -
- 步骤 1:配置访问列表 –
建立访问列表,说明许可条件,即谁应该被许可以及什么协议应该被许可。 - 步骤 2:将访问列表应用于接口 -
access-group 命令将用于说明动作(上面指定的)应该发生的方向(出或入)。 - 步骤 3:创建网络对象 -
这将说明将应用 NAT 的主机。 - 第 4 步:创建静态 NAT 语句 –
此步骤将指定 NAT 应发生的方向以及应将私有 IP 地址转换为哪个 IP 地址,例如 NAT (DMZ, OUTSIDE) static 111.1.1.1 这表示静态 NAT 操作将在流量发生时发生从 DMZ 到 OUTSIDE 并将 IP 地址(在网络对象命令中指定)转换为 111.1.1.1
笔记 -
已制作访问列表以允许 ICMP 流量从 OUTSIDE 到 DMZ 或 INSIDE,因为默认情况下,在 ASA(自适应安全设备)中不允许从较低安全级别到较高安全级别的 ICMP 流量。
例子 -
三个路由器,即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), name – INSIDE 和安全级别 – Gi0/0 上的 100,IP 地址 – 11.1.1.2/24,名称 – DMZ 和安全级别 – Gi0/1 上的 50,IP 地址 – 101.1.1.2/24,name-OUTSIDE 和安全级别– Gi0/2 上的 0)如上图所示。
在这个任务中,我们将为从 INSIDE 到 OUTSIDE 的流量以及从 DMZ 到 OUTSIDE 的流量启用静态 NAT。
在所有路由器和 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 回显回复(这样做是因为默认情况下,不允许从较低安全级别到较高安全级别的流量)更高的安全级别)。
在这种情况下,我们将使用 ACL。
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 设备。现在,任务是在流量从 INSIDE 到 OUTSIDE 和 DMZ 到 OUTSIDE 时在 ASA 上启用 NAT。
asa(config)#object network INSIDE_OUTSIDE_NAT
asa(config-network-object)#host 10.1.1.1
asa(config-network-object)#nat (INSIDE, OUTSIDE) static 110.1.1.1
在这里,当流量从 INSIDE 流向 OUTSIDE 时,主机 10.1.1.1 将被转换为 110.1.1.1。
asa(config)#object network DMZ_OUTSIDE_NAT
asa(config-network-object)#host 11.1.1.1
asa(config-network-object)#exit
asa(config)#nat (DMZ, OUTSIDE) static 111.1.1.1
在这里,当流量从 DMZ 流向 OUTSIDE 时,主机 11.1.1.1 将被转换为 111.1.1.1。