はじめに
2024年CiscoSystems合同会社社員有志によるAdventCalendarの記事の一つです。
https://qiita.com/advent-calendar/2024/cisco
この記事の目的
ブランチコネクト紹介
CiscoSD-WANのマルチクラウド機能の一つとしてAWSのGlobalNetworkの機能(TGW、VPNゲートウェイ、などのネットワーク機能の集合)との連携のうち、最も安価な運用方法の取れるブランチコネクトの設定方法を紹介します。ブランチコネクトはAWSに新規のTGWを作成しながらルータとのVPN設定を自動化してくれます。vManageからAPIがほとんどを行ってくれますが、フロー中にAWS側での作業が必要です。
SD-WANコントローラとルータが事前に接続されている状態からスタートします。
ルータの設定はFeature-Templateモードで設定されている必要があります。
設定フロー
☪️☪️☪️ vManageから ☪️☪️☪️
マルチクラウド画面からAWSアカウントの登録をします。
vManageからAWSへTGWを作成を作成させに行きます。
⭐️⭐️⭐️ AWSから ⭐️⭐️⭐️
コンソールに移動しGlobal Networkから
自身の組織名のGlobal networkが作成されているので、一旦、コアネットワークを作ります。
コアネットワークが作成されるまで10分くらいかかるので終わるまで待ちます。
☪️☪️☪️ vManageから ☪️☪️☪️
再びvManageに戻りまして、拠点からの接続を行なっていきます。
Gateway Managementというボタンが一番下の方にあるのでそれを押します。
接続させるルータのWANインタフェースのカラーを選びます。(複数も可)
AWSの接続の必要なVPCに対してTAGをつけることでルーティングの連携が行えます。今回は適当なVPCを選びます。
また画面の一番下の方のCloud Connectivityを押して、相互通信を可能とします。
10分くらい待つとこのように諸々のタスクが自動的に行われます。
マルチクラウドの画面に戻るとルータとのIPsecが自動的に接続されているのがわかります。
ルータの設定っぷりを見てみよう
最後の通信元と宛先のVPCとの連携を行った際にvManageから以下の設定が自動的に追加されます。
これらはAWS側のパラメータと連携するところが素敵です。
vrf definition 1
address-family ipv4
route-target export 65530:1
route-target import 65530:1
exit-address-family
!
vrf definition Mgmt-intf
description Management VPN
rd 1:512
address-family ipv4
route-target export 65530:512
route-target import 65530:512
exit-address-family
!
interface Tunnel100001
no shutdown
vrf forwarding 1
ip address 169.254.0.6 255.255.255.252
no ip clear-dont-fragment
ip mtu 1500
tunnel source GigabitEthernet1
tunnel destination 18.176.XX.XX
tunnel mode ipsec ipv4
tunnel path-mtu-discovery
tunnel protection ipsec profile if-ipsec1-ipsec-profile
exit
interface Tunnel100002
no shutdown
vrf forwarding 1
ip address 169.254.0.10 255.255.255.252
no ip clear-dont-fragment
ip mtu 1500
tunnel source GigabitEthernet1
tunnel destination 54.92.XX.XX
tunnel mode ipsec ipv4
tunnel path-mtu-discovery
tunnel protection ipsec profile if-ipsec2-ipsec-profile
exit
!
crypto ipsec transform-set if-ipsec1-ikev1-transform esp-aes 256 esp-sha-hmac
mode tunnel
!
crypto ipsec transform-set if-ipsec2-ikev1-transform esp-aes 256 esp-sha-hmac
mode tunnel
!
crypto ipsec profile if-ipsec1-ipsec-profile
set isakmp-profile if-ipsec1-ikev1-isakmp-profile
set pfs group15
set transform-set if-ipsec1-ikev1-transform
set security-association lifetime kilobytes disable
set security-association lifetime seconds 3600
set security-association replay window-size 512
!
crypto ipsec profile if-ipsec2-ipsec-profile
set isakmp-profile if-ipsec2-ikev1-isakmp-profile
set pfs group15
set transform-set if-ipsec2-ikev1-transform
set security-association lifetime kilobytes disable
set security-association lifetime seconds 3600
set security-association replay window-size 512
!
crypto keyring if-ipsec1-ikev1-keyring
pre-shared-key address 18.176.140.47 key slxFfXXXX
!
crypto keyring if-ipsec2-ikev1-keyring
pre-shared-key address 54.92.95.214 key sqSXt1XXXX
!
crypto isakmp aggressive-mode disable
crypto isakmp keepalive 10 3 on-demand
crypto isakmp policy 1
authentication pre-share
encryption aes 128
group 15
hash sha
lifetime 28800
!
crypto isakmp policy 2
authentication pre-share
encryption aes 128
group 15
hash sha
lifetime 28800
!
crypto isakmp profile if-ipsec1-ikev1-isakmp-profile
keyring if-ipsec1-ikev1-keyring
match identity address 18.176.XX.XX 255.255.255.255
!
crypto isakmp profile if-ipsec2-ikev1-isakmp-profile
keyring if-ipsec2-ikev1-keyring
match identity address 54.92.XX.XX 255.255.255.255
!
router bgp 65530
bgp log-neighbor-changes
address-family ipv4 unicast vrf 1
distance bgp 20 200 20
maximum-paths eibgp 2
neighbor 169.254.0.5 remote-as 65500
neighbor 169.254.0.5 activate
neighbor 169.254.0.5 ebgp-multihop 255
neighbor 169.254.0.5 send-community both
neighbor 169.254.0.9 remote-as 65500
neighbor 169.254.0.9 activate
neighbor 169.254.0.9 ebgp-multihop 255
neighbor 169.254.0.9 send-community both
redistribute connected
redistribute static
exit-address-family
!
timers bgp 60 180
!
AWSで行われた設定を見てみよう
初期構築ではここまでですが、以降の運用ではAWS側でもパラメータを変えたりできます。
基本的には拠点ごとのIPsecの速度などを調整することになるかなと思ったので、その画面へ。