■ 廣州市疾病預防控制中心 淡武強
如果運用傳統方式組網,則核心節點北京總部需與所有二級節點(各省分部)、所有三級節點(各省所轄地級市)均建立IPSEC隧道,工作量巨大,隧道維護不便。為實現網絡逐級管理、減輕核心節點的工作量,核心節點只與二級節點間建立IPSEC隧道,各二級節點再與所轄三級節點建立IPSEC隧道,進行隧道接力,中轉三級節點的流量,這樣三級節點便可訪問核心節點的子網。
IP地址規劃:總部負責為各省分部統一分配IP地址段,各省為所轄的地級市節點分配IP地址段。全國IP段采用10.0.0.0/8的A類子網,再劃分出26=64個子網,分配給各省分部,其中廣東省分部的IP段為10.76.0.0/14,廣東省再劃分出25=32個子網,分配給各地級市VPN節點,其中廣州市節點的IP段為10.76.32.0/19。子網間為包含關系,以實現IPSEC VPN隧道接力傳遞的目的。
IPSEC VPN建設:總部負責與各省分部建立IPSEC VPN隧道。各省分部負責與所轄的地級市VPN節點建立IPSEC VPN隧道。
SSL VPN建設:各地級市節點負責全市SSL VPN用戶管理,資源管理。
全市信息系統用戶通過網頁或客戶端登錄SSL VPN網關,點擊資源鏈接,訪問總部服務器的信息系統。
本文使用華為eNSP v1.3.0.1版模擬器來模擬組建多級IPSEC隧道,設備選用USG6000V防火墻作VPN網關,以廣州市VPN節點為例,描述用VPN隧道接力技術,實現多級VPN網絡建設的過程。
如圖1所示,總部網絡A、廣東省分部網絡B、廣州市節點網絡C分別通過FW_A、FW_B、FW_C連接到Internet。網絡A屬于10.0.0.0/8/子網,網絡B屬于10.76.0.0/14子網,網絡C屬于10.76.32.0/19子網,FW_A、FW_B、FW_C路由可達。
通過組網實現如下需求:在FW_A和FW_B之間建立IKE方式的IPSEC隧道,使網絡B的用戶能夠訪問位于網絡A的信息系統;在FW_B和FW_C之間建立IKE方式的IPSEC隧道,使網絡C的用戶能夠經FW_B的中繼,訪問位于網絡A的信息系統。

