***


GRE隧道

GRE隧道在兩個遠程網絡之間模擬出直連鏈路,GRE需要完成多次封裝,總共有3次。GRE中的IP數據包總共有3個IP地址。隧道傳遞數據包的過程分爲3步:

1,接收原始IP數據包當做乘客協議,原始IP數據包包頭的IP地址爲私有IP地址

2,將原始IP數據包封裝進GRE協議,GRE協議稱爲封裝協議,封裝的包頭IP地址爲虛擬直連鏈路兩端的IP地址

3,將整個GRE數據包當做數據,在外層封裝公網IP包頭,也就是隧道的起源和終點,從而路由到隧道終點


GRE隧道只支持路由器,不支持集中器和PIX以及ASA

GRE支持的協議有IP,DECNET,IPX,Appletalk

GRE可分爲point-to-point GRE和multipoint GRE(mGRE)兩種

p2p GRE只能在兩臺路由器之間建立

mGRE也可以在兩臺以上的路由器之間建立


數據包格式:

公網IP GRE包頭 私有IP數據包

GRE會在原始IP數據包之外,額外多封裝24字節或28字節,具體視GRE模式而定


配置GRE步驟:

1,創建虛擬鏈路(隧道)接口,號碼任意

2,配置虛擬鏈路(隧道)接口地址

3,定義虛擬鏈路(隧道)的源和目的,因爲數據包最終要在公網中傳遞,所以該地址就是在公網中指導路由器轉發數據包的可路由公網IP,也就是建立隧道兩端路由器的真實公網IP

4,指定到達對方的私網的路由的下一跳爲隧道接口

ip route 0.0.0.0 0.0.0.0 tun 1


GRE隧道接口狀態down的檢測機制:

1,沒有去往隧道終點地址的路由

2,去往隧道終點地址的路由指向了隧道接口自己

3,隧道起源地址的接口狀態爲down


GRE隧道是完全靜止的,每個隧道端點都不會與對端有任何交流數據包,每個端點都不保留對端的信息和狀態,所以最終結果造成無論對端是否可達或接口已經down,本端都無法知道line protocol應該是up還是down。爲了解決上述問題,引入了GRE keepalive機制。兩端互發keepalive消息,在指定的時間內沒有接收到消息就認爲對方down了。默認設置時GRE keepalive默認爲10s發一個,連續3個包沒有迴應,便認爲對端已經失效。

GRE keepalive只支持p2p GRE隧道


配置GRE keepalive

int tun 1

keepalive 5 3 keepalive間隔爲5秒,總共發送3次。三次沒收到,就認爲接口down了






對稱加密算法(私鑰算法)

DES:DES(40BIT)、DES(56BIT)、3DES(3*56BIT)

AES:AES128、AES192、AES256

非對稱加密算法(公鑰算法)

RSA


HMAC(hashed message authentication code) hash算法,保證數據的完整性,避免出現篡改現象

md5 128bit

sha-1 160bit




爲IPSEC服務的總共有三個協議:IKE、ESP、AH

IKE是個混合協議,其中包含Oakley和ISKAMP中的部分SKEME協議,所以IKE也可以寫成ISAKMP/Oakley,它是針對祕鑰安全的,是用來保證祕鑰的安全傳輸、交換以及存儲,主要是對祕鑰進行操作,並不對用戶的實際數據進行操作

ESP和AH主要工作是如何保護數據安全,也就是如何加密數據,是直接對用戶數據進行操作的


IPSEC既可以爲隧道提供數據保護功能,也可以自己單獨作爲隧道協議使用


認證機制:

IKE會在***對等體之間採用認證機制,可以確保會話是來自真正的對等體而不是***者。認證方式有三種

1,pre-shared keys(PSK)

最簡單,由管理員事先在雙方定義好的密碼,認證時,只有雙方密碼匹配後,才能繼續後續工作

2,public key infrastructure(pki) using x.509 digital certificates

使用第三方證書做認證,叫做CA,裏面包含名字、序列號,有效期以及其他參數

3,RSA encrypted nonce


祕鑰算法:

IKE使用DH算法在***對等體之間建立安全的祕鑰用來加密數據。有三種祕鑰長度可選:

1,group 1 祕鑰長度爲768bit

2,group 2 祕鑰長度爲1024bit

3,group 5 祕鑰長度爲1536bit


SA(Security Association)

IPSEC的所有會話都是在通道中傳輸的,包括協商祕鑰,傳遞用戶數據,這樣的通道稱爲SA,SA並不是隧道,而是一組規則,類似是對等體之間必須遵守的一份合同。

