Rentang alamat IP privat SNAT pada Azure Firewall

Azure Firewall menyediakan kemampuan SNAT untuk semua lalu lintas keluar ke alamat IP publik. Secara default, Azure Firewall tidak menggunakan SNAT dengan aturan jaringan saat alamat IP tujuan berada dalam rentang alamat IP privat per IANA RFC 1918 atau ruang alamat bersama per IANA RFC 6598. Aturan aplikasi selalu menggunakan SNAT melalui proksi transparan terlepas dari alamat IP tujuan.

Perilaku default ini cocok ketika merutekan lalu lintas langsung ke Internet. Namun, ada skenario di mana Anda mungkin perlu mengambil alih perilaku SNAT default:

  • Jika Anda mengaktifkan penerowongan paksa, Azure Firewall melakukan SNAT terhadap lalu lintas yang menuju Internet ke salah satu alamat IP pribadi firewall di AzureFirewallSubnet, menyembunyikan sumber dari firewall lokal Anda.
  • Jika organisasi Anda menggunakan rentang alamat IP terdaftar di luar IANA RFC 1918 atau IANA RFC 6598 untuk jaringan privat, Azure Firewall Melakukan SNAT lalu lintas ke salah satu alamat IP privat firewall di AzureFirewallSubnet. Anda dapat mengonfigurasi Azure Firewall untuk tidak melakukan SNAT pada rentang alamat IP publik Anda. Misalnya, tentukan alamat IP individual sebagai x.x.x.x atau rentang alamat IP sebagai x.x.x.x/24.

Anda dapat mengubah perilaku Azure Firewall SNAT dengan cara berikut:

  • Untuk mengonfigurasi Azure Firewall agar tidak pernah lalu lintas SNAT diproses oleh aturan jaringan terlepas dari alamat IP tujuan, gunakan 0.0.0.0/0 sebagai rentang alamat IP privat Anda. Dengan konfigurasi ini, Azure Firewall tidak dapat merutekan lalu lintas langsung ke Internet.
  • Untuk mengonfigurasi firewall agar selalu lalu lintas SNAT diproses oleh aturan jaringan terlepas dari alamat tujuan, gunakan 255.255.255.255/32 sebagai rentang alamat IP privat Anda.
  • Anda dapat mengonfigurasi Azure Firewall untuk memelajari otomatis rentang yang terdaftar dan privat setiap jam dan menggunakan rute yang dipelajari untuk SNAT. Kemampuan pratinjau ini memerlukan Azure Route Server yang disebarkan di jaringan virtual yang sama dengan Azure Firewall.

Penting

  • Konfigurasi rentang alamat privat hanya berlaku untuk aturan jaringan. Aturan aplikasi selalu menggunakan SNAT.
  • Jika Anda ingin menentukan rentang alamat IP privat Anda sendiri dan mempertahankan rentang alamat IANA RFC 1918 default, pastikan daftar kustom Anda masih menyertakan rentang IANA RFC 1918.

Anda dapat mengonfigurasi alamat IP privat SNAT dengan menggunakan metode berikut. Gunakan metode yang sesuai untuk konfigurasi Anda. Firewall yang terkait dengan kebijakan firewall harus menentukan rentang dalam kebijakan dan tidak menggunakan AdditionalProperties.

Metode Menggunakan aturan klasik Menggunakan kebijakan firewall
portal Azure didukung didukung
Azure PowerShell konfigurasi PrivateRange saat ini tidak didukung
Azure CLI konfigurasi --private-ranges saat ini tidak didukung
Templat ARM konfigurasikan AdditionalProperties dalam properti firewall konfigurasikan snat/privateRanges dalam kebijakan firewall

Mengonfigurasi rentang alamat IP pribadi SNAT - Azure PowerShell

Aturan klasik

Gunakan Azure PowerShell untuk menentukan rentang alamat IP privat untuk firewall.

Catatan

Properti firewall PrivateRange diabaikan untuk firewall yang terkait dengan Kebijakan Firewall. Anda harus menggunakan properti SNAT di firewallPolicies seperti yang dijelaskan dalam Mengonfigurasi rentang alamat IP pribadi SNAT - template ARM.

Firewall baru

Untuk firewall baru yang menggunakan aturan klasik, gunakan cmdlet Azure PowerShell berikut ini:

$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

Catatan

  • Menyebarkan Azure Firewall dengan menggunakan New-AzFirewall memerlukan jaringan virtual dan alamat IP publik yang ada. Untuk panduan penyebaran lengkap, lihat Menyebarkan dan mengonfigurasi Azure Firewall menggunakan Azure PowerShell.
  • IANAPrivateRanges memperluas rentang ke pengaturan default saat ini di Azure Firewall sambil menambahkan rentang lainnya ke dalamnya. Untuk mempertahankan IANAPrivateRanges default dalam spesifikasi rentang privat Anda, itu harus tetap dalam spesifikasi Anda PrivateRange seperti yang ditunjukkan dalam contoh.

Untuk informasi selengkapnya, lihat New-AzFirewall.

Firewall yang ada

Untuk mengonfigurasi firewall yang sudah ada yang menggunakan aturan klasik, gunakan cmdlet Azure PowerShell berikut:

$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

Mengonfigurasi rentang alamat IP pribadi SNAT - Azure CLI

Aturan klasik

Gunakan Azure CLI untuk menentukan rentang alamat IP privat untuk firewall dengan menggunakan aturan klasik.

Firewall baru

Untuk firewall baru yang menggunakan aturan klasik, gunakan perintah Azure CLI berikut:

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

Catatan

  • Menyebarkan Azure Firewall dengan menggunakan perintah az network firewall create Azure CLI memerlukan langkah-langkah konfigurasi tambahan untuk membuat alamat IP publik dan konfigurasi IP. Untuk panduan penyebaran lengkap, lihat Menyebarkan dan mengonfigurasi Azure Firewall menggunakan Azure CLI.
  • Azure Firewall meluas IANAPrivateRanges ke default saat ini dan menambahkan rentang lain ke dalamnya. Untuk menjaga default IANAPrivateRanges dalam spesifikasi rentang pribadi Anda, sertakan dalam spesifikasi private-ranges Anda seperti yang ditunjukkan dalam contoh.

Firewall yang ada

Untuk mengonfigurasi firewall yang sudah ada yang menggunakan aturan klasik, gunakan perintah Azure CLI berikut:

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

Mengonfigurasi rentang alamat IP pribadi SNAT - ARM template

Aturan klasik

Untuk mengonfigurasi SNAT selama penyebaran templat ARM, tambahkan kode berikut ke additionalProperties properti :

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

Kebijakan Firewall

Firewall Azure yang terkait dengan kebijakan firewall mendukung rentang privat SNAT sejak versi API 2020-11-01. Anda dapat menggunakan templat untuk memperbarui rentang privat SNAT pada Kebijakan Firewall. Contoh berikut mengonfigurasi firewall untuk selalu SNAT lalu lintas jaringan.

{
   "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]"
      }
   }
}

Mengonfigurasi rentang alamat IP pribadi SNAT - portal Microsoft Azure

Aturan klasik

Gunakan portal Microsoft Azure untuk menentukan rentang alamat IP privat untuk firewall.

  1. Pilih grup sumber daya Anda, lalu pilih firewall Anda.

  2. Pada panel Gambaran Umum , Rentang IP Privat, pilih nilai default IANA RFC 1918.

    Halaman Edit Awalan IP Pribadi akan terbuka:

  3. Secara default, IANAPrivateRanges dikonfigurasi.

  4. Edit rentang alamat IP pribadi untuk lingkungan Anda lalu pilih Simpan.

Kebijakan Firewall

  1. Pilih grup sumber daya Anda, lalu pilih firewall Anda.
  2. Pilih Rentang IP Privat (SNAT) di kolom Pengaturan.
  3. Pilih kondisi untuk melakukan SNAT untuk lingkungan Anda di bawah Lakukan SNAT untuk menyesuaikan konfigurasi SNAT.
  4. Pilih Terapkan.

Mempelajari rute SNAT secara otomatis (pratinjau)

