Azure Firewall の SNAT プライベート IP アドレス範囲

Azure Firewall では、パブリック IP アドレスへのすべてのアウトバウンド トラフィックに対して自動 SNAT が提供されます。 既定では、宛先の IP アドレスが IANA RFC 1918 のプライベート IP アドレスの範囲または IANA RFC 6598 の共有アドレス スペースに含まれているときは、Azure Firewall でネットワーク ルールによる SNAT を行いません。 アプリケーション ルールは、宛先 IP アドレスに関係なく、常に透過プロキシを使用して適用されます。

このロジックは、トラフィックをインターネットに直接ルーティングする場合に適しています。 ただし、強制トンネリングを有効にすると、SNAT によってインターネットへのトラフィックに AzureFirewallSubnet のいずれかのファイアウォール プライベート IP アドレスが適用され、対象のオンプレミスのファイアウォールからソースが隠されます。

組織でプライベート ネットワークに対してパブリック IP アドレス範囲を使用している場合、Azure Firewall は、SNAT を使用して、トラフィックのアドレスを AzureFirewallSubnet のいずれかのファイアウォール プライベート IP アドレスに変換します。 ただし、パブリック IP アドレス範囲の SNAT が行われないように、Azure Firewall を構成することができます。 たとえば、個々の IP アドレスを指定するには、192.168.1.10 のように指定します。 IP アドレスの範囲を指定するには、192.168.1.0/24 のように指定します。

  • 宛先 IP アドレスに関係なく、SNAT を行わないように Azure Firewall を構成するには、プライベート IP アドレス範囲として 0.0.0.0/0 を使用します。 この構成では、Azure Firewall がトラフィックをインターネットに直接ルーティングすることはできません。

  • 宛先アドレスに関係なく、常に SNAT を行うようにファイアウォールを構成するには、プライベート IP アドレス範囲として 255.255.255.255/32 を使用します。

重要

指定したプライベート アドレス範囲は、ネットワーク規則にのみ適用されます。 現時点では、アプリケーション ルールでは常に SNAT が使用されます。

重要

独自のプライベート IP アドレス範囲を指定し、既定の IANA RFC 1918 アドレス範囲をそのまま使用する場合は、カスタム リストに IANA RFC 1918 の範囲がまだ含まれていることを確認してください。

SNAT のプライベート IP アドレスを構成するには、次の方法を使用します。 SNAT のプライベート アドレスは、ご自身の構成に適した方法を使用して構成する必要があります。 ファイアウォール ポリシーに関連するファイアウォールでは、ポリシーで範囲を指定する必要があり、AdditionalProperties は使用しないでください。

メソッド クラシック ルールの使用 ファイアウォール ポリシーの使用
Azure portal サポート対象 サポート対象
Azure PowerShell PrivateRange を構成する 現在はサポートされていません
Azure CLI --private-ranges を構成する 現在はサポートされていません
ARM テンプレート ファイアウォール プロパティに AdditionalProperties を構成する ファイアウォール ポリシーに snat/privateRanges を構成する

SNAT のプライベート IP アドレス範囲を構成する - Azure PowerShell

クラシック ルール

Azure PowerShell を使用して、ファイアウォールのプライベート IP アドレス範囲を指定できます。

Note

ファイアウォール ポリシーに関連するファイアウォールでは、ファイアウォールの PrivateRange プロパティは無視されます。 「SNAT のプライベート IP アドレス範囲を構成する - ARM テンプレート」で説明されているように、firewallPoliciesSNAT プロパティを使用する必要があります。

新しいファイアウォール

クラシック ルールが使用される新しいファイアウォールの場合、Azure PowerShell コマンドレットは次のようになります。

$azFw = @{
    Name               = '<fw-name>'
    ResourceGroupName  = '<resourcegroup-name>'
    Location           = '<location>'
    VirtualNetworkName = '<vnet-name>'
    PublicIpName       = '<public-ip-name>'
    PrivateRange       = @("IANAPrivateRanges", "192.168.1.0/24", "192.168.1.10")
}

New-AzFirewall @azFw

Note

New-AzFirewall を使用して Azure Firewall をデプロイするには、既存の VNet とパブリック IP アドレスが必要です。 デプロイの詳細なガイドについては、「Azure PowerShell を使用して Azure Firewall のデプロイと構成を行う」を参照してください。

Note

