نطاقات عناوين 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 بحيث ليس SNAT نطاق عناوين IP العام الخاص بك. على سبيل المثال، لتحديد عنوان IP فردي، يمكنك تحديده على النحو التالي:
192.168.1.10
. لتحديد نطاق من عناوين IP، يمكنك تحديده على النحو التالي:192.168.1.0/24
.
يمكن تغيير سلوك SNAT لجدار حماية Azure بالطرق التالية:
لتكوين Azure Firewall على عدم معالجة نسبة استخدام الشبكة SNAT بواسطة قواعد الشبكة بغض النظر عن عنوان IP الوجهة، استخدم 0.0.0.0/0 كنطاق عنوان IP الخاص بك. باستخدام هذا التكوين، لا يمكن لـ Azure Firewall توجيه حركة المرور مباشرةً إلى الإنترنت.
لتكوين جدار الحماية ل SNAT الذي تتم معالجته دائما بواسطة قواعد الشبكة بغض النظر عن عنوان الوجهة، استخدم 255.255.255.255/32 كنطاق عناوين IP الخاص بك.
يمكن تكوين Azure Firewall للتعلم التلقائي للنطاقات المسجلة والخاصة كل ساعة واستخدام المسارات المستفادة ل SNAT. يجب أن تحتوي إمكانية المعاينة هذه على Azure Route Server منشور في نفس VNet مثل Azure Firewall.
هام
ينطبق تكوين نطاق العنوان الخاص فقط على قواعد الشبكة. حالياً، قواعد التطبيق دائماً SNAT.
هام
إذا كنت ترغب في تحديد نطاقات عناوين IP الخاصة بك، والاحتفاظ بنطاقات عناوين IANA RFC 1918 الافتراضية، فتأكد من أن قائمتك المخصصة لا تزال تتضمن نطاق IANA RFC 1918.
يمكنك تكوين عناوين IP الخاصة بـ SNAT باستخدام الطرق التالية. يجب عليك تكوين عناوين 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 Firewall باستخدام New-AzFirewall
وجود VNet وعنوان 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 Firewall باستخدام أمر Azure CLI az network firewall create
خطوات تكوين إضافية لإنشاء عناوين 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 API. حالياً، يمكنك استخدام نموذج لتحديث نطاق 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 الخاصة لجدار الحماية.
حدد مجموعة الموارد الخاصة بك، ثم حدد جدار الحماية الخاص بك.
في صفحة نظرة عامة، نطاقات IP الخاصة، حدد القيمة الافتراضية IANA RFC 1918.
تفتح صفحة تحرير بادئات IP الخاصة:
افتراضياً، يتم تكوين IANAPrivateRanges.
قم بتحرير نطاقات عناوين IP الخاصة لبيئتك، ثم حدد Save.
نهج جدار الحماية
حدد مجموعة الموارد الخاصة بك، ثم حدد نهج جدار الحماية الخاص بك.
حدد Private IP ranges (SNAT) في عمود Settings.
حدد الشروط لتنفيذ SNAT للبيئة الخاصة بك ضمن تنفيذ SNAT لتخصيص تكوين SNAT.
حدد تطبيق.
التعرف التلقائي على مسارات SNAT (معاينة)
يمكنك تكوين جدار حماية Azure للتعلم التلقائي لكل من النطاقات المسجلة والخاصة كل 30 دقيقة. تعتبر نطاقات العناوين المستفادة هذه داخلية للشبكة، لذا فإن نسبة استخدام الشبكة إلى الوجهات في النطاقات المستفادة ليست SNATed. تتطلب نطاقات SNAT للتعلم التلقائي نشر Azure Route Server في نفس VNet مثل 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
يمكنك استخدام المدخل لربط Route Server بجدار حماية Azure لتكوين مسارات SNAT للتعلم التلقائي (معاينة).
استخدم المدخل لإكمال المهام التالية:
- أضف شبكة فرعية تسمى RouteServerSubnet إلى VNet لجدار الحماية الحالي. يجب أن يكون حجم الشبكة الفرعية /27 على الأقل.
- انشر Route Server في جدار الحماية الظاهري الموجود. للحصول على معلومات حول Azure Route Server، راجع التشغيل السريع: إنشاء وتكوين Route Server باستخدام مدخل Microsoft Azure.
- أضف خادم التوجيه على صفحة Firewall Learned SNAT IP Prefixes (preview).
- قم بتعديل نهج جدار الحماية لتمكين بادئات IP للتعلم التلقائي (معاينة) في قسم نطاقات IP الخاصة (SNAT ).
- يمكنك مشاهدة المسارات المستفادة في صفحة البادئات IP SNAT المستفادة (معاينة ).
الخطوات التالية
- تعرف على معلومات حول إنشاء نفق فرض بواسطة جدار حماية Azure .