在密鑰的安全上,由IKE負責,而數據的安全,則由IPSEC負責。兩個SA如下

ISAKMP Security Association(ike/isakmp sa)

IPSEC Secrutity Association(ipsec sa)

每個sa都有lifetime,過期後sa便無效,lifetime使用time(second)和volume limit(byte count)來衡量,取雙方數值最小的一方。在要過期前120s,會自動重建另一條SA,避免活動的SA過期後無法傳輸數據,這樣就能實現平滑過渡

IKE SA的lifetime默認爲86400s,默認沒有volume limit。保護密鑰。爲安全協商IPSEC SA服務的

IPSEC SA的lifetime默認爲3600s,默認limit爲4608000kbytes。直接爲用戶數據流服務。每個IPSEC對等體都有一對IPSEC SA,一個是去往遠程目的地的,而另一個是從遠程回來的,也就是一進一出,都存放在本地SA Database中。


IKE SA和IPSEC SA其實都是由IKE建立起來的,所以IKE的整個運行過程分成兩個階段:

1,IKE Phase One

主要工作是建立IKE SA(ISAKMP SA),以及爲IPSEC SA服務的,IKE SA的協商階段稱爲main mode,ike也需要保護自己的流量安全(非用戶流量),ike sa之間也需要協商出一套安全策略:

1,認證方式:psk/pki/rsa,默認爲pki

2,加密算法:des/3des/aes128/aes192/aes256,默認爲des

3,HASH算法:sha-1/md5,默認爲sha-1

4,密鑰算法:g1/g2/g5,默認爲g1

5,lifetime

6,NAT穿越:默認開啓

2,IKE Phase Two

建立IPSEC SA,其建立過程稱爲快速模式。IPSEC SA纔是真正爲用戶數據服務,也需要協商出一套安全策略:

1,加密算法:des/3des/aes128/aes192/aes256,默認爲des

2,HASH算法:sha-1/md5,默認爲sha-1

3,lifetime:

4,IPSEC MODE:傳輸模式和隧道模式



IPSEC MODE決定IPSEC是使用數據保護功能配合其他隧道協議,還是自己獨立實現隧道來完成***功能

1,隧道模式(默認模式):跟GRE的工作模式類似,封裝格式如下

新IP包頭 IPSEC包頭 原始IP包頭 數據

IPSEC包頭的大小共32字節。

2,傳輸模式:只有安全功能而沒有隧道功能,封裝格式如下:

原始IP包頭 IPSEC包頭 數據

傳輸模式下的IPSEC應該配合p2p GRE over IPSEC來使用



ESP:封裝數據包格式如下:

傳輸模式:

原始IP包頭 ESP包頭 數據 ESP包尾 ESP認證

隧道模式:

新IP包頭 ESP包頭 原始IP包頭 數據 ESP包尾 ESP認證

ESP支持認證和加密數據

ESP包頭使用IP協議號50來標識。


AH:封裝數據包格式如下:

傳輸模式:

原始IP包頭 AH 數據

隧道模式:

新IP包頭 AH 原始IP包頭 數據

AH只支持認證,不支持加密數據

AH包頭使用IP協議號51來標識


Trasform Set

是一組算法集合,通過它來定義使用怎樣的算法來封裝數據包


Crypto Map

是思科中配置IPsec的組件,執行兩個主要功能:

1,選擇需要加密處理的數據

2,定義數據加密的策略以及數據發往的對端

Crypto Map中的策略是分組存放的,以序號區分,如果一個Crypto map有多個策略組,則最低號碼的組優先;一個接口只能應用一個crypto map


Crypto Map還分爲靜態map和動態map

當數據發往對端固定的時候是靜態的;當隧道的終點是不固定的時候是動態map


隧道分離:只在遠程***時纔會考慮



IPSEC LAN-TO-LAN ***

配置步驟:

1,配置IKE(ISKAMP)策略

2,定義認證標識

3,配置IPSEC Transform

4,定義感興趣流量

5,創建crypto map

6,將crypto map應用於接口


定義感興趣流量時,源和目的不能爲任意

IPSEC 流量不能穿越NAT,需要在NAT裏面把源地址或者目的地址排除




IPSEC Dynamic LAN-TO-LAN ***(Dy***)

當有多個***鄰居時,可以使用此模式降低工作難度。

