1. 程式人生 > >在防火墻(ASA)上配置四種類型的NAT

在防火墻(ASA)上配置四種類型的NAT

豁免 nat 楊書凡


前面已經介紹了網絡地址轉換(NAT)的原理和基於路由器的配置,ASA上的NAT配置相對於路由器來說要復制一些,ASA上的NAT有動態NAT、動態PAT、靜態NAT、靜態PAT。下面的鏈接是我以前寫的NAT原理,在路由器上配置NAT的命令http://yangshufan.blog.51cto.com/13004230/1959448


動態NAT

動態NAT將一組IP地址轉換為指定地址池中的IP地址,是動態一對一的輪詢的關系;適合擁有多個公網IP、多個內網PC要訪問互聯網的環境使用(單向)

配置命令如下:

1.指定需要進行地址轉換的內網網段

asa(config)# nat (interface_name) nat-id local-ip mask
asa(config)# nat (inside) 1 0 0           //表示轉換所有內網地址

其中nat-id這裏必須大於等於1

2.定義全局地址池

asa(config)# global (interface_name) nat-id [global-ip]-[global-ip]

3.使用命令查看NAT轉換表

asa# show xlate detail

案例:inside區域有兩個網段,要求配置動態NAT實現網段192.168.1.0訪問Internet時,進行地址轉換,NAT地址池為202.106.2.100-202.106.2.200

技術分享

asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
asa(config)# global (outside) 1 202.106.2.100-202.106.2.200



動態PAT

動態PAT使用IP和源端口號創建一個唯一的會話,是動態多對一的關系;適合只有一個公網IP、多個內網PC要訪問互聯網的環境使用(單向),與動態NAT唯一不同的就是全局地址只有一個

在上圖的案例中,如果要配置動態PAT,用於轉換的IP地址是202.106.2.200,則配置命令如下:

asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
asa(config)# global (outside) 1 202.106.2.200

如果在配置動態PAT時直接使用outside接口的IP地址進行轉換,則配置命令如下:

asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
asa(config)# global (outside) 1 interface


靜態NAT

靜態NAT創建了一個從真實地址到映射地址的一對一的固定轉換,可用於雙向通信;適合有多個公網IP且有多個內網服務器需要發布的環境使用(雙向)

案例:在上圖的案例中,DMZ內的服務器默認可以訪問Internet,而在實際環境中,是允許所有地址訪問內網服務器192.168.3.1,需要配置靜態NAT,配置命令如下:

asa(config)# static (dmz,outside) 202.106.2.111 192.168.3.1        //配置靜態NAT
asa(config)# access-list out_to_dmz permit ip any host 202.106.2.111
asa(config)# access-group out_to_dmz in int outside                //配置ACL

註意:ACL中的目的地址應配置為映射地址202.106.2.111,而不是真實的地址192.168.3.1



靜態PAT

靜態PAT允許為真實和映射地址指定TCP或UDP端口號;適合只有一個公網IP且要發布多個內網服務器的環境使用(雙向)

靜態PAT的命令語法如下:

asa(config)# static (local_if_name,global_if_name) {tcp |udp} {global-ip | interface} global-port local-ip local-port [netmask mask]

案例:如下圖所示,DMZ有兩臺服務器,要求使用一個單一的映射地址202.106.2.111提供不同的服務

技術分享

配置命令如下:

asa(config)# static (dmz,outside) tcp 202.106.2.111 http 192.168.3.1 http     //配置靜態PAT
asa(config)# static (dmz,outside) tcp 202.106.2.111 smtp 192.168.3.2 smtp
asa(config)# access-list out_to_dmz permit ip any host 202.106.2.111
asa(config)# access-group out_to_dmz in int outside                //配置ACL


NAT控制

我們知道,默認高安全級別是可以訪問低安全級別的,也就是說,即使我們不做NAT,PC1也可以訪問Internet;而在真實環境中,PC1訪問Internet時,可以通過ASA將源地址是自己IP的請求包發送出去,但是確不會接收到回應包,因為私網地址在互聯網上是不合法的,因此我們還是需要做NAT,將私網地址映射為公網地址來訪問互聯網或被互聯網訪問

ASA從7.0開始提供了一個NAT控制的開關,即nat-control命令,當我們開啟NAT後,簡單的配置中,PC1不能再訪問Internet了,必須做NAT轉換才能進行訪問

默認情況下,是禁用NAT控制(no nat-control),但在實際環境中,我們一般啟用NAT控制方便管理;在啟用NAT控制時,NAT規則是必須的;即發起的每一個連接都需要一個相應的NAT規則


禁用NAT控制no nat-control

這是默認的情況,在禁用NAT控制是,NAT規則並不是必須的:它允許匹配NAT規則的網段進行地址轉換通信;也允許不匹配NAT規則的網段通信,只是不經過地址轉換

啟用NAT控制nat-control

如果啟用了NAT控制,NAT的規則就是必須的:它允許匹配NAT規則的網段進行地址轉換通信;禁止不匹配NAT規則的網段通信


NAT豁免

當啟用NAT控制時,每個發起的連接都需要一個相應的NAT規則,但是在某些應用場合(例如配置VPN)需要繞過NAT規則。繞過NAT規則有很多種方法,NAT豁免就是其中一種,NAT豁免允許雙向通信

配置NAT豁免首先需要定義一個ACL,用於指定需要繞過NAT規則的流量,然後進行配置,配置命令如下:

asa(config)# nat (interface_name) 0 access-list acl_name

案例:如下圖所示,在ASA上啟用NAT控制,要求為192.168.1.0網段配置動態PAT,映射地址為outside接口地址,為192.168.2.0網段配置NAT豁免

技術分享

配置命令如下:

asa(config)# nat-control            //啟用NAT控制
asa(config)# nat (inside) 1 192.168.1.0 255.255.255.0        //配置動態PAT
asa(config)# global (outside) 1 interface

asa(config)# access-list nonat extended permit ip 192.168.2.0 255.255.255.0 202.106.2.0 255.255.255.0
asa(config)# nat (inside) 0 access-list nonat           //啟用NAT豁免


查看和刪除NAT的命令

asa# show xlate           //查看NAT轉換表摘要
asa#show xlate detail          //查看NAT轉換表詳細信息
asa#show run nat           // 查看指定NAT
asa#show run global           //查看指定全局地址
asa(config)# no global (outside) 1 172.16.1.200      //刪除指定的全局地址池,在定義全局命令前加no
asa(config)# clear xlate         //清除NAT轉換表
asa(config)# clear configure stat         //刪除靜態NAT
asa(config)# clear configure nat           //刪除動態NAT
asa(config)# clear configure global        //清空全局地址池




本文出自 “楊書凡” 博客,請務必保留此出處http://yangshufan.blog.51cto.com/13004230/1966098

在防火墻(ASA)上配置四種類型的NAT