一、簡易實驗拓撲
show xlate #查看nat轉(zhuǎn)換表項聚蝶,默認保持3小時
二杰妓、NAT類型
2.1、動態(tài)一對一轉(zhuǎn)換(外網(wǎng)地址足)
此場景適用于私網(wǎng)用戶上公網(wǎng)碘勉, 公網(wǎng)地址充足的情況
傳統(tǒng)配置(8.3前)
ciscoasa(config)# nat (in) 1 192.168.40.0 255.255.255.0 #內(nèi)網(wǎng)IP
ciscoasa(config)# global (out) 1 202.1.1.1-202.1.1.10 #公網(wǎng)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 #這邊是轉(zhuǎn)換成為object-group的
說明:
1、動態(tài)轉(zhuǎn)換中验靡,地址池的object定義倍宾,不允許使用subnet方式雏节,是考慮到地址池必須避開已占用地址。
2高职、動態(tài)轉(zhuǎn)換中钩乍,用到地址池的地址是隨機抽取的,但多個object拼接成object-group的情況下怔锌,會用完第一個object中rang范圍的全部地址寥粹,才會用第二個object中的地址。
2.2埃元、動態(tài)PAT(多對一)
適用于私網(wǎng)用戶上公網(wǎng)涝涤,公網(wǎng)地址稀缺〉荷保基本原理是對于TCP/UDP協(xié)議妄痪,通過端口號區(qū)分會話,對于ICMP協(xié)議楞件,通過ID號區(qū)分。
PAT轉(zhuǎn)換表項的回收時間只有30秒裳瘪。原因是PAT地址本來就稀缺土浸,閑置無流量一段時間后,應將復用資源盡快收回彭羹。
傳統(tǒng)配置(8.3前)
nat (inside) 1 192.168.40.0 255.255.255.0
global(outside) 1 202.1.1.2 #外網(wǎng)地址
新版本(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 表示內(nèi)網(wǎng)所有的地址
nat (inside,outside) dynamic 202.1.1.2 #當映射地址為單一地址的時候黄伊,也可以直接PAT地址
nat (inside,outside) dynamic interface #當公網(wǎng)地址稀缺到只有一個地址,可以直接復用接口地址
多個地址做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、先動態(tài)一對一毡惜,地址不夠再PAT
傳統(tǒng)配置(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自動排序時會將一對一轉(zhuǎn)化規(guī)則排在PAT 之前,如果順序不對经伙,要通過修改object名字來影響扶叉。
2.4、靜態(tài)一對一轉(zhuǎn)換(外到內(nèi))
此場景適用于隱藏真實的內(nèi)網(wǎng)地址帕膜,可用于私網(wǎng)服務器對公網(wǎng)用戶提供服務枣氧,利用訪問控制列表來控制具體的端口。
傳統(tǒng)配置(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版本后都是放行原地址的流量垮刹,源端口达吞。
公網(wǎng)用戶通過map地址來訪問到內(nèi)網(wǎng)的server,流量始發(fā)是從outside進入荒典,dmz離開酪劫,屬于inbound流量吞鸭,需要通過ACL放行。
2.5契耿、靜態(tài)端口轉(zhuǎn)換
2.5.1瞒大、使用自定義公網(wǎng)IP
適用于私網(wǎng)服務器對公網(wǎng)用戶提供具體服務,私網(wǎng)服務器只講相關(guān)端口映射到公網(wǎng)搪桂,映射后的端口和真實端口可以相同也可以不同透敌。
傳統(tǒng)配置(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下面只能調(diào)用一條nat
2.5.2、復用公網(wǎng)接口地址
如果映射地址復用公網(wǎng)接口地址踢械,同時占用了ASA自身的某個服務端口的話酗电,但會報錯,阻止自身服務端口被映射到內(nèi)網(wǎng)服務器内列,比如:
nat(dmz撵术,outside) static interface service tcp 23 23 #全局下敲的命令
2.5.3、多個端口映射
注:如果server有多個服務端口需要映射到公網(wǎng)同一個地址上话瞧,只能分別寫
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
此場景適用于私網(wǎng)地址上公網(wǎng),根據(jù)訪問目的地址的不同交排,要翻譯為不同的地址池的情況划滋。
由于自動nat只能基于源地址做nat規(guī)則,內(nèi)有能夠限定目的地址的功能埃篓,所以只能手動實現(xiàn)处坪。
傳統(tǒng)配置(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 #內(nèi)到外的nat不寫子網(wǎng),寫匹配的規(guī)則
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時同窘,源地址轉(zhuǎn)換為pat-1區(qū)訪問det-1
(當流量從inside接口進,outside接口出部脚,源地址為real-src想邦,目的地址為det-1時,將源地址動態(tài)轉(zhuǎn)換為pat-1委刘,目的地址不變)
2.7案狠、雙向NAT(源目同時NAT)
既轉(zhuǎn)換源地址,也轉(zhuǎn)換目的地址
傳統(tǒng)配置(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)
轉(zhuǎn)換為map-src去訪問dst
(202.100.1.1訪問202.100.1.21)