通配符認證配置方法和dynamic map,就可以不管有多少個*** peer,只需要配置一次認證密碼與一個dynamic map就能實現。

Hub端:能夠接受任何地址鏈接的設備,地址固定

Spoke端:Hub設備對端,普通***配置

Dy***只能由spoke端向Hub端發流量來初始化SA建立

配置步驟:

配置Hub端:

1,配置IKE策略

crypto isakmp policy 1

encry 3des

hash md5

group 2

auth pre-share

2,在Hub端配置通配符認證方法

crypto keyring abc

pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123

crypto isakmp profile ppp

keyring abc

match identity address 0.0.0.0

3,Hub端配置transform set

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

4,Hub端定義dynamic map

crypto dynamic-map dymap 5

set transform-set cisco

set isakmp-profile ppp

5,Hub端創建crypto map

crypto map mymap 10 ipsec-isakmp dynamic dymap

6,將crypto map應用於接口

int s0/0

crypto map mymap






p2p GRE over IPSEC

IPSEC建立的隧道不能用於傳遞動態路由協議信息,原因如下:

1,IPSEC建立的隧道是邏輯隧道,並不是真正的隧道,沒有點對點連接的功能

2,IPSEC建立的隧道只支持IP單播,不支持組播

只使用IPSEC的數據保護功能,而使用其他隧道技術,這樣就可以實現***間的動態路由協議

工作在隧道模式,數據包會增加20字節。兩種模式在p2p GRE over IPSEC模式都可以,但是傳輸模式有點問題,所以還是使用隧道模式


單獨建立p2p GRE隧道時,當雙方的IP地址都無法確定時,是無法建立隧道的

至少一端爲靜態IP地址。

雙方都爲靜態IP時,稱爲static p2p GRE over IPsec

一方靜態一方動態時,稱爲Dynamic p2p GRE over IPsec。此時必須由動態發起隧道建立信息

一般情況下,動態端會配置一個私有的loopback地址,定義爲本端的GRE源點


靜態p2p GRE over IPsec下,需要配置static map

動態p2p GRE over IPsec下,靜態端配置dynamic map,動態端配置static map


定義的感興趣流量是雙方用來建立GRE隧道的公網IP地址,並且協議爲GRE,而不是內網網段,內網網段是要靠路由協議傳遞的。內網流量不受物理接口的NAT影響,但是受到GRE接口NAT的影響


static p2p GRE over IPsec配置步驟:

1,配置路由器基礎路由

2,配置p2p GRE隧道

int tun 1

ip add 1.1.1.1 255.255.255.0

tunn sou 12.1.1.1

tunn des 23.1.1.3

3,配置普通LAN-TO-LAN ***參數

crypto isakmp policy 10

hash md5

g 2

authen pre

crypto isakmp key 0 cisco address 23.1.1.3

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

access-list 100 permit gre host 12.1.1.1 host 23.1.1.3 感興趣流是公網IP的gre協議

crypto map cisco 1 ipsec-isakmp

set peer 23.1.1.3

set transform-set cisco

match address 100

4,接口下應用crypto map

int s0/0

crypto map cisco

5,在通信點配置動態路由協議

router eigrp 1

no auto

network 1.1.1.1 0.0.0.0

network 10.1.1.1 0.0.0.0

只有在p2p GRE over IPsec的情況下,IPSEC Mode的工作模式才能是傳輸模式


Dynamic p2p GRE over IPsec配置步驟:

1,配置基礎路由。動態端要配置一個loopback地址,作爲隧道的通信點

2,配置靜態端的隧道

int tun 1

ip add 1.1.1.1 255.255.255.0

tunn sour 12.1.1.1

tunn desti 3.3.3.3

ip route 3.3.3.3 255.255.255.255 12.1.1.2


int tun 1

ip add 1.1.1.3 255.255.255.0

tunn sour loop 0

tunn desti 12.1.1.1

3,動態端配置Dynamic lan-to-lan ***

crypto isakmp policy 1

hash md5

group 2

authen pre

en 3des

crypto isakmp key 0 cisco address 0.0.0.0 0.0.0.0

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

crypto dynamic-map ddd 10

set transform-set cisco

crypto map mymap 10 ipsec-isakmp dynamic ddd

crypto map mymap local-address s0/0

int s0/0

crypto map mymap

4,靜態端配置普通 lan-to-lan ***

crypto isakmp policy 1

hash md5

group 2

authen pre

en 3des

crypto isakmp key 0 cisco address 12.1.1.1

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

