SD-WAN AggregationでのFortigateのHub&Spoke構成
SD-WANのAggregation にて、Fortigate自体のHub&Spokeを実現する。
構成
- Fortigate(イエロー)
- Hubと2台のSpokeとが2回線WANで接続
- WAN1:10.1.1.0/24(レッド)
- WAN2:10.1.2.0/24(ブルー)
- Hub
- ローカルネットワーク:192.168.1.0/24(グリーン)
- Loopback:1.1.1.1/32
- Spoke1
- ローカルネットワーク:192.168.2.0/24(オレンジ)
- Loopback:1.1.1.2/32
- Spoke2
- ローカルネットワーク:192.168.3.0/24(パープル)
- Loopback:1.1.1.3/32
- Hubと2台のSpokeとが2回線WANで接続
- ローカルネットワークどうしで通信を実現
設定
基本設定は、「その3」および「その4」を参照のこと。ここでは、特記事項のみ記載。
Hub
VPN
Spokeごとに、異なるIPアドレスを相手先に持つトンネル(vpn1_1&vpn1_2, vpn1_1_2nd&vpn1_2_2nd)およびAgregation(AGG, AGG_2nd)を作成する。
SD-WAN
Spokeごとに、名称が異なるSD-WAN Zone(SDWAN, SDWAN_2nd)を作成する。また、SD-WAN名ごとにMember(VPN Aggregation: AGG, AGG_2nd)を指定する。また、下記のように、MemberのソースIPアドレスをLoopback IPアドレスとする。
Hub-1 (members) # show
config members
edit 1
set interface "AGG"
set zone "SDWAN"
set source 1.1.1.1
next
edit 2
set interface "AGG_2nd"
set zone "SDWAN_2nd"
set source 1.1.1.1
next
end
SpokeごとにSLA(RemotePing, RemotePing_2nd)を作成。サーバーにSpoke Loopback(1.1.1.2または1.1.1.3)を、参加インターフェースにSpokeの VPN Aggregation(AGGまたはAGG_2nd)を指定する。
Spokeごとにルールを作成し、ルール内でSpokeごとにSLAを指定する。
Firewall
すべてのSD-WANゾーン(SDWAN, SDWAN_2nd)とループバック(Lo)、すべてのSD-WANゾーンとInternalとを、FromおよびToに指定し、送信元・宛先にall、サービスをALLに指定する。
Static Route
Spokeごとに、SpokeのInternalネットワーク宛先をSpokeのSD-WAN Zone(SDWANまたはSDWAN_2nd)に指定する。
Spoke
Firewall
SD-WANゾーン(SDWAN)とループバック(Lo)、SD-WANゾーンとInternalとを、FromおよびToに指定し、送信元・宛先にall、サービスをALLに指定する。
Static Route
Hubおよびもう一つSpokeのInternalネットワーク宛先をSpokeのSD-WAN Zone(SDWAN)に指定する。
検証
動作自体はping疎通のみなので略。関連情報を記す。
インターフェース状況(HUB)
VPN状況(HUB)
Hub-1 # get vpn ipsec tunnel summary
'vpn1_1_2nd' 10.1.1.3:0 selectors(total,up): 1/1 rx(pkt,err): 4204/0 tx(pkt,err): 4168/2
'vpn1_2_2nd' 10.1.2.3:0 selectors(total,up): 1/1 rx(pkt,err): 4205/0 tx(pkt,err): 4166/2
'vpn1_1' 10.1.1.2:0 selectors(total,up): 1/1 rx(pkt,err): 1717/0 tx(pkt,err): 1691/1
'vpn1_2' 10.1.2.2:0 selectors(total,up): 1/1 rx(pkt,err): 1719/0 tx(pkt,err): 1691/2
ルーティングテーブル
HUB
Hub-1 # get router 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 1.1.1.1/32 is directly connected, Lo
S 1.1.1.2/32 [1/0] via AGG tunnel 10.1.2.2, [1/0]
S 1.1.1.3/32 [1/0] via AGG_2nd tunnel 10.1.1.3, [1/0]
C 10.1.1.0/24 is directly connected, wan1
C 10.1.2.0/24 is directly connected, wan2
C 192.168.1.0/24 is directly connected, internal
S 192.168.2.0/24 [1/0] via AGG tunnel 10.1.2.2, [1/0]
S 192.168.3.0/24 [1/0] via AGG_2nd tunnel 10.1.1.3, [1/0]
Spoke
Spoke-1 # get router info routing-table all
Routing table for VRF=0
S 1.1.1.1/32 [1/0] via AGG tunnel 10.1.1.1, [1/0]
C 1.1.1.2/32 is directly connected, Lo
C 10.1.1.0/24 is directly connected, wan1
C 10.1.2.0/24 is directly connected, wan2
S 192.168.1.0/24 [1/0] via AGG tunnel 10.1.1.1, [1/0]
C 192.168.2.0/24 is directly connected, internal
S 192.168.3.0/24 [1/0] via AGG tunnel 10.1.1.1, [1/0]
EOF