VPN相關


MPLS + Internet IPSEC SDWAN 設定

設計概念 :

    HQ透過MPLS連線到各分點,同時針對某些較重要的分點透過MPLS+Internet 建立雙線備援,以防網路連線中斷。

一、概念架構圖。

image.png

二、先設定好 MPLSInternet Interface與路由。

HQ Interface設定:

image.png

image.png

HQ 路由:

image.png

image.png

Internet Interface與路由請比照MPLS設定,DR端亦然

至於到其他分點的路由就照常設定MPLS的Static Route即可

三、設定MPLSInternetDRIPSEC VPN,使用自定義模式。

    以下僅用MPLS IPSEC示範,Internet IPSEC請自行比照設定

image.png

image.png

image.png

兩條IPSEC建立好之後如下圖

image.png

五、至InterfaceVPN介面設定IP,兩邊的設備互相設

image.png

image.png

FortiOS 7.0版會出現錯誤,使用CLI設定

image.png

image.png

注意 !! 此處設定IPSEC VPN Interface的 IP是用來作路由使用,上圖為HQ端設定,DR端請自行比照設定

以此範例為例

HQ Internet IPSEC VPN Interface 為 10.1.1.14、DR Internet IPSEC VPN Interface 為 10.1.1.13

HQ MPLS IPSEC VPN Interface 為 10.1.1.10、DR MPLS IPSEC VPN Interface 為 10.1.1.9

六、建立SDWAN Zone,將兩個IPSEC VPN Interface加進去Member

    完成HQ與DR的上述設定後並加完之後應該就可以正常將IPSECVPN Turnnel帶起來,此時互Ping對方的IPSEC VPN Interface IP應該就要會通了。

image.png

image.png

image.png

七、設定SDWAN Rule

    下圖為HQ端SDWAN Rule,DR端請自行比照設定

image.png

八、設定Firewall PolicyStatic Route

image.png

image.png

image.png

image.png

image.png

    設定完成後Ping DR LAN Interface應該就要會通了。

image.png

注意 !! 一樣HQ、DR都要設定,否則也不會通

九、設定SDWAN線路偵測機制,互相指對方的LAN Interface即可。

    透過兩條線路去跟對方的LAN Interface作Health Check,如果Check異常則將線路直接下線,用以確保資料傳輸的正確性。

image.png

Fortigate PPPOE IPSEC ADVPN 實作

參考資料

https://docs.fortinet.com/document/fortigate/7.4.4/administration-guide/853412/ipsec-vpn-wizard-hub-and-spoke-advpn-support

前言

利用Fortigate來建立 Site to Site IPSEC VPN不是難事,IPSEC的前提必需兩個Site都有固定IP,但是如果某間企業門市眾多,為了經費考量想利用便宜的家用型PPPOE VDSL來佈建分點,又想要透過統一的企業上網出口來作資安控管,在Fortigate上也有支援這種Solution稱為ADVPN (Auto-Discover VPN)

同時上次帶大家實做了Fortigate IPSEC+iBGP,我有提到過到過其實企業內部使用iBGP的機率很低,大多是都是走OSPF居多,但是在ADVPN下預設就是走BGP,此篇實做帶大家看看ADVPN怎麼搞。

環境說明

圖片.png

設計概念: SiteA (HQ)有固定IP,其餘分點 SiteBSiteC 皆使用PPPOE,同時由於資訊安全控管的原則希望能Internet流量統一由同一個Gateway進出。

Firmware Ver. :  Fortigate-VM 7.0.15


WAN IP
LAN Subnets
WAN IPSEC IP
SiteA

WAN1  10.1.1.1

Gateway 10.1.1.254

192.168.11.254/24

192.168.12.254/24

192.168.13.254/24

172.17.1.1

SiteB

WAN1  PPPOE

(以DHCP模擬)

192.168.21.254/24

172.17.1.2

SiteC

WAN1  PPPOE

(以DHCP模擬)

192.168.31.254/24

172.17.1.3

Hub設定過程

SiteA設定Interface

首先我們先將SiteA的WAN1、Local Subnets 192.168.11.254/24、192.168.12.254/24、192.168.13.254/24設定好。

圖片.png

為了後續設定方便,我將三個Subnets綁成一個Zone,並且允許Interface之間互相溝通。

圖片.png

圖片.png

設定SiteA上網

新增一筆 Static Route 0.0.0.0/0 進到 Default SD-WAN Zone

圖片.png

圖片.png

圖片.png

將 WAN1 加入 Default SD-WAN Zone 的 Member,並設定Gateway

圖片.png

圖片.png

圖片.png

建立 SiteA IPSEC ADVPN HUB

至 VPN 建立 IPSEC Tunnel

圖片.png

選擇 Hub-and-Spoke,角色選擇 Hub

圖片.png

Interface選擇剛剛設定好的WAN1,指定一個Pre-shared Key

圖片.png

本地IP設為 172.17.1.1,Remote IP 隨便打,我選擇設為 172.17.1.254/24