access-list 100 permit gre host 3.3.3.3 host 12.1.1.1

crypto map cisco 1 ipsec-isakmp

set peer 12.1.1.1

set transform-set cisco

match address 100

crypto map cisco local-address s0/0

int s0/0

crypto map cisco

5,配置動態路由協議

router eigrp 1

no au

network 1.1.1.1 0.0.0.0

network 15.1.1.1 0.0.0.0


router eigrp 1

no au

network 1.1.1.3 0.0.0.0

network 34.1.1.3 0.0.0.0







DM ***:總部和不斷增加的分支之間建立IPSEC ***,且之間運行動態路由協議

結合了dynamic p2p gre over ipsec和dynamic lan-to-lan ipsec。需要以下兩個技術實現

1,mGRE

Hub端只需要始終保持一個mGRE接口

所有Hub和所有spoke的IP地址必須在同網段

不需要配置ACL來定義感興趣流量

2,NHRP(Next Hop Resolution Protocol)

強制規定spoke必須主動向Hub告知自己的真實IP地址,這樣就可以使HUB輕鬆獲得所有spoke的真實IP地址,從而正常建立mGRE中的所有GRE,最終實現DM***。在NHRP中,是以client和server的模式工作的,hub端是server,spoke端是client,在hub端維護着一個擁有所有client的數據庫。nhrp規定client在啓動後就必須馬上向server告知自己的物理接口真實IP地址。

當一個spoke要和其他的spoke之間通信時,兩者之間建立tunnel,這樣的通信稱爲spoke-to-spoke,也稱爲臨時隧道,有超時時間。過了這個時間隧道自動拆除。

Hub和spoke之間的通信稱爲Hub-to-spoke,並且是永久的。

當一個spoke和其他spoke通信時,需要向hub端查詢目標spoke的真實公網IP,然後源spoke向目標spoke觸發一個dynamic ipsec tunnel,當目標收到相關數據時,以同樣的方法查詢源spoke的真實公網IP

協議和協議之間通告的路由器的下一跳地址都爲mGRE的接口地址


只有當spoke也選擇mGRE模式下,才能建立spoke-to-spoke tunnel


配置案例:

1,配置基礎路由

2,Hub端配置DM***

crypto isakmp policy 1

en 3des

hash md5

g 2

auth pre

crypto isakmp key 0 cisco address 0.0.0.0

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

crypto ipsec profile cisco

set transform-set cisco

int tun 1

bandwidth 1000 爲高層協議改變帶寬值,隻影響路由協議的metric值計算。默認爲9

ip address 100.1.1.1 255.255.255.0 配置GRE接口地址

ip mtu 1400 將MTU改爲1400,如果不改,下一跳路由器將會對數據包分片並重新封裝

ip nhrp authentication cisco 設置認證密碼,同一個mGRE中所有點的密碼必須一致

ip nhrp map multicast dynamic 自動將spoke的地址加入組播映射中,否則與spoke之間使用組播的路由協議不能正常運行

ip nhrp network-id 1 配置網絡標識號,等於是啓用NHRP,同一個mGRE中所有點的號碼必須一致

no ip split-horizon eigrp 1 關閉eigrp水平分割,否則從一個spoke的EIGRP學習到的路由不能發給另外一個spoke

tunn source f0/0

tunn mode gre multipoint 定義GRE接口的類型爲mGRE,Hub上的類型必須爲mGRE

tunnel key 10000 定義tunnel接口ID,此步可選,但是同一個mGRE中所有的號碼必須一致

tunnel protection ipsec profile Cisco 將ipsec profile關聯到mGRE接口,用於保護mGRE接口的流量

3,spoke端配置DM***

crypto isakmp policy 1

en 3des

group 2

hash md5

auth pre

crypto isakmp key 0 cisco address 0.0.0.0

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

crypto ipsec profile cisco

set transform-set cisco

int tun 1

bandwidth 1000

ip addres 100.1.1.3 255.255.255.0

ip mtu 1400

ip nhrp authentication cisco

ip nhrp map 100.1.1.1 12.1.1.1 將Hub的GRE接口地址和公網IP地址靜態映射綁定

ip nhrp map multicast 12.1.1.1 開啓能向Hub發送組播的功能,從而開啓動態路由協議的功能

ip nhrp network-id 1

ip nhrp nhs 100.1.1.1 將hub路由器指定爲NHRP Server

tunnel source f0/0

tunnel mode gre multipoint 定義接口類型爲mGRE

tunnel key 10000

