مشاركة عبر


نطاقات عناوين IP الخاصة SNAT جدار حماية Azure

يوفر جدار حماية Azure إمكانية SNAT لجميع نسبة استخدام الشبكة الصادرة إلى عناوين IP العامة. بشكل افتراضي، لا يقوم جدار حماية Azure SNAT باستخدام قواعد الشبكة عندما يكون عنوان IP الوجهة في نطاق عناوين IP خاص لكل IANA RFC 1918 أو مساحة عنوان مشتركة لكل IANA RFC 6598. قواعد التطبيق دائما SNATed باستخدام وكيل شفاف بغض النظر عن عنوان IP الوجهة.

هذا السلوك الافتراضي مناسب عند توجيه نسبة استخدام الشبكة مباشرة إلى الإنترنت. ومع ذلك، هناك سيناريوهات قد تحتاج فيها إلى تجاوز سلوك SNAT الافتراضي:

  • إذا قمت بتمكين الاتصال النفقي القسري، فإن نسبة استخدام الشبكة المرتبطة بالإنترنت هي SNATed إلى أحد عناوين IP الخاصة بجدار الحماية في AzureFirewallSubnet، ما يخفي المصدر من جدار الحماية المحلي.
  • إذا كانت مؤسستك تستخدم نطاقات عناوين IP المسجلة خارج IANA RFC 1918 أو IANA RFC 6598 للشبكات الخاصة، فإن Azure Firewall SNATs نسبة استخدام الشبكة إلى أحد عناوين IP الخاصة بجدار الحماية في AzureFirewallSubnet. يمكنك تكوين جدار حماية Azure Firewall على عدم ترجمة عنوان شبكة المصدر SNAT لنطاق عنوان IP العام الخاص بك. على سبيل المثال، حدد عنوان IP فردي ك x.x.x.x أو نطاق من عناوين IP ك x.x.x.x/24.

يمكنك تغيير سلوك Azure Firewall SNAT بالطرق التالية:

  • لتكوين Azure Firewall على عدم معالجة نسبة استخدام الشبكة SNAT بواسطة قواعد الشبكة بغض النظر عن عنوان IP الوجهة، استخدم 0.0.0.0/0 كنطاق عنوان IP الخاص بك. باستخدام هذا التكوين، لا يمكن لجدار حماية Azure توجيه نسبة استخدام الشبكة مباشرة إلى الإنترنت.
  • لتكوين جدار الحماية لحركة مرور SNAT التي تتم معالجتها دائما بواسطة قواعد الشبكة بغض النظر عن عنوان الوجهة، استخدم 255.255.255.255/32 كنطاق عناوين IP خاص بك.
  • يمكن تكوين جدار حماية Azure للتعلم التلقائي للنطاقات المسجلة والخاصة كل ساعة واستخدام المسارات المستفادة ل SNAT. تتطلب إمكانية المعاينة هذه نشر Azure Route Server في نفس الشبكة الظاهرية مثل Azure Firewall.

هام

  • ينطبق تكوين نطاق العنوان الخاص فقط على قواعد الشبكة. قواعد التطبيق دائما SNAT.
  • إذا كنت تريد تحديد نطاقات عناوين IP الخاصة بك والاحتفاظ لنطاقات عناوين IANA RFC 1918 الافتراضية، فتأكد من أن قائمتك المخصصة لا تزال تتضمن نطاق IANA RFC 1918.

يمكنك تكوين عناوين IP الخاصة بـ SNAT باستخدام الطرق التالية. استخدم الأسلوب المناسب للتكوين الخاص بك. يجب أن تحدد جدران الحماية المقترنة بنهج جدار الحماية النطاق في النهج ولا تستخدم AdditionalProperties.

الأسلوب استخدام القواعد الكلاسيكية استخدام نهج جدار الحماية
مدخل Azure مدعومة مدعومة
Azure PowerShell PrivateRangeتكوين غير مدعوم حالياً
Azure CLI --private-rangesتكوين غير مدعوم حالياً
قالب ARM تكوين AdditionalProperties في خاصية جدار الحماية تكوين snat/privateRanges في نهج جدار الحماية

تكوين نطاقات عناوين IP الخاصة بـ SNAT - Azure PowerShell

القواعد الكلاسيكية

يمكنك استخدام Azure PowerShell لتحديد نطاقات عناوين IP الخاصة لجدار الحماية.

إشعار

يتم تجاهل خاصية جدار الحماية PrivateRange لجدران الحماية المرتبطة بنهج جدار الحماية. يجب عليك استخدام الخاصية SNAT في firewallPolicies كما هو موضح في تكوين نطاقات عناوين IP الخاصة بـ SNAT - قالب ARM .

جدار حماية جديد

بالنسبة لجدار حماية جديد باستخدام القواعد الكلاسيكية، استخدم Azure PowerShell cmdlet التالي:

$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

إشعار

  • يتطلب نشر جدار حماية Azure باستخدام New-AzFirewall شبكة ظاهرية موجودة وعنوان IP عام. راجع توزيع وتكوين Azure Firewall باستخدام Azure PowerShell للحصول على دليل توزيع كامل.
  • IANAPrivateRanges يتم توسيعه إلى الإعدادات الافتراضية الحالية على Azure Firewall أثناء إضافة النطاقات الأخرى إليه. للاحتفاظ بالإعداد IANAPrivateRanges الافتراضي في مواصفات النطاق الخاص، يجب أن يظل في المواصفات كما PrivateRange هو موضح في المثال.

