はじめに
Transit Gatewayには、Classic Infrastructure上のコンポーネントとの間でGREを張る機能があるので試してみました。
https://cloud.ibm.com/docs/transit-gateway?topic=transit-gateway-GRE-connection&interface=ui
[追記]
この機能をベースにした応用編を書きました。
Transit Gatewayの構成
GREを作成する前の段階で、Transit Gatewayには下記のConnectionを作っておきます。
2022/12/2追記 Classic InfrastructureへのConnectionが無くてもGREを張れるようになりました。
https://cloud.ibm.com/docs/transit-gateway?topic=transit-gateway-unbound-gre-connection&interface=ui
・Classic Infrastructure(Transit GatewayからGREを張る事ができる相手はClassic上のコンポーネントに限られるため、前提としてClassicへのConnectionが必要です)
・PowerVSから繋がっているDirect Link
Transit Gatewayで、Unbound GRE TunnelタイプのConnectionを作成します。
Base networkとして、Classic infrastructureを指定します。
GREのパラメータを指定します。
Zone: Transit Gatewayは暗黙的にマルチゾーンで稼働しているサービスですが、GREを終端するのはいずれか1つのゾーンになりますので、選択します。今回はTokyo 2にします。ちなみに、終端するゾーンにより、Transit Gateway側のBGP ASNが異なります。
Remote BGP ASN: VRA側で使うBGP ASNになります。指定はoptionalで、指定しない場合は自動的に決定されます。
Local gateway IP: Transit Gateway側のアンダーレイネットワークのIPアドレスとして使われます。(他のアンダーレイネットワークのIPと重複がないようにユーザーが指定します。)
Remote gateway IP: GREを張る相手となるVRAのIPアドレスです。
Local tunnel IP, Remote tunnel IP: GREトンネル内で使われるIPアドレスです。
Transit GatewayにGREタイプのConnectionが作られます。
VRAの構成
上記の情報を使い、VRA側でGREとBGPの設定を行います。
Transit Gatewayに設定したアンダーレイのIPアドレス(今回は192.168.231.5)宛のパケットのnext hopがBCRになるよう静的経路を追加します。今回の環境では10.132.163.193がBCRのIPアドレスです。
set protocols static route 192.168.231.5/32 next-hop 10.132.163.193
GREトンネルを設定。remote-ipにはTransit GatewayのアンダーレイネットワークのIPを指定します。
set interfaces tunnel tun0 address 192.168.100.1/30
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 local-ip 10.132.163.242
set interfaces tunnel tun0 remote-ip 192.168.231.5
BGPを設定。
neighborは、GREトンネルのTransit Gateway側IP(今回は192.168.100.2)を指定します。
VRAのASNには、先ほどTransit Gateway側でGREを作成した時に指定した(あるいはTransit Gatewayが自動で払い出した)Remote BGP ASNの値を指定します。
今回、VRAからは192.168.170.0/24を広告することにします。
set protocols bgp 4205000063 address-family ipv4-unicast network 192.168.170.0/24
set protocols bgp 4205000063 neighbor 192.168.100.2 address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp 4205000063 neighbor 192.168.100.2 remote-as 4201065555
set protocols bgp 4205000063 parameters extended-asn-capability
なお、上記でextended-asn-capabilityのパラメータを指定しない場合、commit時に下記のエラーになりました。
Extended ASN Capability must be enabled for configuring ASN greater than 65535
設定は以上で、以下は確認です。
確認
GRE確認
vyatta@vra02:~$ show interfaces tunnel
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Speed/Duplex Description
--------- ---------- --- ------------ -----------
tun0 192.168.100.1/30 u/u -/-
vyatta@vra02:~$
GRE確認
vyatta@vra02:~$ show interfaces tunnel detail
tun0@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN group default qlen 1000
link/gre 10.132.163.242 peer 192.168.231.5
inet 192.168.100.1/30 brd 192.168.100.3 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::5efe:a84:a3f2/64 scope link
valid_lft forever preferred_lft forever
RX: bytes packets errors ignored overrun mcast
96495 1082 0 0 0 0
TX: bytes packets errors dropped carrier collisions
79438 949 0 0 0 0
vyatta@vra02:~$
BGP確認
vyatta@vra02:~$ show ip bgp
BGP table version is 4, local router ID is 192.168.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
l - labeled, S Stale, b - backup, x - best external
Origin codes: i - IGP, e - EGP, ? - incomplete
IPv4 Unicast address family:
Network Next Hop Metric LocPrf Weight Path
*> 192.168.150.0 192.168.100.2 0 100 0 4201065555 64999 64997 64998 ?
*> 192.168.170.0 0.0.0.0 100 32768 i
Total number of prefixes 2
vyatta@vra02:~$
BGP確認
vyatta@vra02:~$ show ip bgp neighbors 192.168.100.2
BGP neighbor is 192.168.100.2, remote AS 4201065555, local AS 4205000063, external link
BGP version 4, remote router ID 10.0.13.29
BGP state = Established, up for 01:40:26
Last read 01:40:26, hold time is 90, keepalive interval is 30 seconds
Neighbor capabilities:
Route refresh: advertised and received (old and new)
4-Octet ASN Capability: advertised and received
Address family IPv4 Unicast: advertised and received
Received 204 messages, 0 notifications, 0 in queue
Sent 204 messages, 0 notifications, 0 in queue
Route refresh request: received 0, sent 0
Minimum time between advertisement runs is 30 seconds
For address family: IPv4 Unicast
BGP table version 4, neighbor version 4
Index 1, Offset 0, Mask 0x2
Graceful restart: received
Inbound soft reconfiguration allowed
Community attribute sent to this neighbor (both)
1 accepted prefixes
1 announced prefixes
Connections established 1; dropped 0
Local host: 192.168.100.1, Local port: 54350
Foreign host: 192.168.100.2, Foreign port: 179
Nexthop: 192.168.100.1
Nexthop global: ::
Nexthop local: fe80::5efe:a84:a3f2
BGP connection: non shared network
vyatta@vra02:~$
BGPで受け取っている経路情報。PowerVS(192.168.150.0/24)へのルート情報を受け取っています。
vyatta@vra02:~$ show ip bgp neighbors 192.168.100.2 received-routes
BGP table version is 4, local router ID is 192.168.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
IPv4 Unicast address family:
Network Next Hop Metric LocPrf Weight Path
*> 192.168.150.0 192.168.100.2 100 0 4201065555 64999 64997 64998 ?
Total number of prefixes 1
vyatta@vra02:~$
BGPで送っている経路情報
vyatta@vra02:~$ show ip bgp neighbors 192.168.100.2 advertised-routes
BGP table version is 4, local router ID is 192.168.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
IPv4 Unicast address family:
Network Next Hop Metric LocPrf Weight Path
*> 192.168.170.0 192.168.100.1 100 32768 i
Total number of prefixes 1
vyatta@vra02:~$
VRAのルーティングテーブル確認。
Bで始まる行がBGPで受け取った経路情報です。
PowerVS(192.168.150.0/24)宛のパケットを、next hopであるGREの対向IP(192.168.100.2)に送る設定になっているのが分かります。
vyatta@vra02:~$ show ip route
Codes: K - kernel, C - connected, S - static, D - DHCP, 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
L - LDP, V - RSVP-TE, I - IGP shortcut
> - selected route, * - FIB route, p - stale info
(略)
C *> 192.168.100.0/30 is directly connected, tun0
B *> 192.168.150.0/24 [20/0] via 192.168.100.2, tun0, 00:31:14
S *> 192.168.231.5/32 [1/0] via 10.132.163.193, dp0bond0
vyatta@vra02:~$
Transit Gatewayにも、VRAからGRE経由で192.168.170.0/24への経路情報が渡されています。
以上