配置步驟:
1.
啓用isakmp
在配置ike 階段1時,首先要在終結×××隧道的接口上啓用isakmp,一般在面向Internet的接口或外部接口上啓用。若接口上沒有啓用isakmp,那麼安全設備則不會監聽該接口上的isakmp流量(udp端口500)。
cisco(config)#crypto isakmp enable outside
|
建立isakmp策略
在接口上啓用isakmp後,應建立與×××鏈接的另外一端相匹配的階段1策略。階段1將協商加密和其餘參數,這些參數用於驗證對等體並創建一個安全通道,兩個×××對等體會使用該通道進行通訊。
cisco(config)#crypto isakmp policy 1
|
cisco(config-isakmp-policy)#authentication pre-share
|
cisco(config-isakmp-policy)#encryption aes-256
|
cisco(config-isakmp-policy)#hash sha
|
cisco(config-isakmp-policy)#group 2
|
cisco(config-isakmp-policy)#lifetime 86400
|
2.
定義隧道組
隧道組也成爲鏈接配置文件。它定義了一個站點到站點隧道或遠程訪問隧道,並用來映射分配給指定IPSec對等體的屬性。對於站點到站點之間的IPSec隧道來講,應該使用遠端×××設備的IP地址做爲隧道組的名稱。對於那些IP地址沒有被定義爲隧道組的IPSec設備來講,若兩個設備的預共享密鑰相匹配,那麼安全設備就會嘗試將遠端設備映射到DefaultL2LGroup的默認站點到站點組中。
cisco(config)#tunnel-group 209.165.201.1
[秦樓客1]
type ipsec-l2l
|
cisco(config)#tunnel-group 209.165.201.1 ipsec-attributes
|
cisco(config-tunnel-ipsec)#pre-shared-key cisco123
|
3.
定義IPSec策略
在成功創建了一個安全鏈接後,IPSec轉換集就會開始定義用於傳輸數據包的加密類型和散列算法類型。它提供了數據認證、機密性和完整性的功能。
cisco(config)#crypto ipsec transform-set NY-AES256SHA
[秦樓客2]
esp-aes-256
[秦樓客3]
esp-sha-hmac
[秦樓客4]
|
4.
配置加密映射集(crypto map)
完成階段1策略和階段2策略的配置後,應建立加密映射集(crypto map),以便將策略應用到靜態站點到站點的IPSec鏈接。一個加密映射集的完整配置應包含如下3個參數:
1)
至少一個轉換集
2)
至少一個×××對等體
3)
一條加密ACL
加密映射集使用優先級號碼來定義IPSec實例。在每一個接口上,只能應用一個加密映射集。若是須要配置多條站點到站點的隧道,就必須在相同的加密映射集中使用不一樣的優先級號碼。cisco asa首先將檢查優先級號碼最低的練級,也就是優先級爲1的練級,最後檢查優先級爲65535的鏈接。
cisco(config)#access-list outside_crypto_10 remark acl to encrypto traffic from Chicago to NY
|
cisco(config)#access-list outside_crypto_10 extended permit ip 192.168.1.0 255.255.255.0 10.10.1.0 255.255.255.0
|
cisco(config)#crypto map outside_map 10 match address outside_crypto_10
|
cisco(config)#crypto map outside_map 10 set peer 209.165.201.1
|
cisco(config)#crypto map outside_map 10 set transform-set NY-AES256SHA
|
cisco(config)#crypto map outside_map 10 interface outside
|
5.
配置流量過濾器(可選)
默認狀況下,安全設備容許來自遠端×××網絡到其內部網絡的全部鏈接,而不須要ACL明確地放行。這也意味着即便外部接口的入向ACL拒絕來自這些加密的流量,安全設備仍然會放行。若要對該部分流量進行過濾,必須改變這一默認行爲。
cisco(config)#access-list outside_acl extended permit tcp host 10.10.1.10 host 192.168.1.10 eq 23
|
cisco(config)#access-group outside_acl in interface outside
|
cisco(config)#no sysopt connection permit-***
[秦樓客5]
|
6.
繞過NAT轉換(可選)
在大多數狀況下,管理員不但願爲穿越隧道的流量執行IP地址轉換。若管理員在安全設備上配置了NAT,用來爲非×××流量實施源或目的的IP地址轉換,則能夠爲穿越×××隧道的流量創建NAT豁免規則。若未定義NAT豁免策略,而且爲×××流量使用了NAT,則加密ACL應與NAT轉換後的(或全局)IP地址相匹配。
cisco(config)#access-list inside_nat0_outbound remark NAT Exempt Policy for IPSec Encrytion
|
cisco(config)#access-list inside_nat0_outbound extended permit ip 192.168.1. 255.255.255.0 10.10.1.0 255.255.255.0
|
cisco(config)#nat (inside) 0 access-list inside_nat0_outbound
|
IPSec高級配置:
1.
IPSec上的OSPF更新
OSPF使用多播與其鄰居進行通訊。而後,IPSec不容許封裝多播流量。在cisco asa中,咱們能夠經過靜態地定義鄰居來解決這個問題。
cisco(config)#interface GigabitEthernet0/0
|
cisco(config-if)#nameif outside
|
cisco(config-if)#security-level 0
|
cisco(config-if)#ip address 209.165.200.225 255.255.255.224
|
cisco(config-if)#ospf network point-to-point non-broadcast
|
cisco(config)#router opsf 100
|
cisco(config-router)#network 209.165.200.255 255.255.255.255 area 0
|
csico(config-router)#neighbor 209.165.202.1 interface outside
|
2.
反向路由注入
反向路由注入(RRI)是一種利用路由協議,將遠端網絡信息發佈到本地網絡的技術。經過使用RRI,cisco asa能夠自動將穿越隧道的遠端私有網絡以靜態路由的方式添加到其路由表中,而後使用OSPF將這些路由信息宣告給本地私有網絡的鄰居。
cisco(config)#crypto map outside_acrypto_10 10 set reverse-route
|
3.
NAT穿越(NAT-T)
默認狀況下,IPSec設備使用ESP協議,該協議不攜帶任何第4層信息。若是兩個對等體之間存在PAT設備,則IPSec沒法傳輸流量。NAT-T可解決這個問,但兩端設備必須知足一下條件:
a.
兩邊的×××設備都能支持NAT-T
b.
×××對等體之間存在NAT或PAT設備
若同時符合以上條件,×××對等體會使用ISAKMP(UDP端口500)開始他們之間的通訊。一旦檢測到NAT或PAT設備,將立刻切換爲使用UDP端口4500來完成接下來的協商。
在默認狀況下,安全設備上的NAT-T是全局啓用的。在不少狀況下,若UDP端口4500上的NAT-T封裝鏈接上沒有活動的流量,NAT/PAT設備就會將該鏈接設爲超時鏈接。所以這裏使用了一種NAT-T的存活機制,這樣安全設備就能夠週期性地發送存活消息,以防止中間設備上出現鏈接超時。默認的存活機制是20秒,範圍是10-3600秒。
cisco(config)#crypto isakmp nat-traversal 30
[秦樓客6]
|
cisco(config)#crypto map outside_map 10 set nat-t-disable
[秦樓客7]
|
4.
隧道默認網關
若是管理員不但願在cisco asa上定義去往內部網絡的路由,但但願將被封裝的流量路由到內部路由器,那麼在這種狀況下能夠使用隧道的默認網關來解決該問題。隧道默認網關通常狀況下是內部路由器的IP地址或任意第三層設備的IP地址。
隧道默認網關存在如下限制:
a.
不能再隧道化路由的出站口啓用單播RPF特性
b.
不能再隧道化路由的出站接口啓用TCP攔截特性
c.
許多VoIP引擎、DNS檢測引擎和DEC RPC檢測引擎會忽略隧道化路由
d.
僅能夠使用tunneled選項定義一條默認路由
cisco(config)#route inside 0.0.0.0 0.0.0.0 192.168.1.2 tunneled
|