Anda dapat mengonfigurasi Azure Firewall untuk memperoleh pembelajaran otomatis dari rentang jaringan terdaftar dan privat setiap 30 menit. Rentang alamat yang dipelajari ini bersifat internal jaringan, sehingga lalu lintas ke tujuan dalam rentang yang dipelajari tidak di-SNAT. Rentang pembelajaran otomatis SNAT memerlukan Azure Route Server untuk diterapkan di jaringan virtual yang sama dengan Azure Firewall. Firewall harus dikaitkan dengan Azure Route Server dan dikonfigurasi untuk mempelajari rentang SNAT secara otomatis dalam Azure Firewall Policy. Anda saat ini dapat menggunakan templat ARM, Azure PowerShell, atau portal Azure untuk mengonfigurasi rute SNAT belajar otomatis.

Catatan

Rute SNAT pembelajaran otomatis hanya tersedia pada penyebaran jaringan virtual (jaringan virtual hub). Ini tidak tersedia pada penyebaran VWAN (hub virtual aman). Untuk informasi selengkapnya tentang opsi arsitektur Azure Firewall, lihat Apa saja opsi arsitektur Azure Firewall Manager?

Mengonfigurasi dengan menggunakan templat ARM

Anda dapat menggunakan JSON berikut untuk mengonfigurasi pembelajaran otomatis. Azure Firewall harus dikaitkan dengan Azure Route Server.

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

Gunakan JSON berikut untuk mengaitkan Azure Route Server:

{
   "type": "Microsoft.Network/azureFirewalls",
   "apiVersion": "2022-11-01",
   "name": "[parameters('azureFirewalls_testFW_name')]",
   "location": "eastus",
   "properties": {
      "sku": {
         "name": "AZFW_VNet",
         "tier": "Standard"
      },
      "threatIntelMode": "Alert",
      "additionalProperties": {
         "Network.RouteServerInfo.RouteServerID": "[parameters('virtualHubs_TestRouteServer_externalid')]"
      }
   }
}

Mengonfigurasi menggunakan Azure PowerShell

  • Buat firewall baru dengan RouteServerId.

    # specify RouteServerId Uri
    $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS"
    
    # Create AzureFirewall
    $azureFirewall = New-AzFirewall -Name $azureFirewallName -ResourceGroupName `
      $rgname -Location $location -RouteServerId $routeServerId
    
    # Get firewall and confirm if RouteServerId is included on the response under additional properties (Network.RouteServerInfo.RouteServerID)
    Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
  • Memperbarui firewall yang ada dengan RouteServerId

    # specify RouteServerId Uri
    $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS"
    
    # Get firewall
    $azFirewall = Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
    # Update the response with RouteServerId and do firewall SET
    $azFirewall.RouteServerId = $routeServerId
    Set-AzFirewall -AzureFirewall $azFirewall
    
    # Do firewall Get and confirm if routeServerId is updated
    Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
  • Buat kebijakan firewall baru dengan parameter SNAT yang disediakan.

    # If AutoLearnPrivateRange parameter is provided, auto learn will be enabled, if not it will be disabled
    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange
    
    # Create AzureFirewallPolicy (with SNAT)
    $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName `
      -ResourceGroupName $rgname -Location $location -Snat $snat
    
    # Get AzureFirewallPolicy and verify
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  • Memperbarui kebijakan firewall yang ada dengan SNAT

    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2
    
    # Set AzureFirewallPolicy
    $azureFirewallPolicy.Snat = $snat
    Set-AzFirewallPolicy -InputObject $azureFirewallPolicy
    
    # Do Get and Verify
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  • Temukan Prefiks yang Dikenali Firewall

    Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
    

Mengonfigurasi menggunakan portal Microsoft Azure

Untuk mengonfigurasi rute SNAT autolearn (pratinjau) menggunakan portal Microsoft Azure, ikuti langkah-langkah berikut:

  1. Tambahkan subnet:

    • Tambahkan subnet bernama RouteServerSubnet ke jaringan virtual firewall yang ada.
    • Pastikan ukuran subnet minimal /27.
  2. Menyebarkan Route Server:

  3. Kaitkan Route Server:

    • Pada halaman Firewall Awalan IP SNAT yang Dipelajari (pratinjau), tambahkan server rute.
  4. Ubah kebijakan firewall:

    • Aktifkan Pelajari otomatis awalan IP (pratinjau) di bagian Rentang IP Privat (SNAT) dari kebijakan firewall.
  5. Lihat rute yang dipelajari:

    • Periksa rute yang dipelajari pada panel Awalan IP SNAT yang Dipelajari (pratinjau).

Langkah berikutnya