1. 程式人生 > >站點到站點預共享密鑰V.P.N(基於思科ASA防火墻)

站點到站點預共享密鑰V.P.N(基於思科ASA防火墻)

taobao rem wait 還需要 pre nat con 流量 方式

站點到站點預共享密鑰V.P.N(基於思科ASA防火墻)

一:基本名詞解釋
IPsec-×××--virtual private network
什麽是×××--虛擬專用網
×××作用--通過公網實現遠程連接,將私有網絡聯系起來
×××的類型:
1、overlay的×××,例如IPsec-×××
2、peer-to-peer的×××,例如MPLS-×××
還可以分為二層×××和三層×××
IPsec-×××是三層的×××
IPsec-×××的分類:
1、site-to-site ××× 也叫 LAN-to-LAN ××× (要求兩個站點都要有固定的IP)
2、EASY-××× 也叫 remote ××× (通常用於連接沒有固定IP的站點)

IPsec-×××提供三個特性:
1、authentication 每一個IP包的認證
2、data integrity 驗證數據完整性,保證在傳輸過程中沒有被人為改動
3、confidentiality (私密性)數據包的加密

二:算法
在學習IPsec技術之前,先要學習以下幾點知識
1、加密機制
2、DH密鑰交換算法
3、認證機制
4、散列機制

1:加密機制--密碼學分為兩類:
對稱加密算法---使用一把密匙來對信息提供安全的保護。只有一個密匙,即用來加密,也用來解密
特點:
1、速度快
2、密文緊湊
3、用於大量數據的傳送
對稱加密算法的代表:DES、3DES、AES
3DES--有三個密匙,用第一個密匙加密,用第二個密匙解密,再用第三個密匙加密

非對稱加密---有一對密匙,一個叫公匙,一個叫私匙,如果用其中一個加密,必須用另一個解密。
特點:
1、速度慢
2、密文不緊湊
3、通常只用於數字簽名,或加密一些小文件。
非對稱加密的代表:RSA、ECC
非對稱加密代表RSA--有一對密匙,一個公匙,一個私匙,私匙加密,公匙解密,或者公匙加密,私匙解密
非對稱加密可以有兩種應用:
1、公鑰加密,私鑰解密,叫加密
2、私鑰加密,公鑰解密,叫數字簽名
理想的應用方法,用非對稱加密法來傳送對稱加密的密匙,或用在數字簽名當中。用對稱加密法來加密實際的數據。
數字簽名不但證明了消息的內容,還證明了發送方的身份。
密鑰化的HASH--使用密鑰對生成的消息摘要進行加密時,被稱為加密的消息摘要。

2:diffie-hellman key exchange--DH算法
是一種安全的讓通信雙方協商出一個共享密匙的方法。
用對方的公匙和自已的私匙產生一個雙方都能知道的KEY(也叫共享的密秘),作對稱加密用
DH group 1的長度是768位 (產生出的KEY的長度)
DH group 2的長度是1024位

3:認證機制--(這裏所指的是設備的認證,而不是用戶的認證)
現代的基本加密技術要依賴於消息之目標接收者已知的一項秘密,關鍵的問題是如何保障密鑰的安全。
1、用戶名和密碼
2、OTP(one time password)一次性密碼
3、生物認證(指紋、眼膜)
4、預共享密鑰
5、數字證書
6、加密臨時值

4:散列機制--用來做完整性檢驗
散列函數(就是HASH)--把一大堆數據經過計算得到一個較小的、定長的值,散列是一種不可逆函數。這意味著一旦明文生成散列,就不可能或者說極端困難再將其由散列轉換成明文。
HASH的特點:
1、不管輸入什麽數據,輸出是定長的
2、只要輸入有一點微小變化,輸出就會發生很大的變化,也就是雪崩效應
3、不可逆
HASH的算法:
1、md5 提供128位的輸出 md5是驗證,不是加密技術,用來做哈希
2、SHA 提供160位的輸出
HMAC--使用散列的消息認證編碼,或者叫密鑰化的HASH,是一種使用HASH來進行認證的機制。可以用來做預共享密鑰的認證。

