ASA9.2版本-地址转换
发布网友
发布时间:2023-01-10 01:54
我来回答
共1个回答
热心网友
时间:2023-10-24 16:14
一、简易实验拓扑
show xlate #查看nat转换表项,默认保持3小时
二、NAT类型
2.1、动态一对一转换(*地址足)
此场景适用于私网用户上公网, 公网地址充足的情况
传统配置(8.3前)
ciscoasa(config)# nat (in) 1 192.168.40.0 255.255.255.0 #内网IP
ciscoasa(config)# global (out) 1 202.1.1.1-202.1.1.10 #公网IP
新版本(8.4以后)
ciscoasa(config-if)# object network nat-pool
ciscoasa(config-network-object)# rang 202.1.1.1 202.1.1.10
ciscoasa(config-network-object)# object network real-src
ciscoasa(config-network-object)# subnet 192.168.40.0 255.255.255.0
ciscoasa(config-network-object)# nat (in,out) dynamic nat-pool
配置多个rang,“拼接”出一个较大的地址池
ciscoasa(config)# object network nat-pool-1
ciscoasa(config-network-object)# rang 202.1.1.1 202.1.1.10
ciscoasa(config-network-object)# object network nat-pool-2
ciscoasa(config-network-object)# rang rang 202.1.1.100 202.1.1.110
ciscoasa(config)# object-group network nat-pools
ciscoasa(config-network-object-group)# network-object object nat-pool-1
ciscoasa(config-network-object-group)# network-object object nat-pool-2
ciscoasa(config-network-object-group)# exit
ciscoasa(config)# object network real-src
ciscoasa(config-network-object)# subnet 192.168.40.0 255.255.255.0
ciscoasa(config-network-object)# nat (in,out) dynamic nat-pools #这边是转换成为object-group的
说明:
1、动态转换中,地址池的object定义,不允许使用subnet方式,是考虑到地址池必须避开已占用地址。
2、动态转换中,用到地址池的地址是随机抽取的,但多个object拼接成object-group的情况下,会用完第一个object中rang范围的全部地址,才会用第二个object中的地址。
2.2、动态PAT(多对一)
适用于私网用户上公网,公网地址稀缺。基本原理是对于TCP/UDP协议,通过端口号区分会话,对于ICMP协议,通过ID号区分。
PAT转换表项的回收时间只有30秒。原因是PAT地址本来就稀缺,闲置无流量一段时间后,应将复用资源尽快收回。
传统配置(8.3前)
nat (inside) 1 192.168.40.0 255.255.255.0
global(outside) 1 202.1.1.2 #*地址
新版本(8.4以后)
ciscoasa(config)# object network pat-1
ciscoasa(config-network-object)# host 202.1.1.2
ciscoasa(config-network-object)# object network real-src
ciscoasa(config-network-object)# subnet 192.168.40.0 255.255.255.0
ciscoasa(config-network-object)# nat (in,out) dynamic pat-1
说明:
subnet 0.0.0.0 .0.0.0.0 表示内网所有的地址
nat (inside,outside) dynamic 202.1.1.2 #当映射地址为单一地址的时候,也可以直接PAT地址
nat (inside,outside) dynamic interface #当公网地址稀缺到只有一个地址,可以直接复用接口地址
多个地址做PAT复用地址:
ciscoasa(config)# object network PAT
ciscoasa(config-network-object)# RANG 202.1.1.5 202.1.1.10
ciscoasa(config-network-object)# object network real-src
ciscoasa(config-network-object)# subnet 192.168.40.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic pat-pool PAT
说明:
nat (inside,outside) dynamic pat-pool PAT 后跟round-robin,表示多个PAT地址轮流使用,而不是耗尽第一个才用第二个
2.3、先动态一对一,地址不够再PAT
传统配置(8.3前)
ciscoasa(config)# nat (in) 1 192.168.40.0 255.255.255.0
ciscoasa(config)# global (out) 1 202.1.1.2-202.1.1.8
ciscoasa(config)# global (out) 1 202.1.1.10
新版本(8.4以后)
ciscoasa(config)# object network nat-pool
ciscoasa(config-network-object)# rang 202.1.1.2 202.1.1.8
ciscoasa(config-network-object)# object network pat-1
ciscoasa(config-network-object)# host 202.1.1.9
ciscoasa(config-network-object)# object network real-src1
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (in,out) dynamic nat-pool
ciscoasa(config-network-object)# object network real-src2
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (in,out) dynamic pat-pool pat-1
因为这里object network的名称会影响到最终排序,因此auto-nat自动排序时会将一对一转化规则排在PAT 之前,如果顺序不对,要通过修改object名字来影响。
2.4、静态一对一转换(外到内)
此场景适用于隐藏真实的内网地址,可用于私网服务器对公网用户提供服务,利用访问控制列表来控制具体的端口。
传统配置(8.3前)
ciscoasa(config)# static (dmz,out) 202.100.1.101 192.168.40.3
新版本(8.4以后)
ciscoasa(config)# object network map
ciscoasa(config-network-object)# host 202.1.1.8
ciscoasa(config-network-object)# object network real-src
ciscoasa(config-network-object)# host 192.168.40.3
ciscoasa(config-network-object)# nat (dmz,out) static map
ciscoasa(config-network-object)# access-list outside permit tcp any host 192.168.40.3 eq 23
ciscoasa(config)# access-group outside in in outside
备注:
8.4版本后都是放行原地址的流量,源端口。
公网用户通过map地址来访问到内网的server,流量始发是从outside进入,dmz离开,属于inbound流量,需要通过ACL放行。
2.5、静态端口转换
2.5.1、使用自定义公网IP
适用于私网服务器对公网用户提供具体服务,私网服务器只讲相关端口映射到公网,映射后的端口和真实端口可以相同也可以不同。
传统配置(8.3前)
static (inside,outside) tcp 202.100.1.101 2323 172.16.1.1 23
新版本(8.4以后)
ciscoasa(config)# object network map
ciscoasa(config-network-object)# host 202.100.1.101
ciscoasa(config-network-object)# object network real-src
ciscoasa(config-network-object)# host 172.16.1.1
ciscoasa(config-network-object)# nat (dmz,out) static map service tcp 23 2323 #一个object下面只能调用一条nat
2.5.2、复用公网接口地址
如果映射地址复用公网接口地址,同时占用了ASA自身的某个服务端口的话,但会报错,阻止自身服务端口被映射到内网服务器,比如:
nat(dmz,outside) static interface service tcp 23 23 #全局下敲的命令
2.5.3、多个端口映射
注:如果server有多个服务端口需要映射到公网同一个地址上,只能分别写
object network real-telnet
host 192.168.40.3
nat (dmz,outside) 202.100.1.101 service tcp 23 3023
object network real-www
host 192.168.40.3
nat (dmz,outside) 202.100.1.101 service tcp 80 3080
2.6、策略NAT
此场景适用于私网地址上公网,根据访问目的地址的不同,要翻译为不同的地址池的情况。
由于自动nat只能基于源地址做nat规则,内有能够限定目的地址的功能,所以只能手动实现。
传统配置(8.3前)
access-list inside1 permit ip 192.168.1.0 255.255.255.0 host 128.73.0.1 #匹配感兴趣流
access-list inside2 permit ip 192.168.1.0 255.255.255.0 host 128.73.0.2
nat (inside) 1 access-list inside1 #内到外的nat不写子网,写匹配的规则
nat (inside) 2 access-list inside2
global (outside) 1 202.1.1.11 #匹配inside1的下一跳指向
global (outside) 2 202.1.1.12
新版本(8.4以后)
ciscoasa(config)# object network det-1
ciscoasa(config-network-object)# host 128.73.0.1
ciscoasa(config-network-object)# object network det-2
ciscoasa(config-network-object)# host 128.73.0.2
ciscoasa(config-network-object)# object network pat-1
ciscoasa(config-network-object)# host 202.1.1.11
ciscoasa(config-network-object)# object network pat-2
ciscoasa(config-network-object)# host 202.1.1.12
ciscoasa(config-network-object)# object network real-src
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
注:手动NAT是在全局下敲的。
ciscoasa(config)# nat (in,out) source dynamic real-src pat-1 destination static det-1 det-1
ciscoasa(config)# nat (in,out) source dynamic real-src pat-2 destination static det-2 det-2
解释:当real-src去访问det-1时,源地址转换为pat-1区访问det-1
(当流量从inside接口进,outside接口出,源地址为real-src,目的地址为det-1时,将源地址动态转换为pat-1,目的地址不变)
2.7、双向NAT(源目同时NAT)
既转换源地址,也转换目的地址
传统配置(8.3前)
access-list inside1 permit ip host 192.168.1.0 host 202.100.1.10
nat (inside) 1 access-list inside1
global (outside) 1 202.100.1.11
static (outside,inside) 192.168.1.1 202.100.1.11
新版本(8.4以后)
object network dst
host 202.100.1.21
object network map-src
host 202.100.1.11
object network real-src
host 192.168.1.1
object network map-dst
host 172.16.1.1
nat (inside,outside) source static real-src map-src destination static map-dst dst
就是real-src去访问map-dst的时候
(192.168.1.1访问172.16.1.1)
转换为map-src去访问dst
(202.100.1.1访问202.100.1.21)