لمزيد من المعلومات، راجع New-AzFirewall.

جدار الحماية الحالي

لتكوين جدار حماية موجود باستخدام القواعد الكلاسيكية، استخدم أوامر Azure PowerShell cmdlets التالية:

$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

تكوين نطاقات عناوين IP الخاصة SNAT - 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

إشعار

  • يتطلب نشر جدار حماية Azure باستخدام الأمر az network firewall create Azure CLI خطوات تكوين إضافية لإنشاء عناوين IP عامة وتكوين IP. راجع توزيع وتكوين Azure Firewall باستخدام Azure CLI للحصول على دليل توزيع كامل.
  • 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

تكوين نطاقات عناوين IP الخاصة SNAT - قالب ARM

القواعد الكلاسيكية

لتكوين SNAT أثناء نشر قالب ARM، أضف ما يلي إلى الخاصية additionalProperties :

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

نهج جدار الحماية

تدعم جدران حماية Azure المقترنة بنهج جدار الحماية نطاقات SNAT الخاصة منذ إصدار واجهة برمجة التطبيقات 2020-11-01. يمكنك استخدام قالب لتحديث النطاق الخاص ل 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]"
      }
   }
}

تكوين نطاقات عناوين IP الخاصة SNAT - مدخل Microsoft Azure

القواعد الكلاسيكية

يمكنك استخدام مدخل Microsoft Azure لتحديد نطاقات عناوين IP الخاصة لجدار الحماية.

  1. حدد مجموعة الموارد الخاصة بك، ثم حدد جدار الحماية الخاص بك.

  2. في صفحة نظرة عامة، نطاقات IP الخاصة، حدد القيمة الافتراضية IANA RFC 1918.

    تفتح صفحة تحرير بادئات IP الخاصة:

  3. افتراضياً، يتم تكوين IANAPrivateRanges.

  4. قم بتحرير نطاقات عناوين IP الخاصة لبيئتك، ثم حدد Save.

نهج جدار الحماية

  1. حدد مجموعة الموارد الخاصة بك، ثم حدد نهج جدار الحماية الخاص بك.
  2. حدد Private IP ranges (SNAT) في عمود Settings.
  3. حدد الشروط لتنفيذ SNAT للبيئة الخاصة بك ضمن تنفيذ SNAT لتخصيص تكوين SNAT.
  4. حدد تطبيق.

التعرف التلقائي على مسارات SNAT (معاينة)

يمكنك تكوين جدار حماية Azure للتعلم التلقائي لكل من النطاقات المسجلة والخاصة كل 30 دقيقة. تعتبر نطاقات العناوين المستفادة هذه داخلية للشبكة، لذا فإن نسبة استخدام الشبكة إلى الوجهات في النطاقات المستفادة ليست SNATed. تتطلب نطاقات SNAT للتعلم التلقائي نشر Azure Route Server في نفس الشبكة الظاهرية مثل Azure Firewall. يجب أن يكون جدار الحماية مقترنا ب Azure Route Server وأن يتم تكوينه للتعلم التلقائي لنطاقات SNAT في نهج جدار حماية Azure. يمكنك حاليا استخدام قالب ARM أو Azure PowerShell أو مدخل Microsoft Azure لتكوين مسارات SNAT للتعلم التلقائي.

إشعار

تتوفر مسارات SNAT للتعلم التلقائي فقط على عمليات نشر الشبكة الظاهرية (الشبكة الظاهرية المركزية). لا يتوفر على عمليات نشر VWAN (مركز ظاهري آمن). لمزيد من المعلومات حول خيارات بنية جدار حماية Azure، راجع ما هي خيارات بنية Azure Firewall Manager؟

تكوين باستخدام قالب ARM

يمكنك استخدام JSON التالي لتكوين التعلم التلقائي. يجب أن يكون Azure Firewall مقترنا ب 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"
      }
   }
}

استخدم JSON التالي لربط 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')]"
      }
   }
}

قم بالتكوين باستخدام Azure PowerShell

  • إنشاء جدار حماية جديد باستخدام 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 
    
  • تحديث جدار حماية موجود باستخدام 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
    
  • إنشاء نهج جدار حماية جديد مع توفير معلمة SNAT

    # 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 
    
  • تحديث نهج جدار حماية موجود باستخدام 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 
    
  • الحصول على البادئات المستفادة من جدار الحماية

    Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname 
    

تكوين باستخدام مدخل Microsoft Azure

لتكوين مسارات SNAT للتعلم التلقائي (معاينة) باستخدام مدخل Microsoft Azure، اتبع الخطوات التالية:

  1. إضافة شبكة فرعية:

    • أضف شبكة فرعية تسمى RouteServerSubnet إلى الشبكة الظاهرية لجدار الحماية الحالي.
    • تأكد من أن حجم الشبكة الفرعية هو /27 على الأقل.
  2. نشر Route Server:

  3. إقران Route Server:

    • في صفحة "Learned SNAT IP Prefixes (preview)" لجدار الحماية، أضف خادم التوجيه.
  4. تعديل نهج جدار الحماية:

    • تمكين بادئات IP للتعلم التلقائي (معاينة) في قسم نطاقات IP الخاصة (SNAT) في نهج جدار الحماية الخاص بك.
  5. عرض المسارات المستفادة:

    • تحقق من المسارات المستفادة في صفحة البادئات IP SNAT المستفادة (معاينة ).

الخطوات التالية