ASA防火墙 NAT新老的配置方法对比.docx
ASA防火墙 NAT新老的配置方法对比ASA防火墙 NAT新版老版的配置方法对比 不是最新的资料,但是觉得还是对一些朋友比较有用处,还是发布出来 这里先提供在线查阅,稍后会提供PDF版给大家下载 ASA 8.3 以后,NAT 算是发生了很大的改变,之前也看过8.4 的ASA,改变的还有VPN,加入了Ikev2 。MPF 方CCNPSecurity 的改革吧! 拓扑图就是上面的,基本配置都是一样,地址每个路由器上一条默认路由指向ASA。 基本通信没问题,关于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) ciscoasa(config)# object network inside ciscoasa(config-network-object)# subnet 12.1.1.0 255.255.255.0 ciscoasa(config-network-object)# exit ciscoasa(config)# object network outside-pool ciscoasa(config-network-object)# range 200.200.200.3 200.200.200.254 ciscoasa(config-network-object)# exit ciscoasa(config)# object network inside ciscoasa(config-network-object)# nat (inside,outside) dynamic outside-pool 其实,刚开始接触也挺不习惯的,不过弄懂了就习惯了,它的意思是先定义两个object,一个用于代表转换前一个是转化后的地址范围,最后在转换前的object 进行调用转化后的object。 由于地址不是一一对应的,所以这里它就自动选择了。这里为了清楚表达要在需要的地方调用这个策略,所以输object network inside, 其实我们看先创建一个地址池,然后在创建一个需要转换的范围,然后在这个obje 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) ciscoasa(config)# object network inside ciscoasa(config-network-object)# subnet 12.1.1.0 255.255.255.0 ciscoasa(config-network-object)# nat (inside,outside) dynamic interface 这个策略最简单,就在需要转换的地址进行NAT 配置,这里调用interface 作为转换。 如果是一个单一的地址话。 ciscoasa(config)# object network outside-pat ciscoasa(config-network-object)# host 200.200.200.3 ciscoasa(config)# object network inside ciscoasa(config-network-object)# subnet 12.1.1.0 255.255.255.0 ciscoasa(config-network-object)# nat (inside,outside) dynamic outside-pat 调用outside-pat 策略用200.200.200.3 做PAT 转换成200.200.200.3 出去了 3、Static NAT 一对一转换 老版本,用于服务器公布出去 static (inside,outside ) 200.200.200.3 13.1.1.2 新版本(Network object NAT) ciscoasa(config)# object network DMZ ciscoasa(config-network-object)# host 13.1.1.2 ciscoasa(config-network-object)# nat (dmZ,outside) static 200.200.200.3 ciscoasa(config)# access-list 100 permit tcp any host 13.1.1.2 eq telnet ciscoasa(config)# access-group 100 in interface outside 外部访问DMZ 没问题,但是这里注意的是在8.3 以前的版本是需要放行转换后的地址,而8.3 以后,是放行真也就是内部地址。这里还可以用一个obejct 来单独设置一个地址,然后在调用。另外如果是http 的转换或者DNS 解析的服务话,而内部有是通过公网地址访问的话,那么就加个DNS 参数nat (dmZ,outside) static 200dns 4、Static NAT 端口转换 static (inside,outside) tcp 200.200.200.3 2323 13.1.1.2 23 新版本(Network object NAT) ciscoasa(config)# object network DMZ ciscoasa(config-network-object)# host 13.1.1.2 ciscoasa(config-network-object)# nat (dmZ,outside) static 200.200.200.3 ciscoasa(config-network-object)# nat (dmZ,outside) static 200.200.200.3 service tcp telnet 2323 这个是格式,前面telnet 是代表内部服务的端口号,而后面的代表转换后的端口号。 这里要加2323 的端口号。 另外一种转换形式就是跟interface 参数的,它跟8.3 以前一样,接口地址不能作为object 的一部分,只能来表示,而不是地址形式。 ciscoasa(config-network-object)# nat (dmZ,outside) static interface service tcp telnet 2323 这里8.3 以后放行真实地址的流量就可以了,而不关心转换后的地址。 5、Identity NAT nat (inside) 0 2.2.2.2 255.255.255.255 在老版本里面有个NAT 0 的策略,分为identity 和bypass,我们通常用的deny VPN 流量不做NAT 用的是by过在8.3 以后实现方法有点不同。在这个拓扑中,inside 新增加一个2.2.2.2 的地址,不被转换出去。 ciscoasa(config)# object network inside ciscoasa(config-network-object)# host 2.2.2.2 ciscoasa(config-network-object)# nat (inside,outside) dynamic interface 默认情况下是转换地址出去的,做个identity 后 新版本(Network object NAT) ciscoasa(config)# object network inside1 ciscoasa(config-network-object)# host 2.2.2.2 ciscoasa(config-network-object)# nat (inside,outside) static 2.2.2.2 这里自己转换自己,它是优于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 ,而Twic做manual NAT 这是outside 有个1.1.1.1 和3.3.3.3 的地址,当12.1.1.0 的网段访问1.1.1.1 的时候转换成200.200.200的就用接口地址转换。 ciscoasa(config)# object network policy 这个代表访问1.1.1.1 ciscoasa(config-network-object)# host 1.1.1.1 ciscoasa(config)# object network outside-pat 用这个地址做专门访问1.1.1.1 的PAT ciscoasa(config-network-object)# host 200.200.200.3 ciscoasa(config)# object network inside ciscoasa(config-network-object)# subnet 12.1.1.0 255.255.255.0 ciscoasa(config-network-object)# nat (inside,outside) dynamic interface 这里定义了内部网段,并且用接口地址做PAT。关于Twice NAT 是在全局下做的,而Auto NAT 是基于在Objecciscoasa(config)# nat (inside,outside) source dynamic inside outside-pat destination static polic这个跟普通的Auto NAT,这里多了个destination 目的,policy policy 这是书写格式。看下效果 效果出来了,访问1.1.1.1 的时候用200.200.200.3 转换,而访问3.3.3.3 的时候用interface 转换出去。 VPN 流量旁路 在老版本里面我们用NAT 0 来解决这个问题,而在新版本里面没有NAT 0 这个概念了,它用Twice NAT+Ident合的使用 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-remote-vpn-traffic (全局下) 执行顺序: 1、manual NAT:(Twice NAT):、Twice NAT+Identify (VPN 旁路) 、优先选择Twice NAT 有服务的转换、选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,字母最前面的优先,也就bc 的 Dynamic 的话,顺序也跟static 一样,只是static 是优于dyanmic 的