IANAPrivateRanges は Azure Firewall の現在の既定値に拡張されますが、他の範囲は追加されます。 プライベート範囲の指定で IANAPrivateRanges の既定値を維持するには、次の例に示すように、PrivateRange の指定に残す必要があります。

詳細については、「New-AzFirewall」をご覧ください。

既存のファイアウォール

クラシック ルールが使用される既存のファイアウォールを構成するには、次の Azure PowerShell コマンドレットを使用します。

$azfw = Get-AzFirewall -Name '<fw-name>' -ResourceGroupName '<resourcegroup-name>'
$azfw.PrivateRange = @("IANAPrivateRanges","192.168.1.0/24", "192.168.1.10")
Set-AzFirewall -AzureFirewall $azfw

SNAT のプライベート IP アドレス範囲を構成する - Azure CLI

クラシック ルール

Azure CLI を使用して、クラシック ルールが使用されるファイアウォールのプライベート IP アドレス範囲を指定できます。

新しいファイアウォール

クラシック ルールが使用される新しいファイアウォールの場合、Azure CLI コマンドは次のようになります。

az network firewall create \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

Note

Azure CLI コマンド az network firewall create を使用して Azure Firewall をデプロイするには、パブリック IP アドレスと IP 構成を作成するための追加の構成手順が必要です。 デプロイの詳細なガイドについては、「Azure CLI を使用して Azure Firewall のデプロイと構成を行う」を参照してください。

Note

IANAPrivateRanges は Azure Firewall の現在の既定値に拡張されますが、他の範囲は追加されます。 プライベート範囲の指定で IANAPrivateRanges の既定値を維持するには、次の例に示すように、private-ranges の指定に残す必要があります。

既存のファイアウォール

クラシック ルールが使用される既存のファイアウォールを構成するには、Azure CLI コマンドは次のようになります。

az network firewall update \
-n <fw-name> \
-g <resourcegroup-name> \
--private-ranges 192.168.1.0/24 192.168.1.10 IANAPrivateRanges

SNAT のプライベート IP アドレス範囲を構成する - ARM テンプレート

クラシック ルール

ARM テンプレートのデプロイ中に SNAT を構成するには、additionalProperties プロパティに次を追加します。

"additionalProperties": {
   "Network.SNAT.PrivateRanges": "IANAPrivateRanges , IPRange1, IPRange2"
},

ファイアウォール ポリシー

ファイアウォール ポリシーに関連する Azure Firewall では、2020-11-01 API バージョン以降、SNAT のプライベート範囲がサポートされています。 現時点では、テンプレートを使用して、ファイアウォール ポリシー上の SNAT のプライベート範囲を更新できます。 次のサンプルでは、ファイアウォールは、ネットワーク トラフィックに対して常に SNAT を実行するように構成されます。

{ 

            "type": "Microsoft.Network/firewallPolicies", 
            "apiVersion": "2020-11-01", 
            "name": "[parameters('firewallPolicies_DatabasePolicy_name')]", 
            "location": "eastus", 
            "properties": { 
                "sku": { 
                    "tier": "Standard" 
                }, 
                "snat": { 
                    "privateRanges": [255.255.255.255/32] 
                } 
            } 

SNAT のプライベート IP アドレス範囲を構成する - Azure portal

クラシック ルール

Azure portal を使用して、ファイアウォールのプライベート IP アドレス範囲を指定できます。

  1. 対象のリソース グループを選択し、ファイアウォールを選択します。

  2. [概要] ページの [プライベート IP 範囲] で、既定値 [IANA RFC 1918] を選択します。

    [Edit Private IP Prefixes]\(プライベート IP プレフィックスの編集\) ページが開きます。

    Edit private IP prefixes

  3. 既定では、 [IANAPrivateRanges] が構成されています。

  4. お使いの環境に合わせてプライベート IP アドレス範囲を編集し、 [保存] を選択します。

ファイアウォール ポリシー

  1. 対象のリソース グループを選択し、次にファイアウォール ポリシーを選択します。

  2. [設定] 列で [プライベート IP 範囲 (SNAT)] を選択します。

    既定では、 [Use the default Azure Firewall Policy SNAT behavior]\(Azure Firewall ポリシーの既定の SNAT 動作を使用する\) が選択されています。

  3. SNAT の構成をカスタマイズするには、このチェックボックスをオフにし、 [Perform SNAT]\(SNAT を実行する\) の下で、ご使用環境で SNAT を実行する条件を選択します。 Private IP ranges (SNAT)

  4. [適用] を選択します。

次のステップ