圖片.png

本地端AS我設為1024、本地端介面選擇上面建好的Zone、鍵入Local Subnets、Spoke Type 選擇 Range,指定Spoke 的 IP Range,並建立一個Spoke Neighbor Group。

圖片.png

Neighbor Group Remote AS也設為1024、Activate IPv4,勾選 Route Reflector Client。

圖片.png

圖片.png

Wizzard建立完成

圖片.png

圖片.png

回到Interface,將ADVPN Interface 的 Ping 打開

圖片.png

圖片.png

由於在這個情境下,ADVPN Full Mesh 是無法使用的,所以我們輸入下面指令來關閉自動建立 Spoke 之間IPSEC的功能。

config vpn ipsec phase1-interface
edit ADVPN
set auto-discovery-sender disable
end

圖片.png

設定BGP

設定SiteA的Router ID,記得要Apply !!   (鍵人我不知道忘了多少次 ...... Again ...... )

圖片.png

設定Firewall Policy

Wizzard會幫我們建立兩條Policy,但我們還需要更多

圖片.png

建立 SiteA LAN => ADVPN,不做NAT

圖片.png

建立 ADVPN => SD-WAN 上網用,要做NAT

圖片.png

建立 SiteA LAN => SD-WAN 上網用,要做NAT

圖片.png

SiteA 設定至此大功告成

圖片.png

Spoke設定過程

SiteB設定Interface

一樣,先設定好SiteB的Interface

圖片.png

WAN的部分,我用DHCP來模擬PPPOE,可以看到自動取得了IP & Gateway

圖片.png

建立 SiteB IPSEC ADVPN Spoke

至 VPN 建立 IPSEC Tunnel

圖片.png

這一次我們選擇建立Spoke

圖片.png

鍵入SiteA的WAN IP、Pre-shared Key

圖片.png

設定Local IPSEC IP、Remote IP設為SiteA的 IPSEC IP 172.17.1.1/24

圖片.png

設定Local AS、Local Interface、Local Subnets。

圖片.png

Wizzard建立完成

圖片.png

圖片.png

回到Interface,一樣將ADVPN Interface 的 Ping 打開,我就不贅述了。

圖片.png

設定BGP

設定SiteB的Router ID、Neighbors設定 SiteA 的IPSEC IP 

圖片.png

Update Source 選擇 ADVPN

圖片.png

記得要Apply !!

圖片.png

其實這個時候IPSEC應該已經起來了

圖片.png

確認BGP狀態良好,SiteA的路由有同步過來

get router info bgp summary
get router info bgp network

圖片.png

確認Firewall Policy

Wizzard都幫我們建好了,這樣足矣

圖片.png

設定Static Route

所以大功告成了 (?)
不不不,路由在這裡才是整篇的關鍵,我們看一下下圖

Default Route 0.0.0.0/0 是往WAN1 Gateway設,但其實我們並沒有設定任何的路由,這個路由是由 PPPOE / DHCP自動派發的

get router info routing-table all

圖片.png

如果依照這種設定,Internet流量會走WAN1出去而不是回到SiteA走SD-WAN,所以在這邊我們要變更一下路由設定

從 WAN Interface 可知,PPPOE / DHCP 預設的 Distance 是 5

圖片.png

所以在這邊我們要新增兩筆路由

圖片.png

1. 往 SiteA WAN IP 走 WAN1 的 Dynamic Gateway,Distance 一樣設為 5

圖片.png

2. Default Route 0.0.0.0/0改走 ADVPN,Distance 必須設定比 PPPOE / DHCP 小才會優先走,在此我們設為 1。

圖片.png

圖片.png

設定完再看一次路由

圖片.png

SiteB到此設定就大功告成了

建立 SiteC IPSEC ADVPN Spoke

比照SiteB步驟建立,不贅述

狀態確認

IPSEC狀態

回到SiteA,確認ADVPN都有自動連上來了

圖片.png

圖片.png

BGP 狀態

get router info bgp summary
get router info bgp network

SiteA

圖片.png

SiteB

圖片.png

SiteC

圖片.png

路由狀態

SiteA

圖片.png

SiteB

圖片.png

SiteC

圖片.png

連線測試

圖片.png

我在 SiteC 放了一台PC,Ping SiteB LAN Interface OK、Ping Internet OK

圖片.png

Traceroute SiteB Interface,透過SiteA過去 OK

圖片.png

Traceroute Internet,透過SiteA過去 OK

圖片.png

結語

由於中華電信的PPPOE在未申請固定IP的狀況下每72小時更換一次IP,在IP可能不斷變動的狀況下,各分點透過 PPPOE 網路與 HQ IPSEC ADVPN 介接,透過iBGP自動交換路由,並統一由HQ出Internet以利於政策與資安控管,透過這種架構大幅降低了設定的複雜度,同時減少了企業建置VPN的線路成本,是很實用的一種應用提供給大家參考。