三:IPsec協議集
IP sec 的組成--IPsec協議集包括三個協議:
1、internet key exchange(IKE)密匙交換協議
協議雙方使用的算法,密匙,協商在兩個對等體之間建立一條遂道的參數,協商完成再用下面的方法封裝數據。
IKE動態的,周期性的在兩個PEER之間更新密鑰
2、encapsulating secutity payload(ESP)封裝安全負載
可以對數據包認證,加密,封裝,IP中協議號--50,通常使用3DES來進行加密
3、authentication header (AH)
只提供認證,封裝,不提供加密,明文傳送,IP中協議號--51

四:IPsec×××的兩種模式--
1:傳輸模式:
不產生新的IP頭,在原包頭之後插入一個字段,當通信點等於加密點用這種方法
原始IP頭 | (ESP或AH) | Data
2:隧道模式:
產生一個新IP包頭,當通信點不等於加密點用這種方法,site-to-site的×××就是這種模式,因為通信點的IP頭通常不是一個公網上可路由的頭部,而新的IP頭用的是兩個peer之間的IP地址。
新IP頭 | (ESP或AH) | 原始IP頭 | Data
通信點:實際通信的設備
加密點:進行加密的設備

ESP封裝中只對原始IP分組(有效載荷)進行完整性檢驗
AH封裝中進行完整性檢驗還包括新的IP頭

五:IKE協商的兩個階段
IKE密匙交換協議
IKE的作用:用於在兩個peer之間協商建立IPsec-×××通道
1、協商參數
2、產生KEY,交換KEY、更新KEY
3、對雙方進行認證
4、對密鑰進行管理
也是由三個不同的協議組成:
1、ISAKMP--定義了信息交換的體系結構,也就是格式
2、SKEME--實現公鑰加密認證的機制
3、Oakley--提供在兩個IPsec對等體間達成相同加密密鑰的基於模式的機制
ISAKMP基於UDP,源目端口都是500
site-to-site ipsec ×××的協商過程,分兩個階段
要想在兩個站點之間安全的傳輸IP數據流,它們之間必須要先進行協商,協商它們之間所采用的加密算法,封裝技術以及密鑰。這個協商過程是通過IKE來完成的,IKE協商分兩個階段運行:
階段一:在兩個對等體設備之間建立一個安全的管理連接。沒有實際的數據通過這個連接。這個管理連接是用來保護第二階段協商過程的。
階段二:當對等體之間有了安全的管理連接之後,它們就可以接著協商用於構建安全數據連接的安全參數,這個協商過程是安全的,加了密的。協商完成後,將在兩個站點間形成安全的數據連接。用戶就可以利用這些安全的數據連接來傳輸自已的數據了。
第一階段:建立ISAKMP SA 協商的是以下信息:
1、對等體之間采用何種方式做認證,是預共享密鑰還是數字證書。
2、雙方使用哪種加密算法
3、雙方使用哪種HMAC方式,是MD5還是SHA
4、雙方使用哪種Diffie-Hellman密鑰組
5、使用哪種協商模式(主模式或主動模式)
6、還要協商SA的生存期
第二階段:建立IPsec SA 協商的是以下信息:
1、雙方使用哪種封裝技術,AH還是ESP
2、雙方使用哪種加密算法
3、雙方使用哪種HMAC方式,是MD5還是SHA
4、使用哪種傳輸模式,是隧道模式還是傳輸模式
5、還要協商SA的生存期
第一階段的協商過程總共有6條消息:
1、消息1和消息2用於peer之間協商加密機制
ISAKMP包含有ISAKMP頭、SA負載、提議負載、轉換負載等字段
總之是讓雙方協商好我們之間使用啥子協議、加密方法
具體是要協定四個東東:加密機制、散列機制、DH組、認證機制
2、消息3和消息4用於相互之間交換公共密匙
兩端的peer先各自生成自已的私匙和公匙,同時還產生一個臨時值。然後再使用消息3或消息4將各自的公匙和臨時值進行交換。
交換完公匙後,每個peer先根據對方的公匙和自已的私匙生成一個共享秘密(使用DH算法),再根據共享秘密、對方和自已的臨時值、預共享密鑰產生出三個SKEY:
SKEYID_d--此密匙被用於計算後續IPsec密匙資源
SKEYID_a--此密匙被用於提供後續IKE消息的數據完整性以及認證
SKEYID_e--此密匙被用於對後續IKE消息進行加密
消息3和4的ISAKMP包含以下字段:ISAKMP包頭、密匙交換負載(KE)、臨時值負載
3、消息5和消息6用於兩個peer之間進行認證,這兩個消息是用SKEYID_e進行過加密的。
每個peer根據一大堆東東(包括SKEYID-a、預共享密鑰、標識ID)生成一個Hash值,再將這個值和自已的標識ID(通常是IP或主機名)發送給對方。當然,使用的就是消息5或消息6。
每個peer收到對方的ID和Hash值後,先根據對方的ID找到對方的公匙,再計算本地Hash值,如果本地Hash值和對方的Hash值一樣,就表示認證成功。
這一步完成後,IKE SA被建立,主模式認證完成
第二階段的協商過程總共有3條消息:
1、第一、二條信息是兩個peer之間協商形成IPsec SA的封裝協議、模式、加密算法,還要互發用DH重新生成的新的公匙和臨時值,以及其它一些參數,像SPI、ID等等。
2、第三條消息通常由發起者發送給響應者,起一個確認的作用,也用來驗證通信信道的有效性
第三條信息發送前,兩端的peer必須先用和DH相關的信息(新的私鑰和對方公鑰)生成一個新的DH秘密,然後用該值和SKEYID_d以及其他一些參數一起來生成最終加解密的KEY。

