您好,歡迎來到網暖!
?
當前位置:網暖 » 站長資訊 » 建站基礎 » 網絡技術 » 文章詳細 訂閱RssFeed

Cisco ASA 實現 IPSec 虛擬專用網(內附故障排查)

來源:網絡整理 瀏覽:189次 時間:2019-12-14

傳送門:Cisco 路由器配置實例: https://blog.51cto.com/14227204/2448319
其實,防火墻和路由器的配置非常相似,可以參考上方傳送門,下方會介紹一個防火墻的配置實例
一、路由器的故障診斷排查
1、show crypto isakmp sa

R1:show crypto isakmp sa               # 可以顯示數據連接sa的細節信息

MM_NO_STATE :ISAKMP SA建立的初始狀態;管理連接建立失敗也會處于該狀態
MM_SA_SETUP :對等體之間ISAKMP策略協商成功后處于該狀態
MM_KEY_EXCH :對等體通過DH算法成功建立共享密鑰,此時還沒有進行設備驗證
MM_KEY_AUTH :對等體成功進行設備驗證,之后會過渡到QM_IDLE狀態
QM_IDLE :管理連接成功建立,即將過渡到階段2的數據連接建立過程

2、debug crypto isakmp

R1:debug crypto isakmp                # 診斷和排查管理連接出現的問題

故障實例一:兩端加密算法不匹配

ISAKMP:(0:0:N/A:0):Checking ISAKMP transform 1 against priority 1 policyISAKMP:      default group 1ISAKMP:      encryption DES-CBCISAKMP:      hash SHAISAKMP:      auth pre-shareISAKMP:      life type in secondsISAKMP:      life duration (VPI) of  0x0 0x1 0x51 0x80 ISAKMP:(0:0:N/A:0):Encryption algorithm offered does not match policy!                        # 加密算法不匹配ISAKMP:(0:0:N/A:0):atts are not acceptable. Next payload is 0……                            # 策略不被接受ISAKMP:(0:0:N/A:0):no offers accepted!                  # 沒有匹配策略……received packet from 10.0.0.1 dport 500 sport 500 Global (R) MM_NO_STATE                           # 策略進入未成功狀態

故障案例二:兩端使用的預共享密鑰不一致

ISAKMP:(0:0:N/A:0):Checking ISAKMP transform 1 against priority 1 policyISAKMP:      default group 1ISAKMP:      encryption DES-CBCISAKMP:      hash SHAISAKMP:      auth pre-shareISAKMP:      life type in secondsISAKMP:      life duration (VPI) of  0x0 0x1 0x51 0x80 ISAKMP:(0:0:N/A:0):atts are acceptable. Next payload is 0……?           # 算法已匹配,開始秘鑰交換及身份驗證ISAKMP (0:134217729): received packet from 10.0.0.1 dport 500 sport 500 Global (R) MM_KEY_EXCHISAKMP: reserved not zero on ID payload!%CRYPTO-4-IKMP_BAD_MESSAGE: IKE message from 10.0.0.1     failed its sanity check or is malformed          # 完整性驗證失敗,將停留在MM     KEY    EXCH 階段

二、防火墻和路由器的區別:
IKE 協商:
路由默認開啟
ASA 防火墻默認關閉,必須手動開啟,如下:

ASA(config)# crypto  isakmp  enable  outside 

隧道組特性的引入:
防火墻從6.x版本升級到7.0版本引入的新特性
主要用于簡化IPSec會話的配置和管理
三、開始配置
環境如下:
Cisco ASA 實現 IPSec 虛擬專用網(內附故障排查)
需求如下:
lan1區域和lan2區域互通
lan1區域和lan3區域互通
lan2區域和lan3區域互通(lan2→lan1→lan3)
所有區域能夠訪問中間ISP
配前須知(不好意思,我這里以路由器代替了pc機所以驗證有點簡略):

  1. 自行配置接口IP之類
  2. 這里我是使用了路由器充當PC機所以需要在路由器上配置個默認路由充當網關
  3. 防火墻往外配置一條默認路由

R1配置(R3、R4配置類似):

R1#conf tR1(config)#int f 0/0R1(config-if)#ip add 192.168.1.10 255.255.255.0                # 配置接口IPR1(config-if)#no shutdownR1(config-if)#exitR1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1                   # 默認路由充當網關

R2配置如下(ISP不需要配置路由):

R2#conf tR2(config)#int f 0/1R2(config-if)#ip add 201.0.0.1 255.255.255.0R2(config-if)#no shutdownR2(config-if)#exitR2(config)#int f 0/1R2(config-if)#ip add 202.0.0.1 255.255.255.0R2(config-if)#no shutdownR2(config-if)#exitR2(config)#int f 1/0R2(config-if)#ip add 202.0.0.1 255.255.255.0R2(config-if)#no shutdown

1、配置
ASA1(lan1→lan2)配置如下

