次の方法で共有


チュートリアル: 重複するネットワークとルーティング不可能なネットワーク用に Azure Firewall プライベート IP DNAT をデプロイする

Azure Firewall プライベート IP DNAT (宛先ネットワーク アドレス変換) を使用すると、パブリック IP アドレスではなく、ファイアウォールのプライベート IP アドレスを使用して受信トラフィックを変換およびフィルター処理できます。 この機能は、重複するネットワークや、従来のパブリック IP DNAT が適していないルーティング不可能なネットワーク アクセスが関係するシナリオに役立ちます。

プライベート IP DNAT は、次の 2 つの主要なシナリオに対応します。

  • 重複するネットワーク: 複数のネットワークが同じ IP アドレス空間を共有している場合
  • ルーティング不可能なネットワーク: 直接ルーティングできないネットワークを介してリソースにアクセスする必要がある場合

このチュートリアルでは、以下の内容を学習します。

  • プライベート IP DNAT のユース ケースについて
  • プライベート IP DNAT 機能を使用して Azure Firewall をデプロイする
  • 重複するネットワーク シナリオ用に DNAT ルールを構成する
  • ルーティング不可能なネットワーク アクセス用に DNAT 規則を構成する
  • プライベート IP DNAT 機能をテストする
  • トラフィック フローとルールの処理を検証する

[前提条件]

  • Azure サブスクリプション。 アカウントをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • Azure Firewall Standard または Premium (Basic SKU ではプライベート IP DNAT はサポートされていません)
  • Azure ネットワークの概念に関する知識
  • Azure Firewall ルール処理ロジックの理解

Important

プライベート IP DNAT は、Azure Firewall Standard SKU と Premium SKU でのみ使用できます。 Basic SKU では、この機能はサポートされていません。

シナリオの概要

このチュートリアルでは、2 つの一般的なプライベート IP DNAT シナリオについて説明します。

シナリオ 1: 重複するネットワーク

同じ IP アドレス空間 (10.0.0.0/16 など) を使用する複数の仮想ネットワークがあり、IP 競合なしでこれらのネットワーク全体のリソースにアクセスする必要があります。

シナリオ 2: ルーティング不可能なネットワーク アクセス

Azure Firewall を介したオンプレミス リソースへのアクセスなど、ソースから直接ルーティングできないネットワーク内のリソースへのアクセスを提供する必要があります。

環境をデプロイする

提供されている ARM テンプレートを使用して、必要なすべてのコンポーネントを含むテスト環境を作成します。

デプロイ テンプレートをダウンロードする

  1. Azure Network Security GitHub リポジトリから ARM テンプレートをダウンロードします。

  2. PrivateIpDnatArmTemplateV2.json ファイルをローカル コンピューターに保存します。