六:什麽是SA
SA--安全關聯
SA是兩個通信實體經協商建立起來的一種協定,它們決定了用來保護數據包安全的IPsec協議、轉碼方式、密鑰、以及密鑰的有效存在時間等等。任何IPsec實施方案始終會構建一個SA數據庫(SA DB),由它來維護IPsec協議用來保障數據包安全的SA記錄。
SA是單向的--如果兩個主機(比如A和B)正在通過ESP進行安全通信,那麽主機A就需要有一個SA,即SA(OUT),用來處理外發的數據包,另外還需要有一個不同的SA,即SA(IN)用來處理進入的數據包。主機A的SA(OUT)和主機B的SA(IN)將共享相同的加密參數(比如密鑰)。
SA還要根據協議來區分,如果兩個主機間同時使用ESP和AH,對於ESP和AH會生成不同的SA。
SADB--安全關聯數據庫,包含雙方協商的IKE和IPsec安全信息。
SPI--安全參數索引,是一個32位的值,用來標識用於處理數據包的特定的那個安全聯盟。或者這樣理解,用於唯一定義一條單向的IPsec通道。這個號碼存在於ESP包頭中,通道兩端必須一致。

SA分為兩種:
1、IKE(ISAKMP)SA:協商對IKE數據流進行加密以及對對等體進行驗證的算法
2、IPsec S:協商對對等體之間的IP數據流進行加密的算法
對等體之間的IKE SA只能有一個
對等體之間的IPsec SA可以有多個
PFS--完善轉發安全性,是一種IKE協商中發起者可以向響應者提供建議的屬性,是一種強制對等體雙方在快速模式交換中產生新的DH秘密的屬性。這允許使用新的DH秘密生成用於加密數據的加密密鑰。

實驗過程

技術分享圖片

R1的基本配置

R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 200.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config)#int f0/1
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no shut

R2的基本配置
R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 200.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int f0/1
R2(config-if)#ip add 100.0.0.2 255.255.255.0
R2(config-if)#no shut

R3的基本配置
R3#conf t
R3(config)#int f0/0
R3(config-if)#ip add 100.0.0.1 255.255.255.0
R3(config-if)#no shut
R3(config-if)#int f0/1
R3(config-if)#ip add 192.168.2.254 255.255.255.0
R3(config-if)#no shut

二:路由的設置
R1的路由
R1(config)#ip route 0.0.0.0 0.0.0.0 200.0.0.2

R3的路由
R3(config)#ip route 0.0.0.0 0.0.0.0 100.0.0.2

三:×××的設置