ciscoasa> enPassword:ciscoasa# conf tciscoasa(config)# int e 0/0ciscoasa(config-if)# nameif inside                    # 配置為內接口ciscoasa(config-if)# ip add 192.168.1.1ciscoasa(config-if)# no shutdownciscoasa(config-if)# exitciscoasa(config)# int e 0/1ciscoasa(config-if)# nameif outside                  # 配置為外接口ciscoasa(config-if)# ip add 201.0.0.2ciscoasa(config-if)# no shutdownciscoasa(config)# route outside 0 0 201.0.0.2                   # 配置到外部的默認路由,這里的0相當于0.0.0.0 ciscoasa(config)# crypto isakmp enable outside                 # 開啟IKE協商功能ciscoasa(config)# crypto isakmp policy 1                            # 配置管理連接ciscoasa(config-isakmp-policy)# encryption aes                 # 加密為aesciscoasa(config-isakmp-policy)# hash md5                         # 認證為 md5ciscoasa(config-isakmp-policy)# group 2ciscoasa(config-isakmp-policy)# authentication pre-share      # 預先設置共享秘鑰ciscoasa(config-isakmp-policy)# lifetime 10000         ciscoasa(config-isakmp-policy)# exit ciscoasa(config)# crypto isakmp key 123.com address 202.0.0.2               # 設置共享秘鑰# 防火墻中有兩種配置,一會在ASA2中使用ciscoasa(config)# access-list lan1_lan2 permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0                    # 編寫1.0到2.0的ACLciscoasa(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmac           # 此四條配置數據連接ciscoasa(config)# crypto map test-map 1 match address lan1_lan2ciscoasa(config)# crypto map test-map 1 set peer 202.0.0.1ciscoasa(config)# crypto map test-map 1 set transform-set  test-setciscoasa(config)# crypto map test-map interface outside          # 應用到外部的邏輯接口上

ASA2配置如下

ciscoasa> enPassword:ciscoasa# conf tciscoasa(config)# int e 0/0                          # 這里我就不介紹配置含義了,和上面基本相似ciscoasa(config-if)# nameif outsideciscoasa(config-if)# ip add 202.0.0.2ciscoasa(config-if)# no shutdownciscoasa(config-if)# exitciscoasa(config)# int e 0/1ciscoasa(config-if)# nameif insideciscoasa(config-if)# ip add 192.168.2.1ciscoasa(config-if)# no shutdownciscoasa(config-if)# exitciscoasa(config)# route outside 0 0 202.0.0.1ciscoasa(config)# crypto isakmp enable outsideciscoasa(config)# crypto isakmp policy 1ciscoasa(config-isakmp-policy)# encryption aesciscoasa(config-isakmp-policy)# hash md5ciscoasa(config-isakmp-policy)# group 2ciscoasa(config-isakmp-policy)# authentication pre-shareciscoasa(config-isakmp-policy)# lifetime 10000ciscoasa(config)# tunnel-group 201.0.0.2 type ipsec-l2l             # 另一種配置秘鑰方式ciscoasa(config)# tunnel-group 201.0.0.2 ipsec-attributesciscoasa(config-tunnel-ipsec)# pre-shared-key 123.comciscoasa(config-tunnel-ipsec)# exitciscoasa(config)# access-list lan2_lan1 permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0ciscoasa(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmacciscoasa(config)# crypto map test-map 1 match address lan2_lan1ciscoasa(config)# crypto map test-map 1 set peer 201.0.0.2ciscoasa(config)# crypto map test-map 1 set transform-set test-setciscoasa(config)# crypto map test-map interface outsideR1#ping 192.168.2.10Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.2.10, timeout is 2 seconds:!!!!!

ASA1(lan1→lan3)配置如下

# 在ASA之前配置過到lan2區域,所以可以以上面為基礎接著配置ciscoasa(config)# tunnel-group 203.0.0.2 type ipsec-l2lciscoasa(config)# tunnel-group 203.0.0.2 ipsec-attributesciscoasa(config-tunnel-ipsec)# pre-shared-key 123.comciscoasa(config)# access-list lan1_lan3 permit ip 192.168.1.0 255.255.255.0 192.168.3.0  255.255.255.0ciscoasa(config)# crypto map test-map 2 match address lan1_lan3WARNING: The crypto map entry is incomplete!              # 這里出現的警告是正常的ciscoasa(config)# crypto map test-map 2 set peer 203.0.0.2WARNING: The crypto map entry is incomplete!ciscoasa(config)# crypto map test-map 2 set transform-set test-set

ASA3配置如下(和ASA2配置基本詳細)

