ASA 老版与新版本 NAT的配置方法与比较

简介

ASA 8.3以后,NAT算是发生了很大的改变,之前也看过8.4的ASA,改变的还有VPN,加入了Ikev2 。MPF方法加入了新的东西,QOS和策略都加强了,这算是cisco把CCSP的课程改为 CCNP Security 的改革吧!

image001.jpg

拓扑图就是上面的,基本配置都是一样,地址 每个路由器上一条默认路由指向ASA。

image002.jpg

基本通信没问题,关于8.3以后推出了两个概念,一个是network object 它可以代表一个主机或者子网的访问。另外一个是service object,代表服务 。

1、地址池的形式的NAT配置

老版本 代表一个12.1.1.0的地址池转换成200.200.200.3-200.200.200.254 一对一的转换
nat (inside) 1 12.1.1.0 255.255.255.0
global (outside) 1 200.200.200.3-200.200.200.254

新版本 (Network object NAT)
ASA-8.4(config)# object network inside
ASA-8.4(config-network-object)# subnet 12.1.1.0 255.255.255.0
ASA-8.4(config-network-object)# exit

ASA-8.4(config)# object network outside-pool
ASA-8.4(config-network-object)# range 200.200.200.3 200.200.200.254
ASA-8.4(config-network-object)# exit

ASA-8.4(config)# object network inside
ASA-8.4(config-network-object)# nat (inside,outside) dynamic outside-pool
其实,刚开始接触也挺不习惯的,不过弄懂了就习惯了,它的意思是先定义两个object,一个用于代表转换前的地址范围,一个是转化后的地址范围,最后在转换前的object进行调用转化后的object。

image003.jpg

由于地址不是一一对应的,所以这里它就自动选择了。 这里为了清楚表达要在需要的地方调用这个策略,所以输入了两次object network inside, 其实我们看先创建一个地址池,然后在创建一个需要转换的范围,然后在这个object里面调用。

2、动态PAT,多对一的配置

老配置里面可以根据一个地址或者直接跟interface参数来做
nat (inside) 1 12.1.1.0 255.255.255.0
global (outside) 1 200.200.200.1 or interface

新版本 (Network object NAT)
ASA-8.4(config)# object network inside
ASA-8.4(config-network-object)# subnet 12.1.1.0 255.255.255.0
ASA-8.4(config-network-object)# nat (inside,outside) dynamic interface

image009.jpg

这个策略最简单,就在需要转换的地址进行NAT配置,这里调用interface作为转换。

如果是一个单一的地址话。
ASA-8.4(config)# object network outside-pat
ASA-8.4(config-network-object)# host 200.200.200.3

ASA-8.4(config)# object network inside
ASA-8.4(config-network-object)# subnet 12.1.1.0 255.255.255.0
ASA-8.4(config-network-object)# nat (inside,outside) dynamic outside-pat 调用outside-pat策略 用200.200.200.3做PAT

image005.jpg

转换成 200.200.200.3出去了

3、Static NAT 一对一转换

老版本 ,用于服务器公布出去
static (inside,outside ) 200.200.200.3 13.1.1.2

新版本 (Network object NAT)
ASA-8.4(config)# object network DMZ
ASA-8.4(config-network-object)# host 13.1.1.2
ASA-8.4(config-network-object)# nat (dmZ,outside) static 200.200.200.3

ASA-8.4(config)# access-list 100 permit tcp any host 13.1.1.2 eq telnet
ASA-8.4(config)# access-group 100 in interface outside

image006.jpg

外部访问DMZ没问题,但是这里注意的是 在8.3以前的版本是需要放行转换后的地址,而8.3以后,是放行真实的地址,也就是内部地址。这里还可以用一个obejct来单独设置一个地址,然后在调用。另外如果是http的转换 或者邮件这些依赖DNS解析的服务话,而内部有是通过公网地址访问的话,那么就加个DNS参数 nat (dmZ,outside) static 200.200.200.3 dns

4、Static NAT端口转换

static (inside,outside) tcp 200.200.200.3 2323 13.1.1.2 23

新版本(Network object NAT)
ASA-8.4(config)# object network DMZ
ASA-8.4(config-network-object)# host 13.1.1.2
ASA-8.4(config-network-object)# nat (dmZ,outside) static 200.200.200.3
ASA-8.4(config-network-object)# nat (dmZ,outside) static 200.200.200.3 service tcp telnet 2323
这个是格式,前面telnet是代表内部服务的端口号,而后面的代表转换后的端口号。

image007.jpg

这里要加2323的端口号。