表1 數據規劃
FW_A、FW_B以及FW_B、FW_C之間分別建立IPSec隧道。FW_A、FW_C不直接建立IPSec連接,而是通過FW_B進行隧道接力傳遞。
詳見表1。
對于FW_A、FW_B和FW_C,配置思路相同。
1.完成接口基本配置。
2.配置安全策略,允許私網指定網段進行報文交互。
3.配置到對端內網的路由。
4.配置IPSec策略。包括配置IPSec策略的基本信息、配置待加密的數據流、配置安全提議的協商參數。
1.配置FW_A
包括配置接口IP地址、接口加入安全區域、域間安全策略和靜態路由。
配置接口IP地址,將接口加入相應的安全區域。
[FW_A]interface Giga bitEthernet 1/0/3
[FW_A-GigabitEthernet 1/0/3]ip address 10.249.1.1 24
[FW_A-GigabitEthernet 1/0/3]quit
[FW_A]interface Giga bitEthernet 1/0/1
[FW_A-GigabitEtherne t1/0/1]ip address 1.1.1.1 24
[FW_A-GigabitEtherne t1/0/1]quit
[FW_A]firewall zone trust
[FW_A-zone-trust]add
interface GigabitEthern et 1/0/3
[FW_A-zone-trust]qui t
[FW_A]firewall zone untrust
[FW_A-zone-untrust]a dd interface GigabitEthe rnet 1/0/1
[FW_A-zone-untrust]quit
配置Trust域與Untrust域之間,以及Untrust域與Local域之間的域間安全策略。
[FW_A]security-polic y
[FW_A-policy-securit y]rule name policy1
[FW_A-policy-securit y-rule-policy1]sourcezone trust
[FW_A-policy-securit y-rule-policy1]destinat ion-zone untrust
[FW_A-policy-securit y-rule-policy1]sourceaddress 10.0.0.0 8
[FW_A-policy-securit y-rule-policy1]destinat ion-address 10.76.0.0 14
[FW_A-policy-securit y-rule-policy1]action permit
[FW_A-policy-securit y-rule-policy1]quit
[FW_A-policy-securit y]rule name policy2
[FW_A-policy-securit y-rule-policy2]sourcezone untrust
[FW_A-policy-securit y-rule-policy2]destinat ion-zone trust
[FW_A-policy-securit y-rule-policy2]sourceaddress 10.76.0.0 14
[FW_A-policy-securit y-rule-policy2]destinat ion-address 10.0.0.0 8
[FW_A-policy-securit y-rule-policy2]action permit
[FW_A-policy-securit y-rule-policy2]quit
[FW_A-policy-securit y]rule name policy3
[FW_A-policy-securit y-rule-policy3]sourcezone local
[FW_A-policy-securit y-rule-policy3]destinat ion-zone untrust
[FW_A-policy-securit y-rule-policy3]sourceaddress 1.1.1.1 32
[FW_A-policy-securit y-rule-policy3]action permit
[FW_A-policy-securit y-rule-policy3]quit
[FW_A-policy-securit y]rule name policy4
[FW_A-policy-securit y-rule-policy4]sourcezone untrust
[FW_A-policy-securit y-rule-policy4]destinat ion-zone local
[FW_A-policy-securit y-rule-policy4]destinat ion-address 1.1.1.1 32
[FW_A-policy-securit y-rule-policy4]action permit
[FW_A-policy-securit y-rule-policy4]quit
[FW_A-policy-securit y]quit
說明:配置Local域和Untrust域的域間安全策略的目的為允許IPSec隧道兩端設備通信,使其能夠進行隧道協商。FW_A上不配置對端peer的IP地址,否則會造成隧道無法接力傳遞。
配置默認路由,此處假設下一跳地址為1.1.1.2。
[FW_A]ip route-stati c 0.0.0.0 0.0.0.0 1.1.1.2
在FW_A上配置IPSec策略,并在接口上應用IPSec策略。
定義被保護的數據流。
配置高級ACL 3000,定義總部到廣東省分部的數據流。
[FW_A]acl 3000
[FW_A-acl-adv-3000]rule 5 permit ip source 10.0.0.0 0.255.255.255 destination 10.76.32.0 0.3.255.255
[FW_A-acl-adv-3000]quit
配置IPSec安全提議(取默認設置),配置IKE安全提議(取默認設置),配置IKE Peer。
[FW_A]ipsec proposal tran1
[FW_A-ipsec-proposal-tran1]quit
[FW_A]ike proposal 10
[FW_A-ike-proposal-1 0]quit
[FW_A]ike peer b
[FW_A-ike-peer-b]ike-proposal 10
[FW_A-ike-peer-b]rem ote-address 2.2.2.1
[FW_A-ike-peer-b]pre-shared-key Test!1234
[FW_A-ike-peer-b]qui t
配置IPSec策略組map1的序號為10的IPSec策略,在接口GigabitEthernet 1/0/1上應用IPSec策略組map1。
[FW_A]ipsec policy m ap1 10 isakmp
[FW_A-ipsec-policy-i sakmp-map1-10]security acl 3000
[FW_A-ipsec-policy-i sakmp-map1-10]proposal tran1
[FW_A-ipsec-policy-i sakmp-map1-10]ike-peer b
[FW_A-ipsec-policy-i sakmp-map1-10]quit
[FW_A]interface Giga bitEthernet 1/0/1
[FW_A-GigabitEthernet 1/0/1]ipsec policy map1
[FW_A-GigabitEthernet 1/0/1]quit
2.配置FW_B
配置接口IP地址,并將接口加入安全區域(配置方法同FW_A,省略)。
配置Trust域與Untrust域之間,以及Untrust域與Local域之間的域間安全策略(配置方法同FW_A,省略)。
配置默認路由,此處假設下一跳地址為2.2.2.2(省略)。
在FW_B上配置IPSec策略,并在接口上應用IPSec策略。
定義兩條被保護的數據流,一條是全廣東省10.76.0.0/14網段到總部10.0.0.0/8的,另一條是總部10.0.0.0/8到廣州市節點10.76.32.0/19的。
[FW_B]acl 3000
[FW_B-acl-adv-3000]rule 5 permit ip source 10.76.0.0 0.3.255.255 destination 10.0.0.0 0.255.255.255
[FW_B-acl-adv-3000]quit
[FW_B]acl 3001
[FW_B-acl-adv-3001]rule 5 permit ip source 10.0.0.0 0.255.255.255 destination 10.76.32.0 0.0.31.255
[FW_B-acl-adv-3000]quit
配置名稱為tran1的IPSec安全提議、配置序號為10的IKE安全提議(與FW_A的相同)。配置廣東省分部與總部間IPSEC隧道的IKE Peer,預共享密鑰為Test!1234,配置名稱為map1序號為10的IPSec策略。
[FW_B]ike peer a
[FW_B-ike-peer-a]ike-proposal 10
[FW_B-ike-peer-a]remote-address 1.1.1.1
[FW_B-ike-peer-a]pre-shared-key Test!1234
[FW_B-ike-peer-a]quit
[FW_B]ipsec policy map1 10 isakmp
[FW_B-ipsec-policyisakmp-map1-10]security acl 3000
[FW_B-ipsec-policyisakmp-map1-10]proposal tran1
[FW_B-ipsec-policyisakmp-map1-10]ike-peer a
[FW_B-ipsec-policyisakmp-map1-10]quit
配置廣東省分部與廣州市節點間IPSEC隧道的IKE Peer,預共享密鑰為Pass@5678,配置名稱為map1序號為20的IPSec策略。
[FW_B]ike peer c
[FW_B-ike-peer-a]ike-proposal 10
[FW_B-ike-peer-a]remote-address 3.3.3.1
[FW_B-ike-peer-a]pre-shared-key Pass@5678
[FW_B-ike-peer-a]quit
[FW_B]ipsec policy map1 20 isakmp
[FW_B-ipsec-policyisakmp-map1-10]security acl 3001
[FW_B-ipsec-policyisakmp-map1-10]proposal tran1
[FW_B-ipsec-policyisakmp-map1-10]ike-peer c
[FW_B-ipsec-policyisakmp-map1-10]quit
在GigabitEthernet 1/0/1接口上應用IPSec策略map1(省略)。
3.配置FW_C
配置接口IP地址,并且將接口加入域,配置域間安全策略,配置默認路由(省略)。
在FW_C上配置IPSec策略,并在接口上應用此安全策略。
定義被保護的數據流。
[FW_C]acl 3000
[FW_C-acl-adv-3000]rule 5 permit ip source 10.76.32.0 0.0.31.255 destination 10.0.0.0 0.255.255.255
[FW_C-acl-adv-3000]quit
說明:為了實現和總部的通信,Destination定義為總部的10.0.0.0 8。
配置名稱為tran1的IPSec安全提議,配置序號為10的IKE安全提議,配置IKE Peer,預共享密鑰為Pass@5678,配置名稱為map1序號為10的IPSec策略。
[FW_C]ike peer b
[FW_C-ike-peer-a]ike-proposal 10
[FW_C-ike-peer-a]remote-address 2.2.2.1
[FW_C-ike-peer-a]pre-shared-key Pass@5678
[FW_C-ike-peer-a]quit
[FW_C]ipsec policy map1 10 isakmp
[FW_C-ipsec-policyisakmp-map1-10]security acl 3000
[FW_C-ipsec-policyisakmp-map1-10]proposal tran1
[FW_C-ipsec-policyisakmp-map1-10]ike-peer b
[FW_C-ipsec-policyisakmp-map1-10]quit
在接口GigabitEtherne t 1/0/1上應用IPSec策略組map1。
4.使用一臺路由器來模擬ISP,只需配置各接口IP即可
配置完成后,PC2、PC1可以互相訪問,雙方都可以觸發建立IPSec SA。PC3和PC1也能互相訪問,訪問過程會觸發建立PC3-PC2間和PC2-PC1間的兩條IPSec SA,通過隧道接力實現互訪。
在總部防火墻FW_A上display ike sa,可以查看到與廣東省分部建立的一對IKE SA;廣東省分部FW_B上可以查看到分別與總部FW_A和廣州市節點FW_C分別建立的兩對IKE SA。在總部FW_A上可以查看到一對雙向的IPSec SA,廣東省分部FW_B上可以查看到分別與總部FW_A和廣州市節點FW_C分別建立的兩對IPSec SA。
隧道接力的關鍵在于各級節點的本地子網間要形成包含關系,比如總部本地子網為10.0.0.0/8,省分部本地子網為10.76.0.0/14,市節點本地子網為10.76.32.0/19,一級節點子網包含二級節點子網,二級節點子網包含三級節點子網,這樣,二級節點分別與一級節點、三級節點建立IPSEC VPN隧道,二級節點將會中繼三級節點到一級節點的IPSEC VPN流量。