ciscoasa> enPassword:ciscoasa# conf tciscoasa(config)# int e 0/0ciscoasa(config-if)# nameif outsideciscoasa(config-if)# ip add 203.0.0.2ciscoasa(config-if)# no shutdownciscoasa(config-if)# exitciscoasa(config)# int e 0/1ciscoasa(config-if)# nameif insideciscoasa(config-if)# ip add 192.168.3.1ciscoasa(config-if)# no shutdownciscoasa(config)# route outside 0 0 203.0.0.1ciscoasa(config)# crypto isakmp enable outsideciscoasa(config)# crypto isakmp policy 1ciscoasa(config-isakmp-policy)# authentication pre-shareciscoasa(config-isakmp-policy)# encryption aesciscoasa(config-isakmp-policy)# hash md5ciscoasa(config-isakmp-policy)# group 2ciscoasa(config-isakmp-policy)# lifetime 10000ciscoasa(config-isakmp-policy)# exitciscoasa(config)# crypto isakmp key 123.com address 201.0.0.2ciscoasa(config)# access-list lan3_lan1 permit ip 192.168.3.0 255.255.255.0 192.168.1.0 255.255.255.0ciscoasa(config)# crypto ipsec transform-set test-set esp-aes esp-md5-hmacciscoasa(config)# crypto map test-map 1 match address lan3_lan1ciscoasa(config)# crypto map test-map 1 set peer 201.0.0.2ciscoasa(config)# crypto map test-map 1 set transform-set test-setciscoasa(config)# crypto map test-map interface outsideR4#ping 192.168.1.10Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.1.10, timeout is 2 seconds:!!!!!

2、實現lan2→lan3通信:
ASA1配置如下

ciscoasa(config)# same-security-traffic permit intra-interface         # 允許流量進入和離開同一個接口ciscoasa(config)# access-list lan1_lan2 permit ip 192.168.3.0 255.255.255.0 192.168.2.0 255.255.255.0ciscoasa(config)# access-list lan1_lan3 permit ip 192.168.2.0 255.255.255.0 192.168.3.0 255.255.255.0

ASA2配置如下

ciscoasa(config)# access-list lan2_lan1 permit ip 192.168.2.0 255.255.255.0 192.168.3.0 255.255.255.0

ASA3配置如下

ciscoasa(config)# access-list lna3_lan1 permit ip 192.168.3.0 255.255.255.0 192.168.2.0 255.255.255.0R3#ping 192.168.3.10Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.3.10, timeout is 2 seconds:!!!!!

3、訪問ISP
如果需要讓內網能訪問互聯網,需要在ASA上做PAT,并啟用nat控制,豁免***的流量

ASA1配置如下

ciscoasa(config)# nat-control           # 啟用nat控制ciscoasa(config)# nat (inside) 1 0 0            # 配置patciscoasa(config)# global (outside) 1 interface                # 映射到接口# 不使用原來的ACL條目,因為有lan1_lan2和lan1_lan3,無法同時豁免兩個,所以重新定義ACLciscoasa(config)# access-list aaa permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0ciscoasa(config)# access-list aaa permit ip 192.168.1.0 255.255.255.0 192.168.3.0 255.255.255.0ciscoasa(config)# nat (inside) 0 access-list aaa                # 應用到接口

ASA2配置如下

ciscoasa(config)# nat (inside) 1 0 0ciscoasa(config)# global (outside) 1 interfaceciscoasa(config)# nat (inside) 0 access-list lan2_lan1

ASA3配置如下

ciscoasa(config)# nat (inside) 1 0 0ciscoasa(config)# global (outside) 1 interfaceciscoasa(config)# nat (inside) 0 access-list lan3_lan1

推薦站點

  • 騰訊騰訊

    騰訊網(www.QQ.com)是中國瀏覽量最大的中文門戶網站,是騰訊公司推出的集新聞信息、互動社區、娛樂產品和基礎服務為一體的大型綜合門戶網站。騰訊網服務于全球華人用戶,致力成為最具傳播力和互動性,權威、主流、時尚的互聯網媒體平臺。通過強大的實時新聞和全面深入的信息資訊服務,為中國數以億計的互聯網用戶提供富有創意的網上新生活。

    www.qq.com
  • 搜狐搜狐

    搜狐網是全球最大的中文門戶網站,為用戶提供24小時不間斷的最新資訊,及搜索、郵件等網絡服務。內容包括全球熱點事件、突發新聞、時事評論、熱播影視劇、體育賽事、行業動態、生活服務信息,以及論壇、博客、微博、我的搜狐等互動空間。

    www.sohu.com
  • 網易網易

    網易是中國領先的互聯網技術公司,為用戶提供免費郵箱、游戲、搜索引擎服務,開設新聞、娛樂、體育等30多個內容頻道,及博客、視頻、論壇等互動交流,網聚人的力量。

    www.163.com
  • 新浪新浪

    新浪網為全球用戶24小時提供全面及時的中文資訊,內容覆蓋國內外突發新聞事件、體壇賽事、娛樂時尚、產業資訊、實用信息等,設有新聞、體育、娛樂、財經、科技、房產、汽車等30多個內容頻道,同時開設博客、視頻、論壇等自由互動交流空間。

    www.sina.com.cn
  • 百度一下百度一下

    百度一下,你就知道

    www.baidu.com
?
买北京单场