إنشاء بوابة VPN مستندة إلى المسار باستخدام PowerShell
تساعدك هذه المقالة في إنشاء بوابة Azure VPN مستندة إلى المسار بسرعة باستخدام PowerShell. يتم استخدام بوابة VPN عند إنشاء اتصال VPN بشبكتك المحلية. يمكنك أيضًا استخدام بوابة VPN للاتصال بشبكة ظاهرية.
قبل أن تبدأ
ستقوم الخطوات الواردة في هذه المقالة بإنشاء شبكة ظاهرية، وشبكة فرعية، وشبكة فرعية للبوابة، وبوابة VPN مستندة إلى المسار (بوابة شبكة ظاهرية). بمجرد اكتمال إنشاء البوابة، يمكنك بعد ذلك إنشاء اتصالات. تتطلب هذه الخطوات اشتراك Azure. إذا لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
العمل مع Azure PowerShell
تستخدم هذه المقالة cmdlets PowerShell. لتشغيل cmdlets، يمكنك استخدام Azure Cloud Shell. Azure Cloud Shell عبارة عن واجهة تفاعلية مجانية يُمكنك استخدامها لتنفيذ الخطوات الواردة في هذه المقالة. يحتوي على أدوات Azure الشائعة والمثبتة مسبقًا والتي تم تكوينها للاستخدام مع حسابك.
لفتح Cloud Shell، ما عليك سوى تحديد "Try it" من الزاوية العليا اليسرى لكتلة التعليمة البرمجية. يمكنك أيضاً تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com/powershell. حدد "Copy" لنسخ كتل التعليمات البرمجية، ولصقها في Cloud Shell، ثم اضغط على مفتاح الإدخال لتشغيلها.
يمكن أيضاً تثبيت 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. في هذا المثال، يتم إنشاء شبكة ظاهرية باسم VNet1 في موقع EastUS:
$virtualNetwork = New-AzVirtualNetwork `
-ResourceGroupName TestRG1 `
-Location EastUS `
-Name VNet1 `
-AddressPrefix 10.1.0.0/16
أنشئ تكوين شبكة فرعية باستخدام New-AzVirtualNetworkSubnetConfig.
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
-Name Frontend `
-AddressPrefix 10.1.0.0/24 `
-VirtualNetwork $virtualNetwork
قم بتعيين تكوين الشبكة الفرعية للشبكة الظاهرية باستخدام cmdlet يسمى Set-AzVirtualNetwork.
$virtualNetwork | Set-AzVirtualNetwork
إضافة شبكة فرعية للبوابة
تحتوي شبكة البوابة الفرعية على عناوين IP المحجوزة التي تستخدمها خدمات بوابة الشبكة الظاهرية. استخدم الأمثلة التالية لإضافة شبكة فرعية للبوابة:
قم بتعيين متغير للشبكة الظاهرية الخاصة بك.
$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 عام:
$gwpip= New-AzPublicIpAddress -Name VNet1GWIP -ResourceGroupName TestRG1 -Location 'East US' -AllocationMethod Dynamic
إنشاء تكوين عنوان IP للبوابة
يحدد تكوين البوابة الشبكة الفرعية وعنوان IP العام المراد لاستخدامهما. استخدم النموذج التالي لإنشاء تكوين البوابة:
$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
$gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gwpip.Id
إنشاء بوابة VPN
قد يستغرق إنشاء بوابة 45 دقيقة أو أكثر، اعتماداً على بوابة SKU المحددة. بمجرد اكتمال البوابة، يمكنك إنشاء اتصال بين شبكتك الظاهرية وشبكة ظاهرية أخرى. أو قم بإنشاء اتصال بين شبكتك الظاهرية وموقع محلي. قم بإنشاء بوابة VPN باستخدام cmdlet المسمى New-AzVirtualNetworkGateway.
New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location 'East US' -IpConfigurations $gwipconfig -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw1
عرض بوابة الشبكة الظاهرية الخاصة (VPN)
يمكنك عرض بوابة VPN باستخدام cmdlet المسمى Get-AzVirtualNetworkGateway.
Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1
سيبدو الناتج مشابهًا لهذا المثال:
Name : VNet1GW
ResourceGroupName : TestRG1
Location : eastus
Id : /subscriptions/<subscription ID>/resourceGroups/TestRG1/provide
rs/Microsoft.Network/virtualNetworkGateways/VNet1GW
Etag : W/"0952d-9da8-4d7d-a8ed-28c8ca0413"
ResourceGuid : dc6ce1de-2c4494-9d0b-20b03ac595
ProvisioningState : Succeeded
Tags :
IpConfigurations : [
{
"PrivateIpAllocationMethod": "Dynamic",
"Subnet": {
"Id": "/subscriptions/<subscription ID>/resourceGroups/Te
stRG1/providers/Microsoft.Network/virtualNetworks/VNet1/subnets/GatewaySubnet"
},
"PublicIpAddress": {
"Id": "/subscriptions/<subscription ID>/resourceGroups/Te
stRG1/providers/Microsoft.Network/publicIPAddresses/VNet1GWIP"
},
"Name": "default",
"Etag": "W/\"0952d-9da8-4d7d-a8ed-28c8ca0413\"",
"Id": "/subscriptions/<subscription ID>/resourceGroups/Test
RG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW/ipConfigurations/de
fault"
}
]
GatewayType : Vpn
VpnType : RouteBased
EnableBgp : False
ActiveActive : False
GatewayDefaultSite : null
Sku : {
"Capacity": 2,
"Name": "VpnGw1",
"Tier": "VpnGw1"
}
VpnClientConfiguration : null
BgpSettings : {
عرض عنوان IP العام
لعرض عنوان IP العام لبوابة VPN الخاصة بك، استخدم cmdlet المسمى Get-AzPublicIpAddress.
Get-AzPublicIpAddress -Name VNet1GWIP -ResourceGroupName TestRG1
في استجابة المثال، تكون قيمة IpAddress هي عنوان IP العام.
Name : VNet1GWIP
ResourceGroupName : TestRG1
Location : eastus
Id : /subscriptions/<subscription ID>/resourceGroups/TestRG1/provi
ders/Microsoft.Network/publicIPAddresses/VNet1GWIP
Etag : W/"5001666a-bc2a-484b-bcf5-ad488dabd8ca"
ResourceGuid : 3c7c481e-9828-4dae-abdc-f95b383
ProvisioningState : Succeeded
Tags :
PublicIpAllocationMethod : Dynamic
IpAddress : 13.90.153.3
PublicIpAddressVersion : IPv4
IdleTimeoutInMinutes : 4
IpConfiguration : {
"Id": "/subscriptions/<subscription ID>/resourceGroups/Test
RG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW/ipConfigurations/
default"
}
DnsSettings : null
Zones : {}
Sku : {
"Name": "Basic"
}
IpTags : {}
تنظيف الموارد
عندما لا تَعُد بحاجة إلى الموارد التي قمت بإنشائها، استخدم الأمر Remove-AzResourceGroup لحذف مجموعة الموارد. سيؤدي ذلك إلى حذف مجموعة الموارد وجميع الموارد التي تحتوي عليها.
Remove-AzResourceGroup -Name TestRG1
الخطوات التالية
بمجرد انتهاء إنشاء البوابة، يمكنك إنشاء اتصال بين شبكتك الظاهرية وشبكة ظاهرية أخرى. أو قم بإنشاء اتصال بين شبكتك الظاهرية وموقع محلي.