另外一种转换形式就是 跟interface参数的,它跟8.3以前一样,接口地址不能作为object的一部分,只能通过interface来表示,而不是地址形式。

ASA-8.4(config-network-object)# nat (dmZ,outside) static interface service tcp telnet 2323

image008.jpg

这里8.3以后放行真实地址的流量就可以了,而不关心转换后的地址。

5、Identity NAT

nat (inside) 0 2.2.2.2 255.255.255.255
在老版本里面有个NAT 0的策略,分为identity 和 bypass,我们通常用的deny VPN流量不做NAT用的是bypass,不过在8.3以后实现方法有点不同。在这个拓扑中 ,inside新增加一个2.2.2.2的地址,不被转换出去。
ASA-8.4(config)# object network inside
ASA-8.4(config-network-object)# host 2.2.2.2
ASA-8.4(config-network-object)# nat (inside,outside) dynamic interface

image009.jpg

默认情况下是转换地址出去的,做个identity后

新版本(Network object NAT)
ASA-8.4(config)# object network inside1
ASA-8.4(config-network-object)# host 2.2.2.2
ASA-8.4(config-network-object)# nat (inside,outside) static 2.2.2.2

image010.jpg

这里自己转换自己,它是优于PAT的。

6、policy NAT

access-list 100 permit ip 12.1.1.0 255.255.255.0 host 1.1.1.1 关于12.1.1.0网段去往1.1.1.1的转换用200.200.200.3
nat (inside) 1 access-list 100
global (outside) 1 200.200.200.3
globat (outside) 1 interface

在老版本中,叫做策略NAT,根据访问不同的网段,转换成不同地址出去。

新版本 (Twice NAT) ,这个是两次NAT,一般加入了基于目的的元素,而之前的network object只是基于源的,通常情况下 使用object 就能解决问题了,这个只是在特殊情况下使用。一般我们把object叫做Auto NAT ,而Twice NAT叫做manual NAT
这是outside 有个 1.1.1.1和3.3.3.3的地址,当12.1.1.0的网段访问1.1.1.1的时候 转换成200.200.200.3出去,而其余的就用接口地址转换。

ASA-8.4(config)# object network policy 这个代表访问1.1.1.1
ASA-8.4(config-network-object)# host 1.1.1.1

ASA-8.4(config)# object network outside-pat 用这个地址做专门访问1.1.1.1的PAT
ASA-8.4(config-network-object)# host 200.200.200.3

ASA-8.4(config)# object network inside
ASA-8.4(config-network-object)# subnet 12.1.1.0 255.255.255.0
ASA-8.4(config-network-object)# nat (inside,outside) dynamic interface

这里定义了内部网段,并且用接口地址做PAT。关于Twice NAT是在全局下做的,而Auto NAT是基于在Object下做的。

ASA-8.4(config)# nat (inside,outside) source dynamic inside outside-pat destination static policy policy
这个跟普通的Auto NAT,这里多了个destination 目的,policy policy 这是书写格式 。看下效果

image011.png

效果出来了,访问1.1.1.1 的时候用200.200.200.3转换,而访问 3.3.3.3的时候用interface转换出去。

VPN流量旁路

在老版本里面 我们用NAT 0 来解决这个问题,而在新版本里面 没有NAT 0这个概念了,它用Twice NAT+Identify 组合的使用

access-list 100 permit ip host 1.1.1.1 host 2.2.2.2
nat (inside) 0 access-list 100

object network local-vpn-traffic
host 1.1.1.1
object netowork remote-vpn-traffic
host 2.2.2.2
nat (inside,outside) source static local-vpn-traffic local-vpn-traffic destination static remote-vpn-traffic remote-vpn-traffic (全局下)

执行顺序:
1、manual NAT:(Twice NAT):、Twice NAT+Identify (VPN旁路) 、优先选择Twice NAT有服务的转换 、 选择Twice NAT
关于Twice NAT的顺序完全是谁在最前面谁最优,没有什么比较的,可以通过人为的修改顺序。
2、Auto NAT :1、identify 2、static 3、dynamic 其中static是优于dynamic的。

如果static存在多个,那么首先比较子网掩码范围,大的优先,也就是32位由于24位,如果都一样,就比较网络位,小的优先,就是10.1.1.0/24网段 比20.1.1.0/24优先,最后都相同比较object name,字母最前面的优先,也就是ab 是优于bc的

Dynamic的话,顺序也跟static一样,只是static是优于dyanmic的

如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog(其他平台同名),版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注、转发、点赞支持下!~。

猜你喜欢

转载自blog.csdn.net/weixin_46948473/article/details/114767679
asa
今日推荐