tunnel protection ipsec profile cisco 將ipsec profile關聯到mGRE接口

4,查看NHRP映射情況

show ip nhrp brief

show ip nhrp

5,Hub端配置EIGRP

router eigrp 1

no au

network 1.1.1.1 0.0.0.0

network 100.1.1.1 0.0.0.0

6,在Hub端配置mGRE接口上改變EIGRP下一跳規則

int tun 1

no ip next-hop-self eigrp 1 讓spoke跟spoke之間直接通信

7,當設備之間運行的是ospf協議的時候,要修改tunnel接口的ospf類型,默認是點到點的,改成點到多點

int tun 1

ip os network point-to-multipoint

8,ospf下無法實現spoke-and-spoke tunnel的通信方式






IPSEC *** Feature

IPSEC DEAD PEER DETECTION(IPSEC DPD)

就是在IPSEC中用來檢測IKE peer狀態的

因爲IKE SA的lifetime默認是86400s,ipsec sa的lifetime默認是3600s,建立ipsec ***的雙方之間是沒有hello包的,如果其中一個peer出現故障失去連接,*** peer的另一方是無法檢測的,只有超時纔會刪除與對端的連接。IPSEC DPD就是爲了解決這種問題的


兩種模式:

1,Periodic(週期性的)

每隔固定時間發送一個hello包,超時沒有收到的話,就會認爲對方失效,從而刪除與對方的SA

配置hello時間間隔和retry時間、次數,默認分別是10s、2s、5次。即到了10s沒有收到hello包,就不會再等10s,而是在retry的時間2s後再次向對方發送hello包,默認連續5個

2,on-demand(按需的)

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


先配置IPSEC DPD,才能應用crypto map到接口;先配置crypto map到接口再配置ipsec dpd是不會生效的

ipsec dpd在peer雙方都要配置

crypto isakmp keepalive 10 2 periodic|on-demand



IPSEC SA IDLE Timer

當對等體之間沒有流量時,刪除空閒的IPSEC SA,以來保護系統資源

如果IPSEC SA被刪除了,那麼IKE SA也照樣會刪除

IPSEC SA idle timer可以在全局下配置,也可以在crypto map下配置

先配置IPSEC SA IDLE TIMER,才能應用crypto map到接口

IPSEC SA idle timer不需要在peer雙方都配置,單方配置也可以

crypto ipsec security-association idle-time 60



IPSEC PREFERRED PEER

網絡冗餘性,會設計一個場點兩個***路由器,使用兩個路由器和對方建立***連接。但是有時希望只和對方某臺建立***連接,只有當主的掛了,纔會用備的。主要由兩個部件組成:

1,Default peer

和多臺路由器建立***連接時,其中優先被使用的那臺稱爲Default peer,其他都是備用;只有主down了,纔會啓用備的。是在crypto map的時候,通過set peer來指定的。其中default peer必須是第一個指定。

crypto map cisco 1 ipsec-isakmp

set peer 100.1.1.2 default

set peer 100.1.1.3

2,IPsec DPD

檢測default peer的連通性。idle-timer配置可選,如果要配置必須在crypto map下配置,不能在globally下配置,如果globally下已經有了配置,那麼crypto map下的值必須和globally的不同,否則不生效



Reverse route injection(RRI)

RRI是爲需要通過IPSEC隧道來加密傳輸的流量自動創建下一跳指向相應*** peer的靜態路由

RRI自動創建的靜態路由可以重分佈進任何動態路由協議後向鄰居傳遞

靜態crypto map是根據ACL定義的流量來自動創建靜態路由的;而動態crypto map是根據在建立IPSEC SA後,根據IPSEC SA中指示的需要被保護的流量來自動創建靜態路由

在crypto map下輸入命令reverse-route。

靜態路由的下一跳是crypto map中指定的peer,只要peer或ACL沒有了,路由也就沒有了,但是IPSEC SA不影響靜態路由。在使用ACL定義感興趣流時,不得出現any字樣

動態crypto map的靜態路由時根據ipsec sa自動創建的,如果IPSEC SA沒有了,那麼自動創建的靜態路由就沒有了



IPSEC *** High Availability

***對等體備份,preferred peer可以實現功能,但是需要每個路由器都有獨自的IP地址

*** HA實現的方法是將在一個場點部署的多臺***路由器通過HSRP虛擬成同一個地址,然後多臺***路由器中HSRP角色爲Active的路由器以HSRP虛擬IP地址爲源負責與對端建立IPSEC連接。需要兩個功能組件:

