本文介紹第三方SD-WAN設備如何對接轉發路由器實現本地數據中心IDC(Internet Data Center)與阿里云專有網絡VPC(Virtual Private Cloud)互通。
場景示例
以下文檔包含第三方產品信息,第三方產品信息僅供參考。阿里云對第三方產品的性能、可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。
本文以下圖場景為例。某企業在中國上海地域擁有本地IDC1和本地IDC2,在阿里云華東2(上海)地域擁有服務VPC1,在阿里云華東1(杭州)地域擁有服務VPC2,企業需要本地IDC1、本地IDC2、阿里云服務VPC1、阿里云服務VPC2之間互相通信。企業希望本地IDC1和本地IDC2可以通過第三方SD-WAN設備與阿里云對接,以便在第三方SD-WAN設備上做訪問控制策略確保本地IDC1和本地IDC2安全地接入阿里云。同時,企業希望阿里云和本地IDC之間可以實現路由的自動分發和學習,減少路由維護工作。
企業可以通過VPN連接將第三方SD-WAN設備直接連接至轉發路由器,本地IDC通過第三方SD-WAN設備和轉發路由器實現與VPC之間的通信。同時,在轉發路由器、第三方SD-WAN設備、本地IDC1、本地IDC2上均運行BGP動態路由協議,實現路由的自動分發和學習。
網絡規劃
網絡功能規劃
在一個獨立VPC中(本文指安全VPC)創建一個ECS(Elastic Compute Service)實例,通過在ECS實例中安裝第三方鏡像部署一個第三方SD-WAN設備。
本文通過在安全VPC的ECS實例中安裝FortiGate V6.2.4版本鏡像來部署一個第三方SD-WAN設備。
第三方SD-WAN設備和轉發路由器之間可以使用VPN連接進行直接連接,其中VPN連接為私網網關類型。
第三方SD-WAN設備和轉發路由器之間使用BGP動態路由協議傳播路由,實現路由的自動分發和學習。
第三方SD-WAN設備分別與本地IDC1和本地IDC2建立IPsec-VPN連接,將本地IDC1和本地IDC2接入阿里云。
第三方SD-WAN設備與本地IDC1、本地IDC2通過ADVPN(Auto Discovery VPN)功能建立全互聯的IPsec-VPN連接。關于ADVPN功能的更多信息,請參見Fortinet幫助文檔。
第三方SD-WAN設備與本地網關設備1和本地網關設備2均使用BGP動態路由協議,建立iBGP鄰居關系,實現路由的自動分發和學習。
本文中本地網關設備1和本地網關設備2均使用Fortinet設備,并安裝FortiGate V6.2.4版本鏡像。
網段規劃
在您規劃網段時,請確保要互通的網段之間沒有重疊。
表 1. 基礎網段規劃
資源 | 網段及IP地址 |
服務VPC1 |
|
服務VPC2 |
|
安全VPC |
|
本地IDC1 |
|
本地IDC2 |
|
表 2. BGP相關地址規劃
資源 | BGP AS號 | 本端BGP IP地址 | 對端BGP IP地址 |
第三方SD-WAN設備和轉發路由器之間的BGP配置 | |||
IPsec連接 | 65531 | 169.254.20.1 | 169.254.20.2 |
第三方SD-WAN設備 | 65534 | 169.254.20.2 | 169.254.20.1 |
第三方SD-WAN設備和本地IDC1之間的BGP配置 | |||
本地IDC1 | 65534 | 169.254.10.10 | 169.254.10.1 |
第三方SD-WAN設備 | 65534 | 169.254.10.1 | 169.254.10.10 |
第三方SD-WAN設備和本地IDC2之間的BGP配置 | |||
本地IDC2 | 65534 | 169.254.10.11 | 169.254.10.1 |
第三方SD-WAN設備 | 65534 | 169.254.10.1 | 169.254.10.11 |
準備工作
在開始配置前,請確保已完成以下操作:
您已經在華東2(上海)地域創建了服務VPC1和安全VPC,在華東1(杭州)地域創建了服務VPC2,并使用ECS部署了相關業務。具體操作,請參見搭建IPv4專有網絡。
對于服務VPC1和服務VPC2中的ECS實例,請根據您的業務需求部署相關應用。
對于安全VPC中的ECS實例,您需要在ECS實例中安裝第三方鏡像(本文安裝的為FortiGate V6.2.4版本鏡像),將其部署為第三方SD-WAN設備,并確保第三方SD-WAN設備擁有公網IP地址。您可以通過云市場在ECS實例中安裝第三方鏡像。更多信息,請參見使用云市場鏡像。
您已經創建了云企業網實例。具體操作,請參見創建云企業網實例。
配置流程
步驟一:創建轉發路由器實例
通過云企業網實現本地IDC和VPC相互通信前,您需要在華東2(上海)地域和華東1(杭州)地域分別創建一個轉發路由器實例,并為華東2(上海)地域的轉發路由器實例分配轉發路由器地址段,用于后續創建VPC連接和VPN連接。
- 登錄云企業網管理控制臺。
在云企業網實例頁面,選擇在準備工作中創建的云企業網實例,單擊云企業網實例ID。
在 頁簽,單擊創建轉發路由器。
在創建轉發路由器對話框,配置轉發路由器實例信息,然后單擊確認。
下表僅列舉本文強相關的配置項,其余配置項保持默認狀態。如果您需要了解更多信息,請參見轉發路由器地址段。
配置項
說明
華東2(上海)地域
華東1(杭州)地域
地域
選擇轉發路由器實例所屬的地域。
本文選擇華東2(上海)地域。
本文選擇華東1(杭州)地域。
版本
轉發路由器實例的版本。
系統自動判斷并顯示當前地域下轉發路由器實例的版本。
開通組播
選擇是否打開轉發路由器實例的組播功能。
本文保持默認值,即不打開組播功能。
名稱
輸入轉發路由器實例的名稱。
本文輸入TR-shanghai。
本文輸入TR-hangzhou。
TR地址段
輸入轉發路由器地址段。
轉發路由器地址段是您為轉發路由器自定義的一個地址段,該地址段類似為路由器環回口(Loopback接口)分配IP地址的地址段。轉發路由器地址段被用于為IPsec連接分配地址。更多信息,請參見轉發路由器地址段。
本文輸入10.10.10.0/24。
本文不輸入轉發路由器地址段。
步驟二:創建VPC連接
您需要將服務VPC1、安全VPC和服務VPC2連接至對應地域的轉發路由器實例中,以便本地IDC和VPC之間可以通過轉發路由器實例實現相互通信。
在云企業網實例頁面,選擇在準備工作中創建的云企業網實例,單擊云企業網實例ID。
在步驟一中創建的轉發路由器實例,在操作列單擊創建網絡實例連接。 頁簽,找到在
在連接網絡實例頁面,根據以下信息進行配置,然后單擊確定創建。
下表僅列舉本文強相關的配置項,其余配置項保持默認狀態。如果您想要了解更多信息,請參見創建VPC連接。
配置項
配置項說明
服務VPC1
安全VPC
服務VPC2
實例類型
選擇網絡實例類型。
本文選擇專有網絡(VPC)。
本文選擇專有網絡(VPC)。
本文選擇專有網絡(VPC)。
地域
選擇網絡實例所屬的地域。
本文選擇華東2(上海)。
本文選擇華東2(上海)。
本文選擇華東1(杭州)。
轉發路由器
系統自動顯示當前地域已創建的轉發路由器實例ID。
資源歸屬UID
選擇網絡實例所屬的阿里云賬號和當前登錄的賬號是否為同一個賬號。
本文選擇同賬號。
本文選擇同賬號。
本文選擇同賬號。
付費方式
VPC連接的付費方式。默認值為按量付費。關于轉發路由器的計費規則,請參見計費說明。
連接名稱
輸入VPC連接的名稱。
本文輸入服務VPC1連接。
本文輸入安全VPC連接。
本文輸入服務VPC2連接。
網絡實例
選擇網絡實例。
本文選擇服務VPC1。
本文選擇安全VPC。
本文選擇服務VPC2。
交換機
在轉發路由器支持的可用區選擇交換機實例。
如果企業版轉發路由器在當前地域僅支持一個可用區,則您需要在當前可用區選擇一個交換機實例。
如果企業版轉發路由器在當前地域支持多個可用區,則您需要在至少2個可用區中各選擇一個交換機實例。在VPC和企業版轉發路由器流量互通的過程中,這2個交換機實例可以實現可用區級別的容災。
推薦您在每個可用區中都選擇一個交換機實例,以減少流量繞行,體驗更低傳輸時延以及更高性能。
請確保選擇的每個交換機實例下擁有一個空閑的IP地址。如果VPC實例在轉發路由器支持的可用區中并沒有交換機實例或者交換機實例下沒有空閑的IP地址,您需要新建一個交換機實例。 具體操作,請參見創建和管理交換機。
本文在上海可用區F選擇交換機1,在上海可用區G選擇交換機2。
本文在上海可用區F選擇交換機1,在上海可用區G選擇交換機2。
本文在杭州可用區I選擇交換機1,在杭州可用區H選擇交換機2。
高級配置
選擇要開啟的高級配置。
本文保持默認配置,即選擇開啟所有高級配置。
本文保持默認配置,即選擇開啟所有高級配置。
本文保持默認配置,即選擇開啟所有高級配置。
步驟三:創建跨地域連接
同地域服務VPC1和安全VPC連接至轉發路由器實例后,可以直接相互通信。由于服務VPC1綁定的轉發路由器實例和服務VPC2綁定的轉發路由器實例位于不同的地域,服務VPC1與服務VPC2、安全VPC和服務VPC2之間默認無法通信。您需要在華東1(杭州)和華東2(上海)地域的轉發路由器實例之間創建跨地域連接,實現服務VPC1與服務VPC2、安全VPC和服務VPC2的跨地域互通。
在云企業網實例頁面,找到目標云企業網實例,單擊云企業網實例ID。
在
頁簽,單擊設置跨地域帶寬。在連接網絡實例頁面,根據以下信息配置跨地域連接,然后單擊確定創建。
請根據以下信息創建跨地域連接,其余配置項保持默認狀態。更多信息,請參見創建跨地域連接。
配置項
說明
實例類型
選擇跨地域連接。
地域
選擇要互通的地域。
本文選擇華東1(杭州)。
轉發路由器
系統自動顯示當前地域下轉發路由器的實例ID。
連接名稱
輸入跨地域連接的名稱。
本文輸入跨地域連接。
對端地域
選擇要互通的對端地域。
本文選擇華東2(上海)。
轉發路由器
系統自動顯示當前地域下轉發路由器的實例ID。
帶寬分配方式
跨地域連接支持以下帶寬分配方式:
從帶寬包分配:從已經購買的帶寬包中分配帶寬。
按流量付費:按照跨地域連接實際使用的流量計費。
本文選擇按流量付費。
帶寬
輸入跨地域連接的帶寬值。單位:Mbps。
默認鏈路類型
使用默認鏈路類型。
高級配置
保持默認配置,即選中全部高級配置選項。
步驟四:創建VPN連接
完成上述配置后,服務VPC1、服務VPC2和安全VPC之間已經可以相互通信,但是轉發路由器和安全VPC無法學習到本地IDC的路由。您需要在第三方SD-WAN設備與轉發路由器之間、第三方SD-WAN設備與本地IDC之間分別建立VPN連接,使第三方SD-WAN設備可以學習到本地IDC的路由,同時通過VPN連接將本地IDC的路由傳播至轉發路由器中。
登錄VPN網關管理控制臺。
創建用戶網關。
在第三方SD-WAN設備與轉發路由器之間建立VPN連接前,您需要先創建用戶網關,將第三方SD-WAN設備的信息注冊至阿里云上。
在左側導航欄,選擇 。
在頂部菜單欄,選擇用戶網關的地域。
選擇第三方SD-WAN設備所屬VPC所在的地域。本文選擇華東2(上海)。
在用戶網關頁面,單擊創建用戶網關。
在創建用戶網關面板,根據以下信息進行配置,然后單擊確定。
以下僅列舉本文強相關配置項,其余配置保持默認狀態。更多信息,請參見創建和管理用戶網關。
配置項
配置項說明
用戶網關
名稱
輸入用戶網關的名稱。
本文輸入Customer-Gateway。
IP地址
輸入第三方SD-WAN設備用于建立VPN連接的IP地址。
本文輸入第三方SD-WAN設備的私網IP地址172.16.0.15。
自治系統號
輸入第三方SD-WAN設備使用的BGP AS號。
本文輸入65534。
創建IPsec連接。
創建用戶網關后,您需要在阿里云側創建IPsec連接,轉發路由器將通過IPsec連接與第三方SD-WAN設備建立VPN連接。
在左側導航欄,選擇 。
在頂部菜單欄,選擇IPsec連接的地域。
IPsec連接的地域需和用戶網關的地域一致。本文選擇華東2(上海)。
在IPsec連接頁面,單擊創建IPsec連接。
在創建IPsec連接頁面,根據以下信息配置IPsec連接,然后單擊確定。
創建IPsec連接會產生計費,關于IPsec連接的計費說明,請參見計費說明。
配置項
配置項說明
IPsec連接
名稱
輸入IPsec連接的名稱。
本文輸入IPsec連接。
綁定資源
選擇IPsec連接綁定的資源類型。
本文選擇云企業網。
網關類型
選擇IPsec連接的網絡類型。
本文選擇私網。
安全VPC已被連接至轉發路由器,第三方SD-WAN設備可通過私網與轉發路由器建立VPN連接。
云企業網實例ID
選擇云企業網實例。
本文選擇在準備工作中已創建的云企業網實例。
轉發路由器
選擇IPsec連接待綁定的轉發路由器實例。
系統根據IPsec連接所在的地域自動選擇當前地域下的轉發路由器實例。
可用區
在轉發路由器支持的可用區中選擇部署IPsec連接的可用區。
本文選擇上海可用區F。
路由模式
選擇路由模式。
本文選擇目的路由模式。
立即生效
選擇IPsec連接的配置是否立即生效。取值:
是:配置完成后立即進行協商。
否:當有流量進入時進行協商。
本文選擇是。
用戶網關
選擇IPsec連接關聯的用戶網關。
本文選擇Customer-Gateway。
預共享密鑰
輸入IPsec連接的認證密鑰,用于本地網關設備和IPsec連接之間的身份認證。
密鑰長度為1~100個字符,支持數字、大小寫英文字母及右側字符
~`!@#$%^&*()_-+={}[]\|;:',.<>/?
,不能包含空格。若您未指定預共享密鑰,系統會隨機生成一個16位的字符串作為預共享密鑰。創建IPsec連接后,您可以通過編輯按鈕查看系統生成的預共享密鑰。具體操作,請參見修改IPsec連接。
重要IPsec連接及其對端網關設備配置的預共享密鑰需一致,否則系統無法正常建立IPsec-VPN連接。
本文輸入fddsFF123****。
啟用BGP
選擇是否開啟BGP功能。BGP功能默認為關閉狀態。
本文開啟BGP功能。
本端自治系統號
輸入IPsec連接的自治系統號。默認值:45104。自治系統號取值范圍:1~4294967295。
本文輸入65531。
加密配置
添加IKE配置、IPsec配置等加密配置。
除以下參數外,其余配置項保持默認值。
IKE配置的加密算法選擇des。
IPsec配置的加密算法選擇des。
說明您需要根據本地網關設備的支持情況選擇加密配置參數,確保IPsec連接和本地網關設備的加密配置保持一致。
BGP配置
隧道網段
輸入建立加密隧道時使用的網段。
該網段應是一個在169.254.0.0/16網段內,掩碼長度為30的網段。
隧道網段需要是在169.254.0.0/16內的子網掩碼為30的網段,且不能是169.254.0.0/30、169.254.1.0/30、169.254.2.0/30、169.254.3.0/30、169.254.4.0/30、169.254.5.0/30和169.254.169.252/30。
本文輸入169.254.20.0/30。
本端BGP地址
輸入IPsec連接的BGP IP地址。
該地址為隧道網段內的一個IP地址。
本文輸入169.254.20.1。
高級配置
選擇是否為IPsec連接開啟高級配置。
本文保持默認值,即開啟所有高級配置。
IPsec連接創建成功后,系統將自動為每個IPsec連接分配一個網關IP地址,用于IPsec連接和第三方SD-WAN設備之間建立VPN連接。您可以在IPsec連接詳情頁面查看網關IP地址,如下圖所示。
說明IPsec連接只有綁定轉發路由器實例后系統才會為其分配網關IP地址。如果在您創建IPsec連接時,IPsec連接的綁定資源類型為不綁定或者為VPN網關,則系統并不會為其分配網關IP地址。
私網類型的IPsec連接綁定轉發路由器實例后,系統自動將IPsec連接的網關IP地址發布至轉發路由器的路由表中。
下載IPsec連接對端的配置。
返回到IPsec連接頁面,找到剛剛創建的IPsec連接,在操作列單擊生成對端配置。
在第三方SD-WAN設備中添加VPN配置和BGP配置。
創建IPsec連接后,請根據已下載的IPsec連接對端配置信息以及下述步驟,在第三方SD-WAN設備中添加VPN配置和BGP配置,以便第三方SD-WAN設備和轉發路由器之間建立VPN連接。
說明本文以FortiGate防火墻(軟件版本V6.2.4)作為配置示例。不同軟件版本的配置命令可能會有所差異,操作時請根據您的實際環境查詢對應文檔或咨詢相關廠商。更多本地網關設備配置示例,請參見本地網關設備配置示例。
以下內容包含的第三方產品信息僅供參考。阿里云對第三方產品的性能、可靠性以及操作可能帶來的潛在影響,不做任何暗示或其他形式的承諾。
登錄第三方SD-WAN設備命令行配置界面。
為第三方SD-WAN設備添加IPsec-VPN第一階段配置(IKE配置)。
#為隧道1添加IPsec-VPN第一階段配置 config vpn ipsec phase1-interface edit "to_aliyun_test1" set interface "port1" #使用“port1”與轉發路由器建立VPN連接。 set ike-version 2 set peertype any set net-device disable set proposal des-sha1 #配置一階段加密算法和認證算法,需和IPsec連接側一階段配置(IKE配置)保持一致 set localid-type address #指定localid的格式為IP地址格式,與阿里云IPsec連接RemoteId的格式保持一致。 set dhgrp 2 #配置一階段DH分組,需和IPsec連接側一階段配置(IKE配置)保持一致 set remote-gw 192.168.168.1 #指定第三方SD-WAN設備對端的IP地址,為IPsec連接的網關IP地址 set psksecret fddsFF123**** #指定隧道的預共享密鑰,阿里云IPsec連接側和第三方SD-WAN設備側需保持一致。 next end
為第三方SD-WAN設備添加IPsec-VPN第二階段配置(IPsec配置)。
#為隧道添加IPsec-VPN第二階段配置 config vpn ipsec phase2-interface edit "to_aliyun_test1" set phase1name "to_aliyun_test1" #關聯隧道的phase1-interface。 set proposal des-sha1 #配置二階段加密算法和認證算法,需和IPsec連接側二階段配置(IPsec配置)保持一致 set dhgrp 2 #配置二階段DH分組,需和IPsec連接側二階段配置(IPsec配置)保持一致 set auto-negotiate enable set keylifeseconds 86400 #配置SA生存周期 next end
為隧道接口配置BGP IP地址。
config system interface edit "to_aliyun_test1" set ip 169.254.20.2 255.255.255.255 #配置隧道接口的BGP IP地址 set type tunnel #指定隧道接口類型 set remote-ip 169.254.20.1 255.255.255.255 #指定隧道對端的BGP IP地址 set interface "port1" #指定隧道關聯的物理接口為"port1" next end
配置防火墻策略。
config firewall policy edit 1 set name "forti_to_aliyun1" #配置從第三方SD-WAN設備去往阿里云方向的安全策略 set srcintf "port1" #源接口為"port1" set dstintf "to_aliyun_test1" #目的接口為VPN連接隧道接口 set srcaddr "all" #匹配所有源網段的流量 set dstaddr "all" #匹配所有目的網段的流量 set action accept #允許流量通行 set schedule "always" set service "ALL" next edit 2 set name "aliyun_to_forti1" #配置從阿里云去往第三方SD-WAN設備方向的安全策略 set srcintf "to_aliyun_test1" #源接口為VPN連接隧道接口 set dstintf "port1" #目的接口為"port1" set srcaddr "all" #匹配所有源網段的流量 set dstaddr "all" #匹配所有目的網段的流量 set action accept #允許流量通行 set schedule "always" set service "ALL" next end
配置BGP動態路由。
config router bgp set as 65534 set router-id 172.16.0.15 config neighbor edit "169.254.20.1" #指定隧道的對端BGP鄰居。 set remote-as 65531 next end config network edit 1 set prefix 172.16.0.0 255.255.0.0 #宣告安全VPC中需要與其他網絡互通的網段。 next end end
步驟五:配置本地網關設備
您需要在本地網關設備1、本地網關設備2、第三方SD-WAN設備上分配添加VPN和BGP配置,使本地IDC1、本地IDC2、第三方SD-WAN設備之間互相建立IPsec-VPN連接,實現本地IDC1、本地IDC2和阿里云VPC互通、本地IDC1和本地IDC2互通。
第三方SD-WAN設備與本地IDC1、本地IDC2通過ADVPN(Auto Discovery VPN)功能建立全互聯的IPsec-VPN連接。關于ADVPN功能的更多信息,請參見Fortinet幫助文檔。
本文以FortiGate防火墻(軟件版本V6.2.4)作為配置示例。不同軟件版本的配置命令可能會有所差異,操作時請根據您的實際環境查詢對應文檔或咨詢相關廠商。更多本地網關設備配置示例,請參見本地網關設備配置示例。
第三方SD-WAN設備配置示例
請確保第三方SD-WAN設備的UDP 500以及5000端口允許本地網關設備1和本地網關設備2的公網地址訪問。具體操作,請參見添加安全組規則。
登錄第三方SD-WAN設備的命令行配置界面。
執行以下命令,添加IPsec-VPN連接一階段配置。
config vpn ipsec phase1-interface edit "HUB" #第三方SD-WAN設備作為Hub節點 set type dynamic set interface "port1" #使用“port1”與本地IDC建立IPsec-VPN連接 set ike-version 2 #使用IKE v2版本 set peertype any set net-device disable #關閉本功能 set proposal des-sha1 #配置一階段加密算法和認證算法 set add-route disable #關閉自動添加路由的功能 set dpd on-idle set wizard-type hub-fortigate-auto-discovery set auto-discovery-sender enable #在Hub節點開啟本功能,以便接收與發送Spoke之間的直連隧道互聯信息。 set network-overlay enable set network-id 1 set psksecret fddsFF456**** #配置預共享密鑰 set dpd-retryinterval 60 next end
執行以下命令,添加IPsec-VPN連接二階段配置。
config vpn ipsec phase2-interface edit "HUB" set phase1name "HUB" set proposal des-sha1 #配置二階段加密算法和認證算法 next end
執行以下命令,配置IPsec-VPN隧道IP地址。
config system interface edit "HUB" set vdom "root" set ip 169.254.10.1 255.255.255.255 #配置隧道IP地址 set allowaccess ping set type tunnel #指定隧道接口類型 set remote-ip 169.254.10.254 255.255.255.0 #配置隧道對端IP地址 set interface "port1" #指定隧道關聯的物理接口為"port1" next end
重要169.254.10.254是不被Spoke節點所使用的預留IP地址,IPsec-VPN隧道是一個點對點的隧道,但是ADVPN中這條隧道需要同時對應多個Spoke節點,因此不能將remote-ip寫成一個存在的Spoke節點的IP地址。
執行以下命令,在第三方SD-WAN設備上配置安全策略,允許本地IDC之間、本地IDC與阿里云互相訪問。
config firewall policy edit 7 set name "HUB_to_SPOKE" set srcintf "port1" "HUB" "to_aliyun_test1" #源接口為"port1" 、"HUB"、"to_aliyun_test1" set dstintf "HUB" "port1" "to_aliyun_test1" #目的接口為"port1" 、"HUB"、"to_aliyun_test1" set action accept #允許流量通行 set srcaddr "all" #匹配所有源網段的流量 set dstaddr "all" #匹配所有目的網段的流量 set schedule "always" set service "ALL" next end
執行以下命令,添加BGP配置。
config router bgp set as 65534 #指定第三方SD-WAN設備的BGP AS號為65534 config neighbor-group #啟用neighbor-group屬性 edit "HUB_group" set next-hop-self enable set remote-as 65534 #指定對端的BGP AS號 set additional-path send set route-reflector-client enable #開啟路由反射功能,指定第三方SD-WAN設備為路由反射器 next end config neighbor-range edit 1 set prefix 169.254.10.0 255.255.255.0 #只要匹配前綴列表169.254.10.0/24的BGP鄰居均可以和Hub節點建立iBGP鄰居關系。 set neighbor-group "HUB_group" next end end
本地網關設備1配置示例
登錄本地網關設備1的命令行配置界面。
添加默認路由,確保本地網關設備1可以訪問第三方SD-WAN設備公網IP地址。
#本文場景中port1接口映射公網IP地址121.XX.XX.211,因此配置默認路由指向port1網關。 config router static edit 1 set device "port1" set distance 5 set gateway 192.168.100.253 next end #您可以通過以下命令查看路由信息。 FortiGate-VM64-KVM # get router info routing-table all S* 0.0.0.0/0 [5/0] via 192.168.100.253, port1
執行以下命令,添加IPsec-VPN連接一階段配置。
config vpn ipsec phase1-interface edit "hz_sp" set interface "port1" #使用"port1"接口與第三方SD-WAN設備建立IPsec-VPN連接 set ike-version 2 #使用IKE v2版本 set peertype any set net-device disable #關閉該功能 set proposal des-sha1 #配置一階段加密算法和認證算法 set localid "hzoffice1" set dpd on-idle set wizard-type spoke-fortigate-auto-discovery set auto-discovery-receiver enable #在Spoke節點開啟本功能,以便接收Hub節點發送的直連隧道信息。 set network-overlay enable set network-id 1 set remote-gw 42.XX.XX.129 #指定Hub節點的公網IP地址 set psksecret fddsFF456**** #配置預共享密鑰,需和Hub節點保持一致 set add-route disable #關閉自動添加路由的功能 next end
執行以下命令,添加IPsec-VPN連接二階段配置。
config vpn ipsec phase2-interface edit "hz_sp" set phase1name "hz_sp" set proposal des-sha1 #配置二階段加密算法和認證算法 set auto-negotiate enable #開啟自動協商 next end
執行以下命令,配置IPsec-VPN隧道IP地址。
config system interface edit "hz_sp" set vdom "root" set ip 169.254.10.10 255.255.255.255 #配置隧道IP地址 set allowaccess ping set type tunnel #指定隧道接口類型 set remote-ip 169.254.10.254 255.255.255.0 #配置隧道對端IP地址 set interface "port1" #指定隧道關聯的物理接口為"port1" next end config system interface #新建loopback接口,用于模擬本地IDC1中的客戶端。 edit "loopback" set vdom "root" set ip 192.168.254.100 255.255.255.0 set allowaccess ping set type loopback next end
執行以下命令,在本地網關設備1上配置安全策略,允許本地IDC之間、本地IDC與阿里云互相訪問。
config firewall policy edit 3 set name "hz_sp_remote" #配置去往本地IDC1方向的安全策略 set srcintf "hz_sp" "loopback" "port1" #源接口為"port1" 、"hz_sp"、"loopback" set dstintf "loopback" "hz_sp" "port1" #目的接口為"port1" 、"hz_sp"、"loopback" set action accept #允許流量通行 set srcaddr "all" #匹配所有源網段的流量 set dstaddr "all" #匹配所有目的網段的流量 set schedule "always" set service "ALL" next end
執行以下命令,添加BGP配置。
config router bgp set as 65534 #指定本地網關設備1的BGP AS號 set network-import-check disable #關閉發布路由的檢查 config neighbor edit "169.254.10.1" #與第三方SD-WAN設備建立iBGP鄰居關系 set remote-as 65534 #指定第三方SD-WAN設備的BGP AS號 set additional-path receive next end config network edit 1 set prefix 192.168.254.100 255.255.255.255 #宣告本地IDC1中客戶端的地址,用于與VPC、本地IDC2互通 next end end
本地網關設備2配置示例
登錄本地網關設備2的命令行配置界面。
添加默認路由,確保本地網關設備1可以訪問第三方SD-WAN設備公網IP地址。
#本文場景中port1接口映射公網IP地址121.XX.XX.78,因此配置默認路由指向port1網關。 config router static edit 1 set device "port1" set distance 5 set gateway 192.168.99.253 next end #您可以通過以下命令查看路由信息。 FortiGate-VM64-KVM # get router info routing-table all S* 0.0.0.0/0 [5/0] via 192.168.99.253, port1
執行以下命令,配置IPsec-VPN一階段參數:
config vpn ipsec phase1-interface edit "hz_sp1" set interface "port1" #使用"port1"接口與第三方SD-WAN設備建立IPsec-VPN連接 set ike-version 2 #使用IKE v2版本 set peertype any set net-device disable #關閉該功能 set proposal des-sha1 #配置一階段加密算法和認證算法 set localid "hzoffice2" set dpd on-idle set wizard-type spoke-fortigate-auto-discovery set auto-discovery-receiver enable #在Spoke節點開啟本功能,以便接收Hub節點發送的直連隧道信息。 set network-overlay enable set network-id 1 set remote-gw 42.XX.XX.129 #指定Hub節點的公網IP地址 set psksecret fddsFF456**** #配置預共享密鑰,需和Hub節點保持一致 set add-route disable #關閉自動添加路由的功能 next end
執行以下命令,配置IPsec-VPN二階段參數。
config vpn ipsec phase2-interface edit "hz_sp1" set phase1name "hz_sp1" set proposal des-sha1 #配置二階段加密算法和認證算法 set auto-negotiate enable #開啟自動協商 next end
執行以下命令,配置IPsec-VPN隧道IP地址。
config system interface edit "hz_sp1" set vdom "root" set ip 169.254.10.11 255.255.255.255 #配置隧道IP地址 set allowaccess ping set type tunnel #指定隧道接口類型 set remote-ip 169.254.10.254 255.255.255.0 #配置隧道對端IP地址 set interface "port1" #指定隧道關聯的物理接口為"port1" next end config system interface #新建loopback接口,用于模擬本地IDC2中的客戶端。 edit "loopback" set vdom "root" set ip 192.168.100.104 255.255.255.0 set allowaccess ping set type loopback end
執行以下命令,在本地網關設備2上配置安全策略,允許本地IDC之間、本地IDC與阿里云互相訪問。
config firewall policy edit 3 set name "hz_sp1_remote" #配置去往本地IDC2方向的安全策略 set srcintf "hz_sp1" "loopback" "port1" #源接口為"port1" 、"hz_sp1"、"loopback" set dstintf "loopback" "hz_sp1" "port1" #目的接口"port1" 、"hz_sp1"、"loopback" set action accept #允許流量通行 set srcaddr "all" #匹配所有源網段的流量 set dstaddr "all" #匹配所有目的網段的流量 set schedule "always" set service "ALL" next end
執行以下命令,添加BGP配置。
config router bgp set as 65534 #指定本地網關設備2的BGP AS號 set network-import-check disable #關閉發布路由的檢查 config neighbor edit "169.254.10.1" #與第三方SD-WAN設備建立iBGP鄰居關系 set remote-as 65534 #指定第三方SD-WAN設備的BGP AS號 set additional-path receive next end config network edit 1 set prefix 192.168.254.104 255.255.255.255 #宣告本地IDC2中的客戶端,用于與VPC、本地IDC1互通 next end end
步驟六:測試連通性
完成上述配置后,本地IDC和VPC之間已經可以實現互相通信。以下內容介紹如何測試各個站點之間的網絡連通性。
測試本地IDC1與服務VPC1、服務VPC2、本地IDC2的連通性。
登錄本地IDC1下客戶端的命令行界面。
在客戶端中執行ping命令,嘗試訪問服務VPC1下的ECS1、服務VPC2下的ECS1和本地IDC2下的客戶端。
如上圖所示,如果本地IDC1下的客戶端可以收到響應報文,則表示本地IDC1可以成功訪問服務VPC1、服務VPC2和本地IDC2下的資源。
測試本地IDC2與服務VPC1、服務VPC2、本地IDC1的連通性。
登錄本地IDC2下客戶端的命令行界面。
在客戶端中執行ping命令,嘗試訪問服務VPC1下的ECS1、服務VPC2下的ECS1和本地IDC1下的客戶端。
如上圖所示,如果本地IDC2下的客戶端可以收到響應報文,則表示本地IDC2可以成功訪問服務VPC1、服務VPC2和本地IDC1下的資源。
測試服務VPC1與本地IDC1、本地IDC2的連通性。
登錄服務VPC1下的ECS1實例。具體操作,請參見ECS遠程連接操作指南。
在ECS1實例中執行ping命令,嘗試訪問本地IDC1和本地IDC2下的客戶端。
ping <本地IDC客戶端的IP地址>
如上圖所示,如果ECS1實例可以收到響應報文,則表示服務VPC1可以成功訪問本地IDC1和本地IDC2下的資源。
測試服務VPC2與本地IDC1、本地IDC2的連通性。
登錄服務VPC2下的ECS1實例。具體操作,請參見ECS遠程連接操作指南。
在ECS1實例中執行ping命令,嘗試訪問本地IDC1和本地IDC2下的客戶端。
ping <本地IDC客戶端的IP地址>
如上圖所示,如果ECS1實例可以收到響應報文,則表示服務VPC2可以成功訪問本地IDC1和本地IDC2下的資源。
測試服務VPC1和服務VPC2之間的連通性。
登錄服務VPC1下的ECS1實例。具體操作,請參見ECS遠程連接操作指南。
在ECS1實例中執行ping命令,嘗試訪問服務VPC2下的ECS1實例。
ping <ECS實例的IP地址>
如上圖所示,如果服務VPC1下的ECS1實例可以收到響應報文,則表示服務VPC1可以成功訪問服務VPC2下的資源。
登錄服務VPC2下的ECS1實例。具體操作,請參見ECS遠程連接操作指南。
在ECS1實例中執行ping命令,嘗試訪問服務VPC1下的ECS1實例。
ping <ECS實例的IP地址>
如上圖所示,如果服務VPC2下的ECS1實例可以收到響應報文,則表示服務VPC2可以成功訪問服務VPC1下的資源。