#■目的
Oracle Cloud Infrastructure(OCI)のVCN Transit Routing はFastConnectまたはIPSec VPN経由でHub & Spokeによる複数VCN間の通信を可能にします。
そして、Hub内のインスタンスにFirewall、侵入検知システム(IDS)を設定することで、オンプレミスネットワークとSpoke VCN間のトラフィックをフィルタリング、検査することができます。
ということで、Firewallで有名なJuniper vSRXをGatewayとするHub and Spokeしてみてみます。
#■手順
ここでは、Transit Routingに必要な図にあるRote Tableの設定をおこないます。
図面構成は次の記事を参考に構築します。
・Juniper vSRX Virtual FirewallをOracle Cloudにインストールしてみてみた
・Juniper vSRXでOracle CloudへIPsec VPN接続してみてみた
・Oracle Cloud: VCNとVCNをLocal Peering してみた
このRoute Tableの設定でvSRX のPrivate IPをTarget Gateway に組み込むことでTransit Routingできます。
あと、Security List設定を忘れずに行っておいてください。
#■Route設定
以下経路になるように Route Table と Security Listを構成図のように設定
-
On-Premises Network から Spoke VCN Instance への経路
・onp-inst01:172.24.0.0/24
-> On-Premises IPSec VPN Router
-> Internet GW : 0.0.0.0
-> vSRX: Ge-0/0/0.0 -> Ge-0/0/1.0
-> LPG-H-1:10.100.0.0/16
-> spoke100-Inst:10.100.0.2 -
Spoke VCN から On-Premises Network Instance への経路
・spoke100-Inst:10.100.0.2
-> 172.24.0.0/16:LPG-Spke1
-> LPG-Hub1 : 10.0.10.254
-> vSRX:Ge-0/0/1.0 -> Ge-0/0/0.0
-> Internet GW : 0.0.0.0
-> On-Premises IPSec VPN Router
-> onp-inst01:172.24.0.0/24
##●Route Table 設定例
①Route Table: Hub-Frontend
#■疎通確認
##●onp-inst01 -> toronto-spoke100-inst
・ping確認
[user@onp-inst01 ~]$ ping 10.100.0.2 -c 3
PING 10.100.0.2 (10.100.0.2) 56(84) bytes of data.
64 bytes from 10.100.0.2: icmp_seq=1 ttl=62 time=63.9 ms
64 bytes from 10.100.0.2: icmp_seq=2 ttl=62 time=63.7 ms
64 bytes from 10.100.0.2: icmp_seq=3 ttl=62 time=63.7 ms
--- 10.100.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 63.757/63.820/63.909/0.064 ms
・ssh確認
[user@onp-inst01 ~]$ ssh -i id_rsa opc@10.100.0.2 hostname
toronto-spoke100-inst01
##●onp-inst01 -> toronto-spoke200-inst
・ping確認
[user@onp-inst01 ~]$ ping 10.200.0.2 -c 3
PING 10.200.0.2 (10.200.0.2) 56(84) bytes of data.
64 bytes from 10.200.0.2: icmp_seq=1 ttl=62 time=57.0 ms
64 bytes from 10.200.0.2: icmp_seq=2 ttl=62 time=56.9 ms
64 bytes from 10.200.0.2: icmp_seq=3 ttl=62 time=56.8 ms
--- 10.200.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 56.879/56.937/57.022/0.061 ms
・ssh確認
[user@onp-inst01 ~]$ ssh -i id_rsa opc@10.200.0.2 hostname
toronto-spoke200-inst01
##●toronto-spoke100-inst -> onp-inst01
・ping確認
[opc@toronto-spoke100-inst01 ~]$ ping 172.24.0.2 -c 3
PING 172.24.0.2 (172.24.0.2) 56(84) bytes of data.
64 bytes from 172.24.0.2: icmp_seq=1 ttl=62 time=56.8 ms
64 bytes from 172.24.0.2: icmp_seq=2 ttl=62 time=56.9 ms
64 bytes from 172.24.0.2: icmp_seq=3 ttl=62 time=56.8 ms
--- 172.24.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 56.807/56.860/56.904/0.198 ms
``
・ssh確認
```shell-session
[opc@toronto-spoke100-inst01 ~]$ ssh -i id_rsa opc@172.24.1.2 hostname
onp-inst01
##●toronto-spoke200-inst -> onp-inst01
・ping確認
[opc@toronto-spoke200-inst01 ~]$ ping 172.24.0.2 -c 3
PING 172.24.0.2 (172.24.0.2) 56(84) bytes of data.
64 bytes from 172.24.0.2: icmp_seq=1 ttl=62 time=56.8 ms
64 bytes from 172.24.0.2: icmp_seq=2 ttl=62 time=56.8 ms
64 bytes from 172.24.0.2: icmp_seq=3 ttl=62 time=56.9 ms
--- 172.24.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 56.821/56.866/56.923/0.199 ms
・ssh確認
[opc@toronto-spoke200-inst01 ~]$ ssh -i id_rsa opc@172.24.1.2 hostname
onp-inst01