R1的設置
R1(config)#crypto isakmp enable
R1(config)#crypto isakmp identity address
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encryption aes 128
R1(config-isakmp)#hash md5
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 2
R1(config-isakmp)#exit
R1(config)#

R1(config)#crypto isakmp key 6 cisco123 address 100.0.0.1 no-xauth

或者用以下語句配置成積極模式(默認是主模式,本案例使用主模式,此命令不需要)
R1(config)#crypto isakmp peer address 100.0.0.1
R1(config-isakmp-peer)#set aggressive-mode client-endpoint ipv4-address 200.0.0.1

R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

R1(config)#crypto ipsec transform-set cisco-set esp-aes esp-md5-hmac
R1(cfg-crypto-trans)#exit
R1(config)#crypto map cisco-map 10 ipsec-isakmp
R1(config-crypto-map)#set peer 100.0.0.1
R1(config-crypto-map)#set transform-set cisco-set
R1(config-crypto-map)#match address 101
R1(config-crypto-map)#exit

R1(config)#access-list 102 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config)#access-list 102 permit ip 192.168.1.0 0.0.0.255 any
R1(config)#ip nat inside source list 102 interface f0/0 overload
R1(config)#int f0/0
R1(config-if)#ip nat outside
R1(config-if)#crypto map cisco-map
R1(config-if)#int f0/1
R1(config-if)#ip nat inside
R1(config-if)#

R3的設置
R3(config)#crypto isakmp enable
R3(config)#crypto isakmp identity address
R3(config)#crypto isakmp policy 10
R3(config-isakmp)#encryption aes 128
R3(config-isakmp)#hash md5
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 2
R3(config-isakmp)#exit
R3(config)#

R3(config)#crypto isakmp key 6 cisco123 address 200.0.0.1 no-xauth

或者用以下語句配置成積極模式(默認是主模式)
R3(config)#crypto isakmp peer address 200.0.0.1
R3(config-isakmp-peer)#set aggressive-mode client-endpoint ipv4-address 100.0.0.1

