Fortigate（その３：SD-WAN）

# SD-WAN
その３はSD-WANの基本を扱う。

## ネットワーク
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/1a941b1c-9512-95a9-db46-0962f3a4bbc3.png)

Fortigate間に2つのWAN回線があり、PC1が属する左側のネットワーク（192.168.10.0/24）とPC2が属する右側のネットワーク（192.168.20.0/24）とが通信を行う。状況によりWAN回線の自動切り替えを行うのがSD-WANである（例：回線断）。

## 設定
左側のFortigate-1の設定のみ記載。

### WAN（ネットワークインターフェース）
![NetworkInterface0.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/bb89de79-be7f-d8b9-27e0-f34cf8d8b766.png)
ここはほぼ自明。

### IPsec VPN
テンプレートを用いて作成すると、作成したVPNトンネルをSD-WANに登録できなくなるため、「カスタム」を選択して作成する。トンネル名称は、WANごとに"vpn1"(10.1.1.0/24)と"vpn2"(10.1.2.0/24)としている。

![vpn1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/ef09a806-e2cb-a8a2-e109-c083008e73bb.png)

リモートゲートウェイとして、対向FortigateのIPアドレスを指定。

![vpn2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/7ba9457d-2351-65a3-8223-8a8c80742e35.png)

事前認証鍵を指定。

![vpn3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/55d241b0-dec3-0cc2-5fe5-edaa30a55f13.png)

VPNトンネル（IPsec）対象となるネットワーク（192.168.10.0/24, 192.168.20.0/24）を指定。

![vpn5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/08a49231-59b5-e9c7-4669-712b23c14020.png)

オートネゴシエーション選択。

![vpn6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/e7ae4e8f-8b85-1f85-9233-7158c78812ed.png)

IPsecトンネル確立後の状況は下記となる。

![vpnList.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/8f33909d-a6c1-718d-5f03-b86cd216fc9a.png)

確立のWANの状況は下記。

![wanList2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/9f6eb9e2-d050-cddc-791f-af9167345ef7.png)

### SD-WAN
SD-WANゾーン作成。

![sdwan1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/8419b3a6-ac30-4047-a4fd-4d1ab0f3686f.png)

作成したゾーンに対して、VPNトンネル"vpn1"をメンバーに登録("vpn2"も同様)。

![sdwan3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/12fd2f48-7075-96f3-da1e-fc07c5123b96.png)

GUIでは設定できない内容あり。作成したSD-WANメンバーのソースIPアドレスをCLIにて指定する。

```
FG1 # config system sdwan

FG1 (sdwan) # config members

FG1 (members) # show
config members
    edit 1
        set interface "vpn1"
        set zone "SDWAN"
    next
    edit 2
        set interface "vpn2"
        set zone "SDWAN"
    next
end

FG1 (members) # edit 1

FG1 (1) # set source 192.168.10.1

FG1 (1) # next

FG1 (members) # edit 2

FG1 (2) # set source 192.168.10.1

FG1 (2) # next

FG1 (members) # show
config members
    edit 1
        set interface "vpn1"
        set zone "SDWAN"
        set source 192.168.10.1
    next
    edit 2
        set interface "vpn2"
        set zone "SDWAN"
        set source 192.168.10.1
    next
end

FG1 (members) #
```

"set source"にて指定する。

次に、SLA設定。対向Fortigateに接続されるネットワークのGatewayアドレス（192.168.20.1）をpingの対象とする。

![sdwan6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/e53853de-620e-091a-f4ab-0279f17b3fa4.png)

ルール設定。対象アドレスを"all"、プロトコルを"any"とする。

![sdwan8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/7a291a52-65fc-6201-3f3d-ce2804f48585.png)

ルール設定続き。戦略を適切に選択、インターフェースとして、VPNトンネル、ゾーン、SLAターゲットを指定する。

![sdwan9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/cb65ad3e-660a-2aba-bf42-a7b7ad6aa34b.png)

### Static Route
左側から見て、右側のネットワーク（トンネルの先）である"192.168.20.0/24"へのルートとして、作成したSDWANを指定する。

![staticroute1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/20518901-24f6-0bc1-bea2-dd4373dda72f.png)

調べると、ブラックホールも指定すべきらしい。

![staticroute3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/cccf06a2-aa0d-606f-3838-88be0b06aee0.png)

最終的には下記となる。

![staticroute4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/54a8447d-8a72-f086-0fd1-65356b0fdbfb.png)

### Firewall
Fortigate内外（WAN-LAN間）を通信させるためのFirewall設定が必要となる。ここでは作成したSDWANとInternalとの疎通を設定（発着信インターフェースに指定）。

![Firewall1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/337cad48-5a94-10d0-95f8-a7b7951ca234.png)

送信先及び宛先ネットワークを新規に作成。ここでは、LAN20(192.168.20.0/24)、LAN10(192.168.10.0/24)を作成する。

![Firewall2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/96ad955c-76ba-6193-164f-caa56d3a0ba4.png)

見えていないが、"NAT"は無効化するようだ。

![Firewall6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/4862e1ff-bfe6-13d9-5647-c2333e8c2b6a.png)

最終的には下記となる。

![Firewall7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/3636ca17-0195-296d-9053-ef07a3fca6af.png)

## 検証
まず、SD-WAN構築後の状況は下記。

![sdwanList.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/53192395-863a-80d1-f40b-0336ea33a500.png)

PC1-PC2間にてpingの疎通を確認するのみ。Fortigate間はESPパケットとなってしまうので省略。Fortigate-1のルーティングテーブルは下記となる。

```
FG1 # get route info routing-table all
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       V - BGP VPNv4
       * - candidate default

Routing table for VRF=0
C       10.1.1.0/24 is directly connected, wan1
C       10.1.2.0/24 is directly connected, wan2
C       192.168.10.0/24 is directly connected, internal
S       192.168.20.0/24 [1/0] via vpn1 tunnel 10.1.1.2, [1/0]
                        [1/0] via vpn2 tunnel 10.1.2.2, [1/0]
```

対向Fortigate-2のLAN側ネットワークである192.168.20.0/24へのルートがvpn1,vpn2経由であることが見える。

## 参考URL
英語だが、参考にしたURLを下記。
- [Technical Tip: Configure IPsec VPN with SD-WAN](https://community.fortinet.com/t5/FortiGate/Technical-Tip-Configure-IPsec-VPN-with-SD-WAN/ta-p/209840)
- [Fortigate SDWAN With VPN](https://essgeelabs.com/posts/fortigate-sdwan-with-vpn/)
- [Step-By-Step Guide: Configuring IPsec Over SD-WAN on FortiGate and Unveiling Its Benefits](https://dzone.com/articles/ipsec-over-sdwan)
- [FortiGate SDWAN with IPsec VPN](https://www.youtube.com/watch?v=mIxKCBprgjs)

EOF