經過博文CIsco路由器實現IPSec 虛擬專用網原理及配置詳解已經初步瞭解IPSec 虛擬專用網的原理以及如何在Cisco的路由器上實現IPSec 虛擬專用網技術。千萬不要覺得在CIsco路由器能夠實現IPSec 虛擬專用網,在CIsco ASA防火牆也能夠實現,雖然原理是一致的,可是其配置過程,稍微有一些不一樣。下面主要講解一下如何在Cisco ASA 防火牆上實現IPSec 虛擬專用網。算法
博文大綱:
1、案例拓補;
2、案例需求;
3、案例實施;
4、Cisco防火牆與Cisco路由器的區別;
5、IPSec 虛擬專用網故障排查;安全
1.PC1使用IPSec 虛擬專用網訪問PC3;
2.PC1能夠telnetPC2;ide
ASA(config)# int e0/0 ASA(config-if)# nameif inside INFO: Security level for "inside" set to 100 by default. //Cisco ASA防火牆inside區域默認優先級爲100 ASA(config-if)# ip add 192.168.1.1 255.255.255.0 ASA(config-if)# no sh ASA(config-if)# int e0/1 ASA(config-if)# nameif outside INFO: Security level for "outside" set to 0 by default. //Cisco ASA防火牆outside區域默認優先級爲0 ASA(config-if)# ip add 100.1.1.1 255.255.255.0 ASA(config-if)# no sh ASA(config-if)# route outside 0 0 100.1.1.2 //配置默認路由 ASA(config)# nat-control //表示經過ASA防火牆的數據包都必須使用NAT地址轉換技術 ASA(config)# nat (inside) 1 0 0 ASA(config)# global (outside) 1 int INFO: outside interface address added to PAT pool //將內部全部地址轉換爲外部接口地址,啓用PAT的意思
虛擬專用網和NAT之間存在必定的衝突,若但願既能夠訪問互聯網又能夠訪問虛擬專用網,就須要配置NAT豁免,讓訪問虛擬專用網的流量不作NAT轉換。ui
ASA(config)# access-list nonat extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0 ASA(config)# nat (inside) 0 access-list nonat //注意nat-id爲0 表示使用NAT豁免,優先級最高
在路由器上,默認已經啓用ISAKMP/IKE協議,可是在ASA防火牆默認並無啓用!須要使用如下命令啓用ISAKMP/IKE協議。加密
ASA(config)# crypto isakmp enable outside //啓用ISAKMP/IKE協議
ASA(config)# crypto isakmp policy 1 //配置ISAKMP/IKE策略,序列號爲1,數值越小越優先 ASA(config-isakmp-policy)# encryption aes //指定用於身份驗證採用aes加密算法(防火牆默認不可使用des) ASA(config-isakmp-policy)# hash sha //驗證數據完整性使用sha算法 ASA(config-isakmp-policy)# authentication pre-share //設備驗證方式採用預共享密鑰 ASA(config-isakmp-policy)# group 1 //指定DH密鑰組
ASA(config)# crypto isakmp key 123456 address 200.1.1.2 //指定對等體爲200.1.1.2,密鑰是123456
IOS7.0版本以上的防火牆通常使用隧道組來配置密鑰debug
其實呢,配置NAT豁免的ACL就可使用!僅限於本博文的拓補狀況。3d
ASA(config)# crypto ipsec transform-set ASA-set esp-aes esp-sha-hmac //防火牆加密驗證必須使用esp,不可以使用AH驗證
這裏的配置命令與路由器稍微有些不一樣!命令以下:code
ASA(config)# crypto map ASA-map 1 match address nonat //建立Crypto-Map,名稱爲ASA-map,序列號爲1,調用名稱爲nonat的ACL ASA(config)# crypto map ASA-map 1 set peer 200.1.1.2 //ASA-map對應的對等體爲200.1.1.2 ASA(config)# crypto map ASA-map 1 set transform-set ASA-set //ASA-map調用剛纔定義的傳輸集(ASA-set)
ASA(config)# crypto map ASA-map int outside
到這裏防火牆的配置基本已經完成!orm
R1(config)#int f1/0 R1(config-if)#ip add 100.1.1.2 255.255.255.0 R1(config-if)#no sh R1(config-if)#int f0/0 R1(config-if)#ip add 11.1.1.1 255.255.255.0 R1(config-if)#no sh R1(config-if)#int f2/0 R1(config-if)#ip add 200.1.1.1 255.255.255.0 R1(config-if)#no sh //僅配置IP地址便可!
R2(config)#int f2/0 R2(config-if)#ip add 200.1.1.2 255.255.255.0 R2(config-if)#no sh R2(config-if)#int f0/0 R2(config-if)#ip add 192.168.2.1 255.255.255.0 R2(config-if)#no sh R2(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.1 //配置一條默認路由 R2(config)#crypto isakmp policy 1 R2(config-isakmp)#encryption aes R2(config-isakmp)#hash sha R2(config-isakmp)#authentication pre-share R2(config-isakmp)#group 1 R2(config-isakmp)#exit R2(config)#crypto isakmp key 123456 address 100.1.1.1 //必須保證算法、驗證方式、共享密鑰、DH密鑰組號與防火牆設置一致 R2(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 //設置ACL R2(config)#crypto ipsec transform-set R2-set esp-aes esp-sha-hmac //與防火牆使用一樣的驗證方式 R2(config)#crypto map R2-map 1 ipsec-isakmp % NOTE: This new crypto map will remain disabled until a peer and a valid access list have been configured. R2(config-crypto-map)#set peer 100.1.1.1 R2(config-crypto-map)#set transform-set R2-set R2(config-crypto-map)#match address 100 R2(config-crypto-map)#int f2/0 R2(config-if)#crypto map R2-map //建立map、設置共同體、定義傳輸方式、調用ACL,最後應用外部接口上 //這就不進行詳細介紹了!
PC1的配置:blog
PC1(config)#int f0/0 PC1(config-if)#ip add 192.168.1.100 255.255.255.0 PC1(config-if)#no sh PC1(config-if)#exit PC1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1 //配置IP地址及默認路由
PC2的配置:
PC2(config)#int f0/0 PC2(config-if)#ip add 11.1.1.100 255.255.255.0 PC2(config-if)#no sh PC2(config)#ip route 0.0.0.0 0.0.0.0 11.1.1.1 PC2(config)#line vty 0 4 PC2(config-line)#pass 123456 PC2(config-line)#login //配置默認路由,並啓用Telnet
PC3的配置:
PC3(config)#int f0/0 PC3(config-if)#ip add 192.168.2.100 255.255.255.0 PC3(config-if)#no sh PC3(config)#ip route 0.0.0.0 0.0.0.0 192.168.2.1 //配置IP地址及默認路由
PC1上進行驗證:
PC1#telnet 11.1.1.100 Trying 11.1.1.100 ... Open User Access Verification Password: PC2> //telnet登陸成功!
PC1#ping 192.168.2.100 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.2.100, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 44/75/112 ms //PC1使用虛擬專用網與PC3進行通訊
因爲,防火牆因爲自身的IOS的緣由,在配置命令方面與路由器有必定的區別,可是並非很明顯!
在創建管理鏈接的過程當中,Cisco ASA防火牆和路由器默認狀況下使用的參數不一樣。
Cisco ASA防火牆使用的默認參數以下:
ASA(config)# show run crypto //查看管理鏈接默認參數 ……………… //省略部份內容 crypto isakmp policy 65535 authentication pre-share encryption 3des //加密算法爲3des hash sha group 2 //默認使用DH組2 lifetime 86400
Cisco路由器使用的默認參數以下:
R2#show crypto isakmp policy //查看管理鏈接默認參數 ……………… //省略部份內容 Default protection suite encryption algorithm: DES - Data Encryption Standard (56 bit keys). //加密算法爲des hash algorithm: Secure Hash Standard authentication method: Rivest-Shamir-Adleman Signature Diffie-Hellman group: #1 (768 bit) //默認使用DH組1 lifetime: 86400 seconds, no volume limit
在數據鏈接創建過程當中,ASA防火牆只支持ESP協議。所以,若是路由器使用AH實現數據驗證功能,將沒法與ASA成功創建數據鏈接。
默認狀況下,IKE協商在路由器中是開啓的;而在ASA防火牆中是關閉。所以,在ASA防火牆中必須使用命令「crypto isakmp enable outside」開啓IKE協商。
嚴格意義上說,這並不能算是防火牆和路由器的配置差別,而是防火牆從6.x版本升級到7.0版本引入的特性,它主要用於簡化IPSec會話的配置和管理。並且路由器配置共享密鑰key的命令,ASA防火牆默認也支持。
防火牆存在一種限制,若是流量從一個接口進入,就不能從相同安全級別的端口流出。流量不能在同一安全級別的端口之間傳輸,這主要是從安全方面考慮而設定的一種特性。可是會對IPSec流量形成必定的影響。若是在現實環境中,碰到的這種狀況,可使用如下命令:
ASA(config)# same-security-traffic permit intra-interface //容許流量進入和離開同一個接口(默認是禁止) ASA(config)# same-security-traffic permit inter-interface //容許流量經過具備相同安全級別的兩個不一樣的接口
注意:ASA防火牆默認放行一切虛擬專用網的流量!
經常使用的命令有:
經過命令能夠了解管理鏈接所處的狀態(這裏主要介紹主模式)!常見的狀態,如圖:
若是但願瞭解整個過程,就可使用這個命令,這個命令是實際工做中最經常使用於診斷和排查管理鏈接出現問題的命令。
———————— 本文至此結束,感謝閱讀 ————————