R3(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#crypto ipsec transform-set cisco-set esp-aes esp-md5-hmac
R3(cfg-crypto-trans)#exit
R3(config)#crypto map cisco-map 10 ipsec-isakmp
R3(config-crypto-map)#set peer 200.0.0.1
R3(config-crypto-map)#set transform-set cisco-set
R3(config-crypto-map)#match address 101
R3(config-crypto-map)#exit

R3(config)#access-list 102 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#access-list 102 permit ip 192.168.2.0 0.0.0.255 any
R3(config)#ip nat inside source list 102 interface f0/0 overload
R3(config)#int f0/0
R3(config-if)#ip nat outside
R3(config-if)#crypto map cisco-map
R3(config-if)#int f0/1
R3(config-if)#ip nat inside

測試pc1和pc2的連通性
測試pc1、pc2與運營商的連通性

五、debug 分析(×××部分為解釋)
(1)、固定IP 對固定IP
RT1#
Mar 1 00:26:33.299: ISAKMP (0:0): received packet from 200.0.0.1 dport 500
sport 500 Global (N) NEW SA //查找SPDB,沒有找到對應的SA,創建一個新的
SA。
Mar 1 00:26:33.299: ISAKMP: Created a peer struct for 200.0.0.1, peer port
500
//創建一個對等體為200.0.0.1,對端端口為500 的SA
Mar 1 00:26:33.299: ISAKMP: New peer created peer = 0x64244BC0 peer_handle =
0x80000003
Mar 1 00:26:33.299: ISAKMP: Locking peer struct 0x64244BC0, IKE refcount 1 for
crypto_isakmp_process_block
Mar 1 00:26:33.303: ISAKMP: local port 500, remote port 500
//本地端口為500,對端端口為500
Mar 1 00:26:33.303: insert sa successfully sa = 64A25B20 //新的SA 創建成功
Mar 1 00:26:33.307: ISAKMP:(0:0:N/A:0):Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH
//進入主模式的exchange 狀態,開始DH 交換
Mar 1 00:26:33.307: ISAKMP:(0:0:N/A:0):Old State = IKE_READY New State =
IKE_R_MM1
Mar 1 00:26:33.311: ISAKMP:(0:0:N/A:0): processing SA payload. message ID = 0
//處理SA 負載
Mar 1 00:26:33.311: ISAKMP:(0:0:N/A:0): processing vendor id payload
//處理vendor id 負載
Mar 1 00:26:33.323: ISAKMP:(0:0:N/A:0):found peer pre-shared key matching
200.0.0.1
http://item.taobao.com/item.htm?spm=a1z10.5.w4002-1542627998.17.hv0rhY&id=25302724664
//找到匹配對等體200.0.0.1 的預共享密鑰
Mar 1 00:26:33.323: ISAKMP:(0:0:N/A:0): local preshared key found //本地預共
享密鑰找到
Mar 1 00:26:33.323: ISAKMP : Scanning profiles for xauth ... //查找擴展認證
Mar 1 00:26:33.323: ISAKMP:(0:0:N/A:0):Checking ISAKMP transform 1 against
priority 1 policy //匹配第一階段的策略
Mar 1 00:26:33.323: ISAKMP: encryption 3DES-CBC //加密算法為3des
Mar 1 00:26:33.327: ISAKMP: hash MD5 //hash 算法為MD5
Mar 1 00:26:33.327: ISAKMP: default group 2 //DH 組號為2
Mar 1 00:26:33.327: ISAKMP: auth pre-share //身份認證方式為預共享
Mar 1 00:26:33.327: ISAKMP: life type in seconds //生命周期以S 為單位
Mar 1 00:26:33.327: ISAKMP: life duration (VPI) of 0x0 0x1 0x51 0x80
Mar 1 00:26:33.331: ISAKMP:(0:0:N/A:0):atts are acceptable. Next payload is 0
//屬性被接受,身份認證成功
Mar 1 00:26:33.931: ISAKMP:(0:1:SW:1): processing ID payload. message ID = 0
//處理ID 負載
Mar 1 00:26:33.931: ISAKMP (0:134217729): ID payload
next-payload : 8 //下一個有效負載
type : 1 //類型為1
address : 200.0.0.1 //對等體網關為200.0.0.1
protocol : 17 //協議號為17,UDP
port : 500 //端口號為500
length : 12
Mar 1 00:26:33.935: ISAKMP:(0:1:SW:1):: peer matches none of the profiles
//對等體匹配隨機數
Mar 1 00:26:33.935: ISAKMP:(0:1:SW:1): processing HASH payload. message ID = 0
//處理hash 負載
Mar 1 00:26:33.943: ISAKMP:(0:1:SW:1):SA has been authenticated with
200.0.0.1
//本地SA 已被對端200.0.0.1 認證通過
Mar 1 00:26:33.955: ISAKMP:(0:1:SW:1):SA is doing pre-shared key authentication
using id type ID_IPV4_ADDR //預共享ID 是使用的IPV4 地址
Mar 1 00:26:33.955: ISAKMP (0:134217729): ID payload
next-payload : 8
type : 1
address : 100.0.0.1
protocol : 17
port : 500
length : 12
RT1#ending packet to 200.0.0.1 my_port 500 peer_port 500 (R) MM_KEY_EXCH
//進入主模式的key 交換狀態
Mar 1 00:26:33.971: ISAKMP:(0:1:SW:1):Old State = IKE_P1_COMPLETE New State =
IKE_P1_COMPLETE //第一階段任務已經完成
Mar 1 00:26:34.207: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) QM_IDLE //進入第二階段的初始狀態
Mar 1 00:26:34.207: ISAKMP: set new node -1476491462 to QM_IDLE
//建立一個新的節點
Mar 1 00:26:34.215: ISAKMP:(0:1:SW:1):Checking IPSec proposal 1 //檢查ipsec
策略
Mar 1 00:26:34.215: ISAKMP: transform 1, ESP_3DES //加密算法為3des
Mar 1 00:26:34.215: ISAKMP: attributes in transform //交換集屬性
Mar 1 00:26:34.215: ISAKMP: encaps is 1 (Tunnel)
//工作模式為tunnel 模式,封裝協議為ESP
Mar 1 00:26:34.215: ISAKMP: SA life type in seconds //SA 生命周期單位為S
Mar 1 00:26:34.215: ISAKMP: SA life duration (basic) of 3600 //SA 生命周
期為3600s
Mar 1 00:26:34.219: ISAKMP: authenticator is HMAC-MD5 //hash 算法為MD5
Mar 1 00:26:34.219: ISAKMP:(0:1:SW:1):atts are acceptable. //屬性被接受
(key eng. msg.) INBOUND local= 100.0.0.1, remote= 200.0.0.1,
//inbound 方向本地為100.0.0.1,對端為200.0.0.1
local_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4), // 本地代理流量為
192.168.1.0/24
remote_proxy= 192.168.2.0/255.255.255.0/0/0 (type=4),// 對端代理流量為
192.168.2.0/24
protocol= ESP, transform= esp-3des esp-md5-hmac (Tunnel), //協議為ESP
lifedur= 0s and 0kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x2
Mar 1 00:26:34.275: IPSEC(initialize_sas): ,
(key eng. msg.) OUTBOUND local= 100.0.0.1, remote= 200.0.0.1,
//outband 方向本地為100.0.0.1, 對端為200.0.0.1
local_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4),
remote_proxy= 192.168.2.0/255.255.255.0/0/0 (type=4),
protocol= ESP, transform= esp-3des esp-md5-hmac (Tunnel),
lifedur= 3600s and 4608000kb,
spi= 0xC8856E32(3364187698), conn_id= 0, keysize= 0, flags= 0xA
Mar 1 00:26
RT1#:34.279: Crypto mapdb : proxy_match
src addr : 192.168.1.0
dst addr : 192.168.2.0
protocol : 0
src port : 0
dst port : 0
Mar 1 00:26:34.287: ISAKMP: Locking peer struct 0x64244BC0, IPSEC refcount 2 for
from create_transforms
Mar 1 00:26:34.287: IPSEC(create_sa): sa created,
(sa) sa_dest= 100.0.0.1, sa_proto= 50,
sa_spi= 0x943F66F8(2487183096), sa_trans= esp-3des esp-md5-hmac , sa_conn_id= 2002
Mar 1 00:26:34.287: IPSEC(create_sa): sa created,
(sa) sa_dest= 200.0.0.1, sa_proto= 50,
sa_spi= 0xC8856E32(3364187698),
sa_trans= esp-3des esp-md5-hmac , sa_conn_id= 2001
Mar 1 00:26:34.291: ISAKMP: Unlocking IPSEC struct 0x64244BC0 from
create_transforms, count 1
Mar 1 00:26:34.459: ISAKMP:(0:1:SW:1):deleting node -1476491462 error FALSE
reason "QM done (await)" //快速模式完成
Mar 1 00:26:34.463: ISAKMP:(0:1:SW:1):Old State = IKE_QM_R_QM2 New State =
IKE_QM_PHASE2_COMPLETE //階段2 完成
RT1#un all
All possible debugging has been turned off
(2)、固定IP 對動態IP
RT1#
Mar 1 00:37:12.767: ISAKMP (0:0): received packet from 200.0.0.1 dport 500
sport 500 Global (N) NEW SA //創立一個新的SA
Mar 1 00:37:12.767: ISAKMP: Created a peer struct for 200.0.0.1, peer port
500
//對等體為200.0.0.1,端口號為500
Mar 1 00:37:12.791: ISAKMP:(0:0:N/A:0):Checking ISAKMP transform 1 against
priority 1 policy //查找策略1 的isakmp 交換集
Mar 1 00:37:12.791: ISAKMP: encryption AES 128 //加密算法為aes
Mar 1 00:37:12.791: ISAKMP: hash MD5 //hash 算法為MD5
Mar 1 00:37:12.791: ISAKMP: default group 2 //DH 組號為2
Mar 1 00:37:12.795: ISAKMP: auth pre-share //身份認證方式為預共享
Mar 1 00:37:12.795: ISAKMP:(0:0:N/A:0):atts are acceptable. Next payload is 0
//屬性被接受
Mar 1 00:37:12.863: ISAKMP:(0:1:SW:1): processing vendor id payload //處理下一
個負載
Mar 1 00:37:13.063: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) MM_SA_SETUP //從200.0.0.1 接收到協商參數,
開始建立SA
Mar 1 00:37:13.439: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) MM_KEY_EXCH //進入主模式key 交換狀態
Mar 1 00:37:13.447: ISAKMP:(0:1:SW:1): processing ID payload. message ID = 0
//處理ID 負載
Mar 1 00:37:13.447: ISAKMP (0:134217729): ID payload
next-payload : 8
type : 1
address : 200.0.0.1
protocol : 17
port : 500
length : 12
Mar 1 00:37:13.467: ISAKMP:(0:1:SW:1):SA is doing pre-shared key authentication
using id type ID_IPV4_ADDR //預共享使用的ID 是IPV4 地址
Mar 1 00:37:13.471: ISAKMP (0:134217729): ID payload
next-payload : 8
type : 1
address : 100.0.0.1
protocol : 17
port : 500
length : 12
Mar 1 00:37:13.471: ISAKMP:(0:1:SW:1):Total payload length: 12
Mar 1 00:37:13.475: ISAKMP:(0:1:SW:1): s
Mar 1 00:37:13.487: ISAKMP:(0:1:SW:1):Input = IKE_MESG_INTERNAL,
IKE_PHASE1_COMPLETE //階段1 任務完成
Mar 1 00:37:13.707: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) QM_IDLE //進入積極模式初始狀態
Mar 1 00:37:13.707: ISAKMP: set new node -381895170 to QM_IDLE //建立一個新
的節點
Mar 1 00:37:13.715: ISAKMP:(0:1:SW:1):Checking IPSec proposal 1
Mar 1 00:37:13.715: ISAKMP: transform 1, ESP_3DES
Mar 1 00:37:13.715: ISAKMP: attributes in transform:
Mar 1 00:37:13.715: ISAKMP: encaps is 1 (Tunnel)
//工作模式為tunnel 模式,封裝協議為ESP
Mar 1 00:37:13.719: ISAKMP: authenticator is HMAC-MD5 //hash 算法為MD5
Mar 1 00:37:13.719: ISAKMP:(0:1:SW:1):atts are acceptable. //屬性被接受
Mar 1 00:37:13.723: IPSEC(validate_proposal_request): proposal part #1,
(key eng. msg.) INBOUND local= 100.0.0.1, remote= 200.0.0.1,
local_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4),
remote_proxy= 192.168.2.0/255.255.255.0/0/0 (type=4),
protocol= ESP, transform= esp-3des esp-md5-hmac (Tunnel),
lifedur= 0s and 0kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x2
Mar 1 00:37:13.727: Crypto mapdb : proxy_match
src addr : 192.168.1.0
dst addr : 192.168.2.0
protocol : 0
RT1# src port : 0
dst port : 0
Mar 1 00:37:13.731: ISAKMP:(0:1:SW:1): processing NONCE payload. message ID =
-381895170 //處理隨機數
Mar 1 00:37:13.743: ISAKMP:(0:1:SW:1): Creating IPSec Sa //創建ipsec sa
Mar 1 00:37:13.743: inbound SA from 200.0.0.1 to 100.0.0.1
(f/i) 0/ 0(proxy 192.168.2.0 to 192.168.1.0) //inbound sa 從200.0.0.1 到
100.0.0.1
Mar 1 00:37:13.747: outbound SA from 100.0.0.1 to 200.0.0.1
(f/i) 0/0
(proxy 192.168.1.0 to 192.168.2.0) //outbound sa 從100.0.0.1 到
200.0.0.1
Mar 1 00:37:13.755: ISAKMP:(0:1:SW:1):Node -381895170, Input =
IKE_MESG_FROM_IPSEC, IKE_SPI_REPLY //SPI 申請
*Mar 1 00:37:14.011: ISAKMP:(0:1:SW:1):Old State = IKE_QM_R_QM2 New State =
IKE_QM_PHASE2_COMPLETE //階段2 任務完成

fenbu#
fenbu #un debug all
All possible debugging has been turned off

如果加密算法不一致會提示:
Hash algorithm offered does not match policy!

如果Hash 算法不匹配會提示
Encryption algorithm offered does not match policy!

站點到站點預共享密鑰V.P.N(基於思科ASA防火墻)