إنشاء بوابة VPN باستخدام PowerShell
تساعدك هذه المقالة على إنشاء بوابة Azure VPN باستخدام PowerShell. يتم استخدام بوابة VPN عند إنشاء اتصال VPN بشبكتك المحلية. يمكنك أيضا استخدام بوابة VPN لتوصيل الشبكات الظاهرية. لمزيد من المعلومات الشاملة حول بعض الإعدادات في هذه المقالة، راجع إنشاء بوابة VPN - المدخل.
- يظهر الجانب الأيمن من الرسم التخطيطي الشبكة الظاهرية وبوابة VPN التي تقوم بإنشائها باستخدام الخطوات الواردة في هذه المقالة.
- يمكنك لاحقا إضافة أنواع مختلفة من الاتصالات، كما هو موضح على الجانب الأيسر من الرسم التخطيطي. على سبيل المثال، يمكنك إنشاء اتصالات من موقع إلى موقع ومن نقطة إلى موقع . لعرض بنيات تصميم مختلفة يمكنك إنشائها، راجع تصميم بوابة VPN.
تنشئ الخطوات الواردة في هذه المقالة شبكة ظاهرية وشبكة فرعية وشبكة فرعية للبوابة وبوابة VPN لوضع نشط-نشط مستند إلى التوجيه ومكررة في المنطقة (بوابة شبكة ظاهرية) باستخدام الجيل 2 VpnGw2AZ SKU. بمجرد إنشاء البوابة، يمكنك تكوين الاتصالات.
- إذا كنت ترغب في إنشاء بوابة VPN باستخدام Basic SKU بدلا من ذلك، راجع إنشاء بوابة Basic SKU VPN.
- نوصي بإنشاء بوابة VPN في الوضع النشط-النشط عندما يكون ذلك ممكنا. توفر بوابات VPN في الوضع النشط-النشط توفرا وأداء أفضل من بوابات VPN في الوضع القياسي. لمزيد من المعلومات حول البوابات النشطة، راجع حول بوابات الوضع النشط-النشط.
- للحصول على معلومات حول مناطق التوفر والبوابات المتكررة للمنطقة، راجع ما هي مناطق التوفر؟
إشعار
تستخدم الخطوات الواردة في هذه المقالة بوابة SKU VpnGw2AZ، وهي SKU تدعم مناطق توفر Azure. إذا لم تكن مناطق التوفر مدعومة لمنطقتك، فاستخدم وحدة SKU غير AZ بدلا من ذلك. لمزيد من المعلومات حول وحدات SKU، راجع حول وحدات SKU الخاصة بالبوابة.
قبل البدء
تتطلب هذه الخطوات اشتراك Azure. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
تستخدم هذه المقالة cmdlets PowerShell. لتشغيل cmdlets، يمكنك استخدام Azure Cloud Shell. Cloud Shell عبارة عن غلاف تفاعلي مجاني يمكنك استخدامه لتنفيذ الخطوات الواردة في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.
لفتح Cloud Shell، ما عليك سوى تحديد Open Cloudshell من الزاوية العلوية اليسرى من كتلة التعليمات البرمجية. يمكنك أيضًا فتح Cloud Shell في علامة تبويب متصفح منفصلة بالانتقال إلى https://shell.azure.com/powershell. حدّد Copy لنسخ مجموعات التعليمة البرمجية، ولصقها في علامة التبويب Cloud Shell، وحدد المفتاح Enter لتشغيلهم.
يمكن أيضاً تثبيت cmdlets Azure PowerShell وتشغيله محلياً على جهازك. تحديث cmdlets PowerShell بشكل متكرر إذا لم تقم بتثبيت أحدث إصدار، فقد تفشل القيم المحددة في الإرشادات. لمعرفة إصدار Azure PowerShell المُثبت على جهازك، يمكن استخدام Get-Module -ListAvailable Az
cmdlet. للتثبيت أو التحديث، راجع تثبيت وحدة Azure PowerShell.
إنشاء مجموعة موارد
إنشاء مجموعة موارد Azure باستخدام الأمر New-AzResourceGroup . وتُعد مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. إذا كنت تقوم بتشغيل PowerShell محلياً، فافتح وحدة تحكم PowerShell بامتيازات مرتفعة واتصل بـ Azure باستخدام الأمر Connect-AzAccount
.
New-AzResourceGroup -Name TestRG1 -Location EastUS
إنشاء شبكة ظاهرية
إذا لم يكن لديك شبكة ظاهرية بالفعل، فبادر بإنشاء شبكة باستخدام New-AzVirtualNetwork. عند إنشاء شبكة ظاهرية، تأكد من أن مساحات العناوين التي تحددها لا تتداخل مع أي من مسافات العناوين الموجودة لديك على الشبكة المحلية. إذا كان هناك نطاق عناوين مكرر على جانبي اتصال VPN، فلن تقوم حركة المرور بتوجيه الطريقة التي قد تتوقعها. بالإضافة إلى ذلك، إذا كنت تريد توصيل هذه الشبكة الظاهرية بشبكة ظاهرية أخرى، فلا يمكن أن تتداخل مساحة العنوان مع الشبكة الظاهرية الأخرى. احرص على تخطيط تكوين الشبكة وفقًا لذلك.
في هذا المثال، يتم إنشاء شبكة ظاهرية باسم VNet1 في موقع EastUS:
$virtualnetwork = New-AzVirtualNetwork `
-ResourceGroupName TestRG1 `
-Location EastUS `
-Name VNet1 `
-AddressPrefix 10.1.0.0/16
أنشئ تكوين شبكة فرعية باستخدام New-AzVirtualNetworkSubnetConfig. لا يتم استخدام الشبكة الفرعية FrontEnd في هذا التمرين. يمكنك استبدال اسم الشبكة الفرعية الخاصة بك.
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
-Name FrontEnd `
-AddressPrefix 10.1.0.0/24 `
-VirtualNetwork $virtualnetwork
قم بتعيين تكوين الشبكة الفرعية للشبكة الظاهرية باستخدام cmdlet يسمى Set-AzVirtualNetwork.
$virtualnetwork | Set-AzVirtualNetwork
إضافة بوابة شبكة فرعية
يتم نشر موارد بوابة الشبكة الظاهرية إلى شبكة فرعية معينة تسمى GatewaySubnet. الشبكة الفرعية للبوابة هي جزء من نطاق عنوان IP للشبكة الظاهرية الذي تحدده عند تكوين الشبكة الظاهرية.
إذا لم يكن لديك شبكة فرعية تسمى GatewaySubnet، عند إنشاء بوابة VPN الخاصة بك، فإنها تفشل. نوصي بإنشاء شبكة فرعية للبوابة تستخدم /27 (أو أكبر). على سبيل المثال، /27 أو /26. لمزيد من المعلومات، راجع إعدادات بوابة VPN - الشبكة الفرعية للبوابة.
هام
NSGs على الشبكة الفرعية للبوابة غير مدعومة. قد يؤدي إقران مجموعة أمان الشبكة بهذه الشبكة الفرعية إلى توقف بوابة الشبكة الظاهرية (VPN وبوابات ExpressRoute) عن العمل كما هو متوقع. لمزيد من المعلومات حول مجموعات أمان الشبكة، يُرجى مراجعة ما هي مجموعة أمان الشبكة؟.
تعيين متغير لشبكتك الظاهرية.
$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1
إنشاء الشبكة الفرعية للبوابة باستخدام cmdlet يسمى Add-AzVirtualNetworkSubnetConfig.
Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet
قم بتعيين تكوين الشبكة الفرعية للشبكة الظاهرية باستخدام cmdlet يسمى Set-AzVirtualNetwork.
$vnet | Set-AzVirtualNetwork
طلب عناوين IP العامة
يجب أن تحتوي بوابة VPN على عنوان IP عام. عند إنشاء اتصال ببوابة VPN، فهذا هو عنوان IP الذي تحدده. بالنسبة لبوابات الوضع النشط-النشط، لكل مثيل بوابة مورد عنوان IP عام خاص به. يمكنك أولًا طلب مورد عنوان IP، ثم الرجوع إليه عند إنشاء بوابة الشبكة الظاهرية. بالإضافة إلى ذلك، لأي بوابة SKU تنتهي ب AZ، يجب عليك أيضا تحديد إعداد المنطقة. يحدد هذا المثال تكوين المنطقة المكررة لأنه يحدد جميع المناطق الإقليمية الثلاث.
يتم تعيين عنوان IP للمورد عند إنشاء بوابة VPN. المرة الوحيدة التي يتغير فيها عنوان IP العام هي عندما يتم حذف البوابة وإعادة إنشائها. لا يتغير عبر تغيير الحجم أو إعادة التعيين أو الصيانة الداخلية الأخرى/ترقيات بوابة VPN الخاصة بك.
استخدم الأمثلة التالية لطلب عنوان IP عام ثابت لكل مثيل بوابة.
$gw1pip1 = New-AzPublicIpAddress -Name "VNet1GWpip1" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3
لإنشاء بوابة نشطة-نشطة (مستحسن)، اطلب عنوان IP عاما ثانيا:
$gw1pip2 = New-AzPublicIpAddress -Name "VNet1GWpip2" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3
إنشاء تكوين عنوان IP للبوابة
يحدد تكوين البوابة الشبكة الفرعية وعنوان IP العام المراد لاستخدامهما. استخدم المثال التالي لإنشاء تكوين البوابة.
$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
$gwipconfig1 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip1.Id
$gwipconfig2 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig2 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip2.Id
إنشاء بوابة VPN
قد يستغرق إنشاء بوابة 45 دقيقة أو أكثر، اعتماداً على بوابة SKU المحددة. بمجرد إنشاء البوابة، يمكنك إنشاء اتصال بين شبكتك الظاهرية وموقعك المحلي. أو أنشئ اتصالا بين شبكتك الظاهرية وشبكة ظاهرية أخرى.
قم بإنشاء بوابة VPN باستخدام cmdlet المسمى New-AzVirtualNetworkGateway. لاحظ في الأمثلة أنه تتم الإشارة إلى كل من عناوين IP العامة ويتم تكوين البوابة على أنها نشطة باستخدام EnableActiveActiveFeature
مفتاح التبديل. في المثال، نضيف مفتاح التبديل الاختياري -Debug
. إذا كنت ترغب في إنشاء بوابة باستخدام وحدة SKU مختلفة، فشاهد حول وحدات SKU للبوابة لتحديد SKU الذي يناسب متطلبات التكوين الخاصة بك بشكل أفضل.
New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig1,$gwipconfig2 -GatewayType "Vpn" -VpnType RouteBased `
-GatewaySku VpnGw2AZ -VpnGatewayGeneration Generation2 -EnableActiveActiveFeature -Debug
عرض بوابة الشبكة الافتراضية الخاصة VPN
يمكنك عرض بوابة VPN باستخدام cmdlet المسمى Get-AzVirtualNetworkGateway.
Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1
عرض عناوين IP للبوابة
يتم تعيين مورد عنوان IP عام لكل مثيل بوابة VPN. لعرض عنوان IP المقترن بالمورد، استخدم Get-AzPublicIpAddress cmdlet. كرر ذلك لكل مثيل بوابة. تحتوي البوابات النشطة-النشطة على عنوان IP عام مختلف تم تعيينه لكل مثيل.
Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1
تنظيف الموارد
عندما لم تعد بحاجة إلى الموارد التي قمت بإنشائها، استخدم الأمر Remove-AzResourceGroup لحذف مجموعة الموارد. يؤدي ذلك إلى حذف مجموعة الموارد وجميع الموارد التي تحتوي عليها.
Remove-AzResourceGroup -Name TestRG1
الخطوات التالية
بمجرد إنشاء البوابة، يمكنك تكوين الاتصالات.