***特性

IPsec DPD分兩種模式 Periodic (週期性的) on-demand (按需的) Periodic模式就是peer雙方會每隔一個固定時間就會向對方發送一個hello包,也表示每隔一個固定時間就會從鄰居peer收到一個hello包,如果超過一定的時間沒有收到對方peerhello包,則認爲對方peer已經失效,從而立刻刪除與對方的SA

在配置Periodic模式時,除了需要配置hello的間隔時間之外,還可以選擇配置retry時間,例如hello間隔是10秒,retry時間是2秒,那就表示每10秒都應該收到鄰居一個hello包,但如果到了10秒都沒收到鄰居的hello包,則不會再等10秒,而是會在retry的時間2秒後再向對方發送hello,默認連續5個,即10秒後就認爲鄰居失效。retry默認時間爲2秒、5個。

on-demand模式則不會定期在peer雙方發送hello,而是根據流量來的,只有在要發數據時,才發送hello去查詢鄰居狀態,如果沒有數據要發送,就不會發送hello,所以在沒有數據要發時,即使鄰居失效了,本地也是不知道的,除非SAlifetime超時, 

注:

IPsec DPD支持的設備包括路由器,PIX防火牆,並且支持各種LAN-to-LAN ***以及Easy ***

一定要先配置了IPsec DPD,才能應用crypto map到接口,如果先應用crypto map到接口再配IPsec DPD,是不生效的。

IPsec DPDpeer雙方都要配置。

 

要達到在IPsec SA空閒時將其刪除的目的,需要使用IPsec SA Idle Timer機制,IPsec SA Idle TimerIPsec SA設置空閒時間,在這個時間內沒有流量傳遞,就認爲該IPsec SA是空閒的,從而將其刪除。

IPsec SA Idle TimerIPsec DPD不一樣,IPsec DPD只有在peer不可用時纔會刪除SA,而IPsec SA Idle Timer時在沒有流量的情況下就會刪除SA

注:

如果IPsec SA被刪除了,那麼IKE SA也照樣會[被刪除的。

IOS 12.3(14)T以及之後版本才支持IPsec SA Idle Timer

IPsec SA Idle Timer可以在全局(globally)下配,也可以在crypto map下配,全局下配的對所有SA生效,而在crypto map下配的則只針對特定peerSA生效。

一定要先配置了IPsec SA Idle Timer,才能應用crypto map到接口,如果先應用crypto map到接口再配IPsec DPD,是不生效的。

IPsec SA Idle Timer不需要在peer雙方都配置,單方配置也可以。

 

有時爲了網絡冗餘性,會設計一個場點兩臺***路由器,使用兩臺路由器來和對方建立***連接,對於***路由器來說,如果要同時和對方一臺以上的路由器建立***連接,這並不困難,但有時希望只和對方某單臺路由器建立***連接,只有當使用中的***路由器不可用時,再啓用其它路由器作備用;這種IPsec ***使用情況,我們稱爲IPsec Preferred Peer

 

IPsec Preferred Peer由兩個部件組成:

Default peer

IPsec DPD

 

Reverse route injection (RRI)

當配置的crypto map是靜態crypto map時,RRI是根據crypto map中的ACL所定義的流量來自動創建靜態路由的,但在配置動態crypto map時,是不會通過ACL來定義感興趣流的,所以此時RRI就無法自動創建靜態路由,因爲事先根本無法知道哪些流量需要通過IPsec 隧道來加密傳輸,所以crypto map中,只能在建立IPsec SA後,根據IPsec SA中指示的需要被保護的流量來自動創建靜態路由。

 

NAT TraversalNAT-T

大家都知道,在網絡中配置了NAT時,通過NAT的數據包的包頭都將被改寫,而經過IPsec保護後的數據包在中途傳輸時,要更改IP包頭也許會變的不可行,因爲IPsec會將IP包頭保護起來,並生成hash,如果隨意改動IP包頭,將使該數據包作廢,所以IPsec數據包在穿越NAT網絡時,存在着某些麻煩。

爲了解決以上問題,IOS加入了探測網絡路徑中是否存在NAT的功能,稱爲NAT TraversalNAT穿越);NAT-TPhase 1時就開始探測網絡路徑中是否存在NAT,檢測的方法是發送測試數據包,數據包對地址做hash,如果收到的數據包的hash沒變化,就認爲路徑中沒有NAT,如果有NAT,雙方就會執行NAT-T。測試時發送的包稱爲NAT discovery (NAT-D),源地址和端口與目標地址和端口是分開的,如果有多個,那麼數據包也就有多個包。

Phase 1發現存在NAT之後,Phase 2纔會考慮是否採用NAT-T,不過不用擔心,NAT-T是自動開啓的,不用手工配置;NAT-T是將IPsec的數據包當作數據再次封裝在UDP中再進行傳輸的,這樣一來,IPsec的數據包就受到與普通數據一樣的對待,所以NAT也就傷不到IPsec的數據包了。

ISAKMP中使用目的端口號爲UDP 4500來協商NAT-T,而源端口則使用下一個可用更高的端口,如4501,在選擇端口時,如果端口已經被用了,則使用45014502,直到可用爲止。

注:

準確地講,IPsec是不能穿越PAT,而靜態地址NAT映射是可以的。

NAT-T只能讓ESPEncapsulating Security Protocol)封裝穿越PAT,而AHAuthentication Header)封裝卻不可以。

NAT TraversalNAT-T)是在IOS 12.2(13)T以及之後的版本中默認是自動開啓的; 

NAT TraversalNAT-T)在IOS沒有特定的命令來打開,卻有特定的命令來關閉,命令如:

Router(config)# no crypto ipsec nat-transparency udp-encapsulation

IOS 12.2(13)T之前的版本沒有NAT-T的功能,但並不表示IPsec數據包就不能穿過NAT網絡,如果要穿過,也是可以的,該功能稱爲IPSec through NAT,如果IPsec ***連接是從NAT本端的設備發起的,不需要做任何配置,但如果IPsec ***連接是從NAT遠端的設備發起的,則需要在NAT設備上增加配置命令,例如IPsec ***源路由器的IP地址是10.1.1.1NAT路由器的外網接口爲F0/1,則需要在NAT設備上增加如下配置命令:

 ip nat inside source static esp 10.1.1.1 interface f0/1

 ip nat inside source static udp 10.1.1.1 500 interface f0/1 500

***設備支持NAT-T時,如果IPsec ***連接是從NAT本端的設備發起的,也不需要做任何配置,但如果IPsec ***連接是從NAT遠端的設備發起的,同樣需要在NAT路由器上增加如下配置命令:

ip nat inside source static udp 10.1.1.1 4500

interface f0/1 4500 ip nat inside source static udp 10.1.1.1 500 interface f0/1 500

出現IPsec數據包要穿越PAT的情況多數是因爲某個分支機構的公網IP只有一個或不夠,但又需要將***路由器放置在內網,配置了內網地址後然後通過外網路由器進行NAT地址轉換後出去,一個配置了內網IP地址的路由器是不可能和遠程設備建立***的,所以需要以外網路由器的公網IP地址爲源去和遠端建立***連接,這就需要NAT-TIPSec through



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章