ノート:

ハブVCN内のpfSenseファイアウォールを使用したルート・ハブおよびスポークVCN

イントロダクション

クラウド・プロバイダ内でのハブ・ルーティングとスポーク・ルーティングは、混乱して構成が難しい場合があります。これを実現するには、異なるタイプの構成で複数のオブジェクトを構成する必要があります。クラウド内の複数のレベルにわたるネットワーク・ルーティングとネットワーク・セキュリティが、この問題を混乱させます。

このチュートリアルでは、3つのスポークSCNを持つハブVCNを構成する方法について説明します。ハブVCNには、pfSenseファイアウォールと、インターネットおよびOCIサービス・ネットワークへの接続が含まれます。他のスポークVCNと通信する必要がある、またはインターネットまたはOCIサービス・ネットワークと通信する必要がある、スポークVCNからのすべてのネットワーク・トラフィックは、ファイアウォール検査のためにハブVCNを渡す必要があります。

イメージ

次の図は、トラフィック・フローを示しています。

目的

タスク1: ハブおよびスポークSCNの作成

次に、スポークA、スポークB、およびスポークCの3つのスポークVCNを作成します。

タスク2: ハブおよびスポークSCN内でのサブネットの作成

ハブとスポークVCNが配置されています。次に、VCN内にサブネットを作成します。

ハブVCN内のサブネットの作成

ハブVCNで、1つのプライベート・サブネットと1つのパブリック・サブネットを作成します。

スポークVCN Aでのサブネットの作成

スポークVCN A内に1つのプライベート・サブネットを作成します。

スポークVCN Bでのサブネットの作成

スポークVCN B内に1つのプライベート・サブネットを作成します。

ハブVCN C内にサブネットを作成

スポークVCN C内に1つのプライベート・サブネットを作成します。

タスク3: ハブVCNでのDynamic Routing Gateway (DRG)、インターネット・ゲートウェイおよびNAT Gatewayの作成

VCN間のトラフィックのルーティングに使用されるDRGを作成します。また、インターネットにアクセスするためのインターネット・ゲートウェイとNATゲートウェイを作成する必要があります。

タスク4: すべてのVCN内の異なるサブネットにアタッチされたインスタンスの追加

ルーティング・フローをテストできるように、すべてのVCNに様々なOCIコンピュート・インスタンスを追加します。

ハブVCNでのインスタンスの作成

ハブVCNでは、2つの主な機能を持つWindowsコンピュート・インスタンスを作成します:

ステップ・ストーンとしてのWindowsインスタンス

OCI環境内でステップ・ストーンとして機能するWindowsインスタンス(ハブ・ステップ・ストーン)を作成するには、Oracle Cloud InfrastructureでのWindowsインスタンスのデプロイを使用します。

ノート:チュートリアルを続行する前に、Windowsステップ・ストーン・インスタンス(hub-step-stone)を作成します。

次の図は、これまでに作成したものを視覚的に示したものです。

イメージ

ハブVCNスポークVCN Aでのインスタンスの作成

スポークVCN Aでは、ルーティング・フローのテストに使用できるネットワーク・エンドポイントとして機能する単純なLinuxインスタンスを作成します。

クライアント・インスタンスのスポーク

スポークVCN Bでのインスタンスの作成

スポークVCN Bでは、ルーティング・フローのテストに使用できるネットワーク・エンドポイントとして機能する単純なLinuxインスタンスを作成します。

スポークBクライアント・インスタンス

スポークVCN Cでのインスタンスの作成

スポークVCN Cでは、ルーティング・フローのテストに使用できるネットワーク・エンドポイントとして機能する単純なLinuxインスタンスを作成します。

スポークCクライアント・インスタンス

タスク5: ハブVCNへのpfSenseファイアウォール・インスタンスの追加

ネットワーク設定で最後に必要なインスタンスはファイアウォールです。たとえば、OCI Network Firewallのような任意のファイアウォールを使用できます。このチュートリアルでは、pfSenseファイアウォールを使用します。

OCI環境内でファイアウォールとして機能するpfSenseインスタンス(hub-fw)を作成するには、このチュートリアルを使用します。

ノート:チュートリアルを続行する前に、pfSenseインスタンスを作成します。

次の図は、これまでに作成したものを視覚的に示したものです。

イメージ

タスク6: セキュリティ・リストでのファイアウォール・ルールのオープン

OCI環境には、ネットワーク・セキュリティの複数のレイヤーがあります。デフォルトでは、ほとんどのプロトコルおよびポートで、すべてのイングレス・ネットワーク・トラフィックがブロックされます。pingによるテストを可能にするために、ハブおよびスポークVCN上のICMPポートを開き、VCNに入ってくるすべてのICMPトラフィックを許可できるようにします。

ハブVCNでのイングレス・ルールの追加

スポークVCN Aへのイングレス・ルールの追加

スポークVCN Bでのイングレス・ルールの追加

スポークVCN Cでのイングレス・ルールの追加

タスク7: ハブ・ファイアウォール検査による異なるSCNとインターネット間のルーティングの構成

必要なコンポーネントがすべて揃っています。次に、ルーティングを構成する必要があります。ルーティングを構成する前に、まずDRGにVCNをアタッチする必要があります。

その後、別のVCNルーティング表、DRGルーティング表を作成し、これらのルーティング表を異なるVCN、DRG VCNアタッチメント、サブネットおよびゲートウェイに関連付ける必要があるアタッチメントを作成します。

タスク7.1: DRGでのVCNアタッチメントの作成

タスク7.2: スポークVCNルーティング表の作成と構成

VCNルーティングテーブルとDRGルーティングテーブルの2種類のルーティングテーブルを作成する必要があります。

ノート:デフォルトでは、VCNを作成すると、デフォルトのルーティング表が作成されます。

タスク7.3: ハブVCNルーティング表の作成と構成

タスク7.4: DRGルーティング表の作成と構成

タスク7.5: ルート表の添付

ルート表を作成したので、ルート表をDRG、VCN、サブネットおよびゲートウェイにアタッチする必要があります。

ノート: ルーティングがアクティブ化される場所であるため、これは、本番環境で実装または変更を行う前に、最初に検討して適切にテストする必要がある慎重なプロセスです。

DRGルート表をアタッチします:

まず、DRGルーティング表をアタッチします。

スポークVCNアタッチメントへのDRGルーティング表のアタッチ

ルーティング情報: (DRG_RT_SPOKE_VCN_2)このDRGルート表およびルート表のアタッチメントにより、スポークVCNからのすべてのトラフィックがハブVCNにルーティングされるようになります。

最初に、()DRG_RT_SPOKE_VCN_2) DRGルーティング表をすべてのスポークVCNアタッチメントにアタッチします。

ハブVCNアタッチメントへのDRGルーティング表のアタッチ

()DRG_RT_HUB_VCN_3) DRGルート表をハブVCNアタッチメントにアタッチします。また、(VCN_HUB_RT_DRG_TRANSIT) VCNルート表をハブVCNアタッチメントにアタッチします。

ルーティング情報: (DRG_RT_HUB_VCN_3)このDRGルート表およびルート表アタッチメントは、スポークからのすべてのネットワークがDRGで認識され、DRGで学習されるようにします。これにより、DRGはスポークで使用可能なネットワークを認識し、スポーク・ネットワークのルーティング先を把握できます。

ルーティング情報: (VCN_HUB_RT_DRG_TRANSIT)このVCNルート表およびルート表のアタッチメントにより、すべてのトラフィックがハブ内のファイアウォールにルーティングされます。

VCNルート表をアタッチします:

今度は、前のタスクのVCNルート表の1つに対してこの作業をすでに開始していても、VCNルート表をアタッチします。

ハブVCNパブリック・サブネットへのVCNルーティング表のアタッチ

(VCN_RT_HUB_PUBLIC_SUBNET) VCNルート表をハブVCNのパブリック・サブネットにアタッチします。

ルーティング情報: (VCN_RT_HUB_PUBLIC_SUBNET)このVCNルート表は、スポークを宛先とするトラフィックをファイアウォールにルーティングします。インターネット・ゲートウェイへのインターネット(スポーク・ネットワーク以外のすべてのトラフィック)を宛先とするトラフィックも、このルート表によってルーティングされます。

ハブVCNプライベート・サブネットへのVCNルーティング表のアタッチ

次に、(VCN_RT_HUB_PRIVATE_SUBNET) VCNルート表をハブVCNのプライベート・サブネットにアタッチします。

ルーティング情報: (VCN_RT_HUB_PRIVATE_SUBNET)このVCNルート表は、スポークを宛先とするトラフィックをファイアウォールにルーティングします。NATゲートウェイへのインターネット(スポーク・ネットワーク以外のすべてのトラフィック)を宛先とするトラフィックも、このルート表によってルーティングされます。

ハブVCN NAT GatewayへのVCNルーティング表のアタッチ

(VCN_HUB_RT_NAT_TRANSIT) VCNルート表をハブVCNのNATゲートウェイにアタッチします。

ルーティング情報: (VCN_HUB_RT_NAT_TRANSIT)このVCNルート表は、スポークを宛先とするトラフィックをファイアウォールにルーティングします。

スポークVCNプライベート・サブネットへのVCNルーティング表のアタッチ

前のタスクの1つで、デフォルトのスポークVCNルーティング表がすでに構成されています。スポーク(A、BおよびC)プライベート・サブネットは、デフォルトのVCNルート表を自動的に使用するため、これを変更する必要はありません。早速チェックできます。

OCIコンソールに移動し、「ネットワーキング」および「仮想クラウドNetworks」に移動します。

タスク8: 接続の確認

ルーティングは、環境全体に対して構成されます。これで、ルーティングが機能しているかどうかをテストできます。

タスク8.1: RDPを使用したスポーク・ステップ・ストーン・インスタンスへの接続

インターネットを介してRDPを使用してWindowsステップストーンに接続します。トラフィックはインターネット・ゲートウェイを介してルーティングされます。

イメージ

正常に接続されると、デスクトップが表示されます。このデスクトップから、いくつかのpingテストを実行し、pfSenseハブ・ファイアウォールで管理を実行します。

イメージ

タスク8.2: ハブVCNからスポークVCNへのPing

最初に行うpingテストは、ハブ・ステップ・ストーンからスポークVCNインスタンスまでです。

タスク8.3: SSHを使用したスポーク・インスタンスへの接続

ping (ICMP)はタスク8.2で動作しています。次に、スポーク・インスタンスから接続テストも実行する必要があるため、SSHを使用してスポーク・インスタンスに接続します。

問題: SSHセッションは数秒後に終了します。SSH接続が約10秒後に切断されていることに気付き、この問題を複数レベルでトラブルシューティングしました。OCIのセキュリティ・リスト、OCIでのルーティング、およびpfSenseのファイアウォール・ルールを確認しました。最終的に、SSHの削除の問題がpfSenseに関連していることがわかりました。

タスク8.4: スポークVCNからハブVCNへのPing

これで、スポークからの安定した接続により、スポークVCNインスタンスからいくつかのpingテストを実行できます。

タスク8.5: スポークVCN AからスポークVCN BへのPing

もう1つのpingテストは、あるスポークから別のスポークにすることです。

タスク8.6: スポークVCNからインターネットへのPing

スポークVCNインスタンスからインターネットへのいくつかのpingテストを実行します。

タスク8.7: スポークVCNからインターネットへの接続

基本的なpingテストを行いました。ファイアウォール検査はpfSenseファイアウォールによって行われ、これが要件でないかぎり、ファイアウォール・セキュリティの複数のレイヤーを持つことは意味がないため、インターネットへのすべてのTCPトラフィックを許可するために、ハブVCNイングレス・セキュリティ・リストを開く必要があります。

ハブVCNセキュリティ・リストの更新

OCIコンソールに移動し、「ネットワーキング」および「仮想クラウドNetworks」をクリックします。

pfSenseファイアウォールを検証します

Oracle Linuxに基づくソフトウェアのインストールとアップグレード、またはコンピュート・インスタンスは、インターネットを介して行われません。

Oracle Linuxインスタンスにソフトウェアをインストールする場合、Oracleではソフトウェア・リポジトリからのみこれを実行でき、これらはサービス・ゲートウェイを使用してアクセス可能です。

次のタスクと最後のタスクは、サービス・ゲートウェイを作成し、その新しいサービス・ゲートウェイを介してOracleサービスのトラフィックをルーティングするようにルーティングを構成することです。

タスク8.8: Linuxインスタンスによるサービス・ゲートウェイを使用したソフトウェアのインストールおよび更新の許可

OCIサービスのルーティングはまだ構成されていません。

Network Visualizer

ネットワーク・ビジュアライザ・ツールを使用して、DRGでハブおよびスポークSCNをグラフィカルに表示できます。

イメージ

承認

その他の学習リソース

docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。