1,Reverse Route Injection(RRI)

2,HSRP

3,IPSEC DPD

實現*** HA的多臺路由器的外網接口必須通過交換機或Hub相連,且IP地址都在同網段

在配置HSRP時,接口上需要定義HSRP name,當該name或接口地址改變時,所應用的crypto map也要重新應用;另外路由器的優先級保持一致,Active的角色依靠IP地址大小來選擇

在多臺***路由器之間配置HSRP組時,應該Track自己的內網接口

HSRP必須在路由器的外網接口上配置,但內網口不一定要配置


配置案例:

HA一端:

crypto isakmp policy 1

 encr 3des

 hash md5

 authentication pre-share

 group 2  

crypto isakmp key cisco address 100.1.1.1

crypto isakmp keepalive 10 periodic

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

crypto map cisco 1 ipsec-isakmp 

 set peer 100.1.1.1

 set transform-set cisco 

 match address 100

 reverse-route static

interface FastEthernet0/0

 ip address 100.1.1.2 255.255.255.0

 duplex auto

 speed auto

 standby 1 ip 100.1.1.10

 standby 1 preempt

 standby 1 name cisco

 standby 1 track FastEthernet1/0

 crypto map cisco redundancy cisco 

access-list 100 permit ip 30.1.1.0 0.0.0.255 10.1.1.0 0.0.0.255

router ospf 1

 log-adjacency-changes

 redistribute static subnets

 network 30.1.1.2 0.0.0.0 area 0



Stateful Failover for IPsec

*** HA實現的時候是冷備,此功能可以實現熱備,主備的信息同步。當主路由器宕機了,備路由器有完全相同的IPSEC會話信息,可以直接連接對端***,實現無縫切換。需要以下兩個組件:

1,Stateful Switchover(SSO)

SSO的功能就是在主備路由器之間共享IPSEC會話信息(包括IKE SA和IPSEC SA)

2,HSRP

HSRP要內外網都要添加一個HSRP組,並且在任何一個接口不可用時,同時讓出兩組HSRP的Active角色

Stateful Failover只是共享IKE和IPSEC的狀態信息,而不是共享雙方配置信息,所以並不會將一方的配置自動複製到另一方去。

當主路由器出現故障停止工作時,在讓出HSRP角色後,會自動重啓

配置SSO的時候也必須配置RRI

交換機路由器的接口上開stp協議

不支持idle timer,支持DPD

不支持PKI認證,支持PSK認證


配置案例:

HSRP一端配置:

crypto isakmp policy 1

 encr 3des

 hash md5

 authentication pre-share

 group 2

crypto isakmp key cisco address 100.1.1.1

crypto ipsec transform-set cisco esp-3des esp-md5-hmac

crypto map cisco 1 ipsec-isakmp 

 set peer 100.1.1.1

 set transform-set cisco 

 match address 100

 reverse-route static

配置stateful failover for ipsec

redundancy inter-device 進入inter-device配置模式

scheme standby HA-out 指定redundancy方式,目前只有standby

exit

ipc zone default 進入IPC zone configuration mode

association 1

protocol sctp 配置stream control transmission protocol爲通訊協議

local-port 5000 指定本地端口(必須和對方的目的端口一致)

local-ip 100.1.1.2 指定本地IP(必須是接口真實IP,且和對方的目的IP保持一致)

exit

remote-port 5000 指定目標端口(必須和對方的源端口一致)

remote-ip 100.1.1.3 指定目標IP(必須是接口真實IP,且和對方的源IP保持一致)

exit

crypto map cisco redundancy replay-interval inbound 1000 outbound 10000

int f0/0 配置外網HSRP

standby 1 ip 100.1.1.10

standby 1 preempt

standby 1 name HA-out

standby 1 track f1/0

crypto map cisco redundancy HA-out stateful 開啓SSO

standby delay reload 120 定義重啓參數

int f1/0 配置內網HSRP

standby 2 ip 30.1.1.10

standby 2 preempt

standby 2 name HA-in

standby 2 track f0/0

standby delay reload 120

HSRP另外一端也是同樣配置,只不過換了IP地址

show redundancy states 查看當前的SSO狀態

show crypto ha 查看更多SSO信息



NAT-T

NAT-T在phase 1時就開始探測網絡路徑中是否存在NAT,檢測的方法是發送測試數據包,數據包對地址做hash,如果收到的數據包的hash沒變化,就認爲路徑中沒有NAT,如果有NAT,雙方就會執行NAT-T。測試時發送的包稱爲NAT descovery(NAT-D),源地址和端口與目標地址和端口是分開的,如果有多個,那麼數據包就有多個包

當phase1發現存在NAT之後,phase 2纔會考慮是否採用NAT-T。NAT-T是自動開啓的。NAT-T是將IPSEC的數據包當做數據再次封裝在UDP中再進行傳輸的。

使用端口號UDP 4500來協商NAT-T,而源端口則使用下一個可用更高的端口,如4501

1,IPSEC是不能穿越PAT,而靜態地址NAT映射是可以的

2,NAT-T只能讓ESP穿越PAT,而AH封裝卻不行

no crypto ipsec nat-transparency udp-encapsulation 關閉NAT-T









Ez***不支持的IPSEC策略如下:

1,DH Group1

2,AH封裝協議

3,傳輸模式

Ez*** Server爲了區分分配出去的IP地址分別對應哪個Ez*** Client,它會自動產生一條/32位的靜態路由指向對應的Ez*** Client,這個功能稱爲RRI。

隧道分離是在Ez*** Server端配置的,是通過ACL匹配相當的流量,並應用到crypto map,靜態和動態map都可以

Initial Contact的功能是在Easy *** server收到client新的連接請求時,會刪除與該EZ ***client舊連接而接受新連接請求,默認是開啓的。

IKE Phase One的認證,在easy sever端必須通過AAA的方式來定義,但不一定使用AAA服務器。如果client和server組沒有匹配,那麼會與默認的ISAKMP組匹配,但默認的也需要配置。一個ISAKMP組中所有的用戶分配到的策略都是相同的,這稱爲Group-Based Policy Control。

有些時候需要爲不同的用戶分配不同的策略,即使他們處於同一個組,這樣的機制稱爲user-based policy control。優先級高於group-based policy control。

每個用戶同時登陸的會話數以及每個組中可以同時發起的會話數是可以限制的,可以通過AAA服務器或者通過IOS命令行實現


配置案例:

server端:

aaa new-model 配置AAA認證

aaa authentication login cisco local group radius

aaa authorization network cisco1 local group radius

username cisco password 0 cisco123

crypto isakmp policy 1 配置IKE策略

 encr 3des

 hash md5

 authentication pre-share

 group 2

ip local pool net10 10.1.1.1 10.1.1.200 配置client連接上來後分配的地址池

crypto isakmp client configuration group cisco 配置用戶組策略

 key cisco123

 dns 114.114.114.114

 domain cisco.com

 pool net10

crypto ipsec transform-set cisco esp-3des esp-md5-hmac 配置IPSEC transform

crypto dynamic-map maymap 1 定義crypto map

 set transform-set cisco 

 reverse-route

crypto map ez*** client authentication list cisco 關聯認證信息

crypto map ez*** isakmp authorization list cisco1

crypto map ez*** client configuration address respond

crypto map ez*** 1 ipsec-isakmp dynamic maymap 

interface FastEthernet0/0 應用到接口

 ip address 12.1.1.1 255.255.255.0

 duplex auto

 speed auto

 crypto map ez***


no ip local pool net10 10.1.1.1 10.1.1.200 配置隧道分離

ip local pool net10 100.1.1.1 100.1.1.200

access-list 100 permit ip 10.1.1.0 0.0.0.255 any ACL的源就是需要和client通信的源。

access-list 100 permit ip host 4.4.4.4 any ACL的目標必須爲any,或者可以使用標準ACL

crypto isakmp client configuration group cisco

acl 100

在ez*** server上,NAT對ez***的影響和其他***一樣,所以如果需要配置NAT時,請使用正常方法將需要走***隧道的流量和到ez*** client(自動分配地址池)的地址段從NAT感興趣流中移除





SSL ***分爲三種模式:

1,Clientless

只提供訪問WEB資源

2,Thin-Clinet

在Clientless基礎上擴展到可以使用TCP連接,安裝applet插件

3,Full-Tunnel Client

全訪問,需要安裝ActiveX插件


1,隧道分離

2,RRI功能

3,配置地址池,但是地址段必須和路由器上的一個直連接口地址在同網段

配置案例:

在總部配置SSL ***

將*** client 模塊上傳到路由器。dir查看目錄

web*** install svc disk0:sslclient-win-1.1.0.154.pkg 安裝ssl *** client模塊

ip local pool cisco 100.1.1.100 100.1.1.200 配置自動分配給用戶的地址池

int loo 100

ip add 100.1.1.1 255.255.255.0 爲地址池網段創建loopback

web*** gateway cisco 配置SSL ***參數.定義標識名字

ip add 12.1.1.1 port 443 開啓的地址、端口

inservice

exit

web*** context cisco 定義其他參數,以及組策略

gateway cisco domain cisco

inservice

policy group mygroup 定義用戶組策略

svc split include 10.1.1.0 255.255.255.0 配置隧道分離.include表示需要走隧道的流量

svc split include 4.4.4.4 255.255.255.255

functions svc-enabled

svc address-pool cisco 定義地址池

exit

default-group-policy mygroup

exit

username cisco password cisco 定義用來認證的賬號

show web*** session context all 查看總部的SSL ***信息

show web*** session user cisco context cisco

總部如果配置了NAT,需要配置目的地址排除

access-list 111 deny ip host 12.1.1.1 host 23.1.1.3 路由器上是排除雙方的公網地址

access-list 111 permit ip any any

int f0/0

ip nat outside

int f1/0

ip nat inside

ip nat inside source list 111 int f0/0 overload





PPTP

PPTP的server端不支持向客戶端推送隧道分離消息,需要在client端配置

pptp ***的數據包是ppp格式封裝的,並且實現隧道功能的協議是二層協議PPTP,所以PPTP ***的隧道是在二層實現的。PPTP ***的加密協議是MPPE協議,使用的是RC4算法(40/128bit),雙方加解密長度必須是一樣的。

PPTP使用TCP端口號1723,源端口是隨機的,並且擴展了GRE來封裝數據

MPPE兩種模式:

1,stateful(工作性能好,但不穩定,數據容易丟包)

2,stateless(工作性能不好,但很穩定,數據不丟包)

若雙方都不指定,則爲stateless;如果一方指定stateful,則工作在stateful模式

如果PPTP和MPPE結合使用,最多支持500條隧道會話,如果單獨使用,可以支持2000條

當PPTP結婚MPPE實現PPTP ***時,client必須是Windows系統,並且在Windows中必須使用MS-CHAP認證。

遠程服務強認證,只支持RADIUS而不支持TACACS

在配置PPTTP時,必須創建Virtual Template接口,當用戶認證成功之後,會自動爲該用戶創建virtual-access接口

配置MPPE時,可以指定40/128bit,也可以配置爲auto自協商;但是否加密需要看配置,模式passive表示不加密,如果對方需要加密,本端則啓用加密,而Required則是必須加密,否則拒絕連接

配置案例:

1,ip local pool cisco 100.1.1.100 100.1.1.200 創建自動分配給用戶的地址池

2,interface virtual-template 1 創建virtual template接口,並指定參數

ip unnumbered f0/0

peer default ip address pool cisco

ppp encrypt mppe auto

ppp authentication pap chap ms-chap

3,vpdn enable 開啓vpdn功能

vpdn-group 1

accept-dialin 接收遠端呼叫

protocol pptp 指定協議爲PPTP

4,username Cisco password Cisco 定義本地用戶數據庫

5,配置隧道分離是

撥號-屬性-網絡-TCP/IP4-高級-去掉在遠程網絡上使用默認網關

6,查看狀態show vpdn 

***地址池必須跟內網資源在同一個網段

同樣如果有NAT,需要做NAT地址排除。移除的是Server的外網口到任意地址的流量



L2TP ***

跟PPTP功能類似,L2TP ***的隧道也是在二層實現的,主要有以下特性:

1,L2F(Layer 2 Forwarding)

2,PPTP

上面的兩個只是實現隧道而已,使用IPSEC來保護數據,稱爲L2TP over IPsec

L2TP使用UDP端口1701

配置L2TP over IPsec時,IPsec應該配置爲傳輸模式

配置案例:

1,ip local pool cisco 10.1.1.100 10.1.1.200 配置地址池

2,interface virtual-template 1 創建virtual-template接口,並指定參數

ip unnumbered f0/0

peer default ip address pool cisco

ppp authentication chap ms-chap

exit

3,vpdn enable 開啓VPDN功能

vpdn-group 1

accept-dialin

protocol l2tp

virtual-template 1

no l2tp tunnel authentication

4,username cisco password cisco 定義本地用戶數據庫

同樣也是要配置隧道分離,跟PPTP一樣配置

不同設備,有可能不一樣的NAT配置

防火牆還要配置IPSEC


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