Azure portal を使用してデプロイする

  1. Azure portal にサインインします。

  2. [ リソースの作成>テンプレートのデプロイ (カスタム テンプレートを使用してデプロイする) を選択します。

  3. [Build your own template in the editor] (エディターで独自のテンプレートをビルド) を選択します。

  4. 既存のコンテンツを削除し、ダウンロードした ARM テンプレートの内容を貼り付けます。

  5. 保存 を選択します。

  6. 次の情報を指定します。

    • [サブスクリプション]: Azure サブスクリプションを選択します
    • リソース グループ: 新しいリソース グループを作成するか、既存のリソース グループを選択します
    • リージョン: お好みの Azure リージョンを選択します
    • 場所: このパラメーターは、選択したリージョンに基づいて自動的に設定されます
  7. テンプレート パラメーターを確認し、必要に応じて変更します。

  8. [ 確認と作成] を選択し、[ 作成] を選択してテンプレートをデプロイします。

デプロイでは、次のリソースが作成されます。

  • 重複するシナリオとルーティング不可能なシナリオの仮想ネットワーク
  • プライベート IP DNAT 構成を使用した Azure Firewall
  • 接続をテストするための仮想マシン
  • ネットワーク セキュリティ グループとルート テーブル
  • 必要なすべてのネットワーク コンポーネント

ARM テンプレートには、両方のシナリオをテストするための事前構成済みの DNAT ルールが含まれています。 デプロイ後にこれらの規則を調べたり、特定の要件に合わせて必要に応じて変更したりできます。

プライベート IP DNAT 規則を確認する

デプロイが完了したら、両方のシナリオで DNAT ルールが正しく作成されたことを確認します。

重複するネットワークのルールを確認する

  1. Azure portal で、Azure Firewall リソース (azfw-hub-vnet-1) に移動します。

  2. [ 設定] で、[ ファイアウォール ポリシー] を選択します。

  3. ファイアウォール ポリシー (fp-azfw-hub-vnet-1) を選択します。

  4. [ 設定] で、[ ルール コレクション グループ] を選択します。

  5. DefaultDnatRuleCollectionGroupを選択して、構成済みの規則を表示します。

次の DNAT ルールが表示されます。

  • ToVM2-Http: 10.10.0.4:8010.10.2.4:80 を変換します (スポーク vnet-1 からハブ vnet-2 ファイアウォールにアクセスする)
  • ToVM2-Rdp: 10.10.0.4:5338810.10.2.4:3389 (RDP アクセス) を変換します
  • ToVM3-Http: 10.10.0.4:8080172.16.0.4:80 を変換します (spoke-vnet-1 から branch-vnet-1 にアクセスする)
  • ToVM3-Rdp: 10.10.0.4:53389172.16.0.4:3389 (RDP アクセス) を変換します

ルーティング不可能なネットワークのルールを確認する

  1. 2 番目の Azure Firewall リソース (azfw-hub-vnet-2) に移動します。

  2. [ 設定] で、[ ファイアウォール ポリシー] を選択します。

  3. ファイアウォール ポリシー (fp-azfw-hub-vnet-2) を選択します。

  4. [ 設定] で、[ ルール コレクション グループ] を選択します。

  5. DefaultDnatRuleCollectionGroupを選択して、2 番目のシナリオのルールを表示します。

次の DNAT ルールが表示されます。

  • ToVM2-Http: 10.10.2.4:80192.168.0.4:80 を変換します (ハブ vnet-1 ファイアウォール サブネットからスポーク vnet-2 にアクセスします)
  • ToVM2-Rdp: 10.10.2.4:3389192.168.0.4:3389 を変換します (スポーク vnet-2 への RDP アクセス)

これらの規則は、両方のスポーク ネットワークが同じ IP 空間 (192.168.0.0/24) を使用する重複するネットワーク シナリオを示しています。

仮想マシンを設定する

提供された PowerShell スクリプトを実行して、VM の構成を完了します。

シナリオ 1 で VM を構成する (ネットワークが重複する)

  1. Azure Bastion または RDP を使用して仮想マシン win-vm-2 に接続します。

  2. 管理者として PowerShell を開きます。

  3. 構成スクリプトをダウンロードして実行します。

    # Download the script from GitHub repository
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/Azure-Network-Security/master/Azure%20Firewall/Template%20-%20Private%20IP%20Dnat%20with%202%20Scenarios%20-%20Overlapped%20Network%20and%20Non-Routable%20Network/win-vm-2.ps1" -OutFile "C:\win-vm-2.ps1"
    
    # Execute the script
    .\win-vm-2.ps1
    

シナリオ 2 で VM を構成する (非ルーティング ネットワーク)

  1. Azure Bastion または RDP を使用して仮想マシン win-vm-3 に接続します。

  2. 管理者として PowerShell を開きます。

  3. 構成スクリプトをダウンロードして実行します。

    # Download the script from GitHub repository
    Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Azure/Azure-Network-Security/master/Azure%20Firewall/Template%20-%20Private%20IP%20Dnat%20with%202%20Scenarios%20-%20Overlapped%20Network%20and%20Non-Routable%20Network/win-vm-3.ps1" -OutFile "C:\win-vm-3.ps1"
    
    # Execute the script
    .\win-vm-3.ps1
    

プライベート IP DNAT 機能をテストする

プライベート IP DNAT 構成が両方のシナリオで正しく動作することを確認します。

重複するネットワーク シナリオをテストする

  1. ソース ネットワーク内のクライアント コンピューターから、構成されたポートを使用して Azure Firewall プライベート IP アドレスへの接続を試みます。

  2. 重複したネットワーク内のターゲット VM に接続が正常に変換されたことを確認します。

  3. Azure Firewall ログを調べて、ルールのヒットと翻訳が成功したことを確認します。

ルーティング不可能なネットワーク シナリオをテストする

  1. 適切なソース ネットワークから、Azure Firewall プライベート IP アドレスに接続します。

  2. ファイアウォールを介して、ルーティング不可能なネットワーク内のリソースへのアクセスを確認します。

  3. 適切なルール処理とトラフィック フローを確保するには、ファイアウォール ログを監視します。

監視とトラブルシューティング

プライベート IP DNAT のパフォーマンスを監視するには、Azure Firewall の診断ログとメトリックを使用します。

診断ログを有効にする

  1. Azure portal で、Azure Firewall リソースに移動します。

  2. [ 診断設定>+ 診断設定の追加] を選択します。

  3. 次のログの設定を行います。

    • Azure Firewall アプリケーション規則ログ
    • Azure Firewall ネットワーク規則ログ
    • Azure Firewall NAT 規則ログ
  4. 任意の宛先 (Log Analytics ワークスペース、ストレージ アカウント、または Event Hubs) を選択します。

監視する主要メトリック

最適なパフォーマンスを確保するには、次のメトリックを監視します。

  • 処理されたデータ: ファイアウォールによって処理されたデータの合計量
  • ネットワーク ルール ヒット数: 一致したネットワーク ルールの数
  • NAT ルール ヒット 数: 一致した DNAT ルールの数
  • スループット: ファイアウォールスループットのパフォーマンス

ベスト プラクティス

プライベート IP DNAT を実装する場合は、次のベスト プラクティスに従います。

  • ルールの順序: 正しい処理順序を確保するには、優先順位の低い番号でより具体的なルールを配置します
  • ソース仕様: セキュリティを強化するためにワイルドカードの代わりに特定のソース IP 範囲を使用する
  • ネットワークのセグメント化: 重複するネットワークを分離するには、適切なネットワーク セグメント化を実装します
  • 監視: パフォーマンスの問題を特定するには、ファイアウォールのログとメトリックを定期的に監視します
  • テスト:生産の信頼性を確保するために、実装する前にすべてのDNATルールを徹底的にテストする

リソースをクリーンアップする

テスト環境が不要になったら、リソース グループを削除して、このチュートリアルで作成したすべてのリソースを削除します。

  1. Azure portal で、リソース グループに移動します。

  2. [リソース グループの削除] を選択します。

  3. リソース グループ名を入力して削除を確認します。

  4. [ 削除] を 選択して、すべてのリソースを削除します。

次のステップ

このチュートリアルでは、重複するネットワーク シナリオとルーティング不可能なネットワーク シナリオ用に Azure Firewall プライベート IP DNAT をデプロイして構成する方法について説明しました。 テスト環境をデプロイし、DNAT ルールを構成し、機能を検証しました。

Azure Firewall DNAT 機能の詳細については、以下を参照してください。