تكوين إعدادات خادم بوابة VPN P2S - مصادقة RADIUS

تساعدك هذه المقالة على إنشاء اتصال من نقطة إلى موقع (P2S) يستخدم مصادقة RADIUS. يمكنك إنشاء هذا التكوين باستخدام PowerShell أو مدخل Microsoft Azure. إذا كنت تريد المصادقة باستخدام أسلوب مختلف، فشاهد المقالات التالية:

لمزيد من المعلومات حول اتصالات VPN من نقطة إلى موقع، راجع حول P2S VPN.

يتطلب هذا النوع من الاتصال ما يلي:

  • بوابة VPN قائمة على الطريق.
  • خادم RADIUS للتعامل مع مصادقة المستخدم. يمكن نشر خادم RADIUS محليا، أو في شبكة Azure الظاهرية (VNet). يمكنك أيضًا تكوين خادمين RADIUS للتوفر العالي.
  • حزمة تكوين ملف تعريف عميل VPN. حزمة تكوين ملف تعريف عميل VPN هي حزمة تنشئها. يحتوي على الإعدادات المطلوبة لعميل VPN للاتصال عبر P2S.

القيود:

  • إذا كنت تستخدم IKEv2 مع RADIUS، يتم دعم المصادقة المستندة إلى EAP فقط.
  • لا يمكن استخدام اتصال ExpressRoute للاتصال بخادم RADIUS محلي.

حول مصادقة مجال Active Directory (AD) لشبكات P2S VPN

تسمح مصادقة مجال AD للمستخدمين بتسجيل الدخول إلى Azure باستخدام بيانات اعتماد مجال مؤسستهم. يتطلب خادم RADIUS الذي يتكامل مع خادم AD. يمكن للمؤسسات أيضا استخدام توزيع RADIUS الحالي.

يمكن أن يتواجد خادم نصف القطر في الموقع أو في Azure VNet. في أثناء المصادقة، تعمل بوابة Azure VPN كمرور عبر رسائل المصادقة وتعيد توجيهها عدة مرات بين خادم RADIUS والجهاز الذي يقوم بالاتصال. من المهم أن تكون بوابة VPN قادرة على الوصول إلى خادم RADIUS. إذا كان خادم RADIUS موجود محلياً، عندئذٍ يلزم توفر اتصال VPN من موقع إلى موقع من Azure إلى الموقع المحلي.

بصرف النظر عن Active Directory، يمكن لخادم RADIUS أيضًا التكامل مع أنظمة الهوية الخارجية الأخرى. هذا يفتح الكثير من خيارات المصادقة لشبكات VPN من نقطة إلى موقع، بما في ذلك خيارات المصادقة متعددة العوامل. تحقق من وثائق مورد خادم RADIUS للحصول على قائمة بأنظمة الهوية التي يتكامل معها.

رسم تخطيطي لاتصال P2S لمصادقة RADIUS.

قبل البدء

تحقق من أن لديك اشتراك Azure. إذا لم يكن لديك اشتراك Azure بالفعل، يمكنك تنشيط ميزات المشترك في MSDN خاصتك أو الاشتراك في حساب مجاني.

إدارة باستخدام Azure PowerShell

تستخدم هذه المقالة 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.

قيم الأمثلة

يمكنك استخدام قيم المثال لإنشاء بيئة اختبار، أو الرجوع إلى هذه القيم لفهم الأمثلة الواردة في هذه المقالة بشكل أفضل. يمكنك إما استخدام الخطوات كجولة تفصيلية واستخدام القيم دون تغييرها، أو تغييرها لتعكس بيئتك.

  • الاسم: VNet1
  • مساحة العنوان: 10.1.0.0/16 و 10.254.0.0/16
    على سبيل المثال، نستخدم أكثر من مساحة عنوان واحدة لتوضيح أن هذا التكوين يعمل مع مساحات عناوين متعددة. ومع ذلك، لا يلزم وجود مساحات عناوين متعددة لهذا التكوين.
  • اسم الشبكة الفرعية: FrontEnd
    • نطاق عنوان الشبكة الفرعية: 10.1.0.0/24
  • اسم الشبكة الفرعية: الواجهة الخلفية
    • نطاق عنوان الشبكة الفرعية: 10.254.1.0/24
  • اسم الشبكة الفرعية: GatewaySubnet
    اسم الشبكة الفرعية GatewaySubnet إلزامي لبوابة VPN للعمل.
    • نطاق عناوين GatewaySubnet: 10.1.255.0/27
  • تجمع عناوين عملاء VPN: 172.16.201.0/24
    إن عملاء VPN المتصلون بشبكة VNet باستخدام اتصال نقطة إلى موقع يتلقون عنوان IP من قائمة عناوين عملاء VPN.
  • الاشتراك: إذا كان لديك أكثر من اشتراك واحد، فتحقق من أنك تستخدم الاشتراك الصحيح.
  • مجموعة الموارد: TestRG1
  • الموقع: شرق الولايات المتحدة
  • خادم DNS: عنوان IP لخادم DNSالذي تريد استخدامه لتحليل الاسم لـVNet. (اختياري)
  • GW الاسم: Vnet1GW
  • اسم IP العام: VNet1GWPIP
  • VPNType: RouteBased

إنشاء مجموعة الموارد وVNet وعنوان IP العام

الخطوات التالية إنشاء مجموعة موارد وشبكة ظاهرية في مجموعة الموارد مع ثلاث شبكات فرعية. عند استبدال القيم، من المهم دائما تسمية الشبكة الفرعية للبوابة الخاصة بك على وجه التحديد GatewaySubnet. إذا أعطيتها اسمًا آخر، سيفشل إنشاء البوابة الخاصة بك.

  1. أنشئ مجموعة موارد باستخدام New-AzResourceGroup.

    New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
    
  2. إنشاء الشبكة الظاهرية باستخدام New-AzVirtualNetwork.

    $vnet = New-AzVirtualNetwork `
    -ResourceGroupName "TestRG1" `
    -Location "EastUS" `
    -Name "VNet1" `
    -AddressPrefix 10.1.0.0/16
    
  3. إنشاء شبكات فرعية باستخدام New-AzVirtualNetworkSubnetConfig بالأسماء التالية: FrontEnd وGatewaySubnet (يجب تسمية الشبكة الفرعية للبوابة GatewaySubnet).

    $subnetConfigFrontend = Add-AzVirtualNetworkSubnetConfig `
      -Name Frontend `
      -AddressPrefix 10.1.0.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigGW = Add-AzVirtualNetworkSubnetConfig `
      -Name GatewaySubnet `
      -AddressPrefix 10.1.255.0/27 `
      -VirtualNetwork $vnet
    
  4. اكتب تكوينات الشبكة الفرعية إلى الشبكة الظاهرية باستخدام Set-AzVirtualNetwork، الذي ينشئ الشبكات الفرعية في الشبكة الظاهرية:

    $vnet | Set-AzVirtualNetwork
    

طلب عنوان IP عام

يجب أن تحتوي بوابة VPN على عنوان IP عام. يمكنك أولًا طلب مورد عنوان IP، ثم الرجوع إليه عند إنشاء بوابة الشبكة الظاهرية. يتم تعيين عنوان IP بشكل ثابت للمورد عند إنشاء بوابة VPN. المرة الوحيدة التي يتغير فيها عنوان IP العام هي عندما يتم حذف البوابة وإعادة إنشائها. لا يتغير عبر تغيير الحجم أو إعادة التعيين أو الصيانة الداخلية الأخرى/ترقيات بوابة VPN الخاصة بك.

  1. طلب عنوان IP عام لبوابة VPN الخاصة بك باستخدام New-AzPublicIpAddress.

    $gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
    
  2. إنشاء تكوين عنوان IP للبوابة باستخدام New-AzVirtualNetworkGatewayIpConfig. تتم الإشارة إلى هذا التكوين عند إنشاء بوابة VPN.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"
    $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
    

إعداد خادم RADIUS

قبل أن تنشئ بوابة الشبكة الظاهرية وتكوِّنها، يجب تكوين خادم RADIUS خاصتك على نحوٍ صحيحٍ للمصادقة.

  1. إذا لم يكن لديك خادم RADIUS تم نشره، فقم بنشر واحد. للحصول على خطوات النشر، راجع دليل الإعداد الذي يوفره مورد RADIUS.  
  2. قم بتكوين بوابة VPN كعميل RADIUS على RADIUS. عند إضافة عميل RADIUS هذا، حدد شبكة الاتصال الظاهرية GatewaySubnet التي قمت بإنشائها.
  3. بمجرد إعداد خادم RADIUS، احصل على عنوان IP الخاص بخادم RADIUS والسر المشترك الذي يجب على عملاء RADIUS استخدامه للتحدث إلى خادم RADIUS. إذا كان خادم RADIUS في Azure VNet، فاستخدم عنوان IP CA الخاص بالجهاز الظاهري لخادم RADIUS.

توفر مقالة خادم نهج الشبكة (NPS) إرشادات حول تكوين خادم RADIUS (NPS) Windows لمصادقة مجال AD.

إنشاء بوابة VPN

في هذه الخطوة، يمكنك إنشاء بوابة الشبكة الظاهرية لـ VNet. لمزيد من المعلومات الكاملة حول المصادقة ونوع النفق، راجع تحديد نوع النفق والمصادقة في إصدار مدخل Microsoft Azure من هذه المقالة.

  • يجب أن يكون -GatewayType 'Vpn' ويجب أن يكون -VpnType 'RouteBased'.
  • قد تستغرق بوابة VPN 45 دقيقة أو أكثر للبناء، اعتمادا على بوابة SKU التي تحددها.

في المثال التالي، نستخدم VpnGw2، الجيل 2 SKU. إذا رأيت أخطاء ValidateSet فيما يتعلق بقيمة GatewaySKU وقمت بتشغيل هذه الأوامر محليا، فتحقق من تثبيت أحدث إصدار من أوامر PowerShell cmdlets. يحتوي الإصدار الأخير على القيم الجديدة التي تم التحقق من صحتها لأحدث وحدات SKU للبوابة.

إنشاء بوابة الشبكة الظاهرية مع نوع البوابة "Vpn" باستخدام New-AzVirtualNetworkGateway.

New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" `
-Location "EastUS" -IpConfigurations $gwipconfig -GatewayType Vpn `
-VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"

إضافة خادم RADIUS

  • يمكن تحديد -RadiusServer بالاسم أو بعنوان IP. إذا قمت بتحديد الاسم وكان الخادم مقيما محليا، فقد لا تتمكن بوابة VPN من حل الاسم. إذا كان هذا هو الحال، فمن الأفضل تحديد عنوان IP للخادم.
  • يجب أن يتطابق -RadiusSecret مع ما تم تكوينه على خادم RADIUS الخاص بك.
  • -VpnClientAddressPool هو النطاق الذي يتلقى منه عملاء VPN المتصلون عنوان IP. استخدم نطاق عناوين IP خاص لا يتداخل مع الموقع المحلي الذي ستتصل منه، أو VNet التي تريد الاتصال بها. تأكد من تكوين تجمع عناوين كبير بما فيه الكفاية.  
  1. إنشاء سلسلة آمنة لسر RADIUS.

    $Secure_Secret=Read-Host -AsSecureString -Prompt "RadiusSecret"
    
  2. تتم مطالبتك بإدخال بيانات RADIUS السرية. لن يتم عرض الأحرف التي تدخلها وسيتم استبدالها بدلاً من ذلك بالحرف "*".

    RadiusSecret:***
    

إضافة تجمع عناوين العميل وقيم خادم RADIUS

في هذا القسم، يمكنك إضافة تجمع عناوين عميل VPN ومعلومات خادم RADIUS. هناك تكوينات متعددة ممكنة. حدد المثال الذي تريد تكوينه.

تكوينات SSTP

$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName "TestRG1" -Name "VNet1GW"
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
-VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "SSTP" `
-RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret

تكوينات OpenVPN®

$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName "TestRG1" -Name "VNet1GW"
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientRootCertificates @()
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
-VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "OpenVPN" `
-RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret

تكوينات IKEv2

$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName "TestRG1" -Name "VNet1GW"
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
-VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol "IKEv2" `
-RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret

SSTP + IKEv2

$Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName "TestRG1" -Name "VNet1GW"
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway `
-VpnClientAddressPool "172.16.201.0/24" -VpnClientProtocol @( "SSTP", "IkeV2" ) `
-RadiusServerAddress "10.51.0.15" -RadiusServerSecret $Secure_Secret

تحديد خادمي RADIUS

لتحديد خادمي من خوادم RADIUS، استخدم بناء الجملة التالي. تعديل قيمة -VpnClientProtocol حسب الحاجة.

$radiusServer1 = New-AzRadiusServer -RadiusServerAddress 10.1.0.15 -RadiusServerSecret $radiuspd -RadiusServerScore 30
$radiusServer2 = New-AzRadiusServer -RadiusServerAddress 10.1.0.16 -RadiusServerSecret $radiuspd -RadiusServerScore 1

$radiusServers = @( $radiusServer1, $radiusServer2 )

Set-AzVirtualNetworkGateway -VirtualNetworkGateway $actual -VpnClientAddressPool 201.169.0.0/16 -VpnClientProtocol "IkeV2" -RadiusServerList $radiusServers

تكوين عميل VPN والاتصال

تحتوي حزم تكوين ملف تعريف عميل VPN على الإعدادات التي تساعدك على تكوين ملفات تعريف عميل VPN للاتصال بشبكة Azure الظاهرية.

لإنشاء حزمة تكوين عميل VPN وتكوين عميل VPN، راجع إحدى المقالات التالية:

بعد تكوين عميل VPN، عينه إلى Azure.

للتحقق من اتصالك

  1. للتحقق من أن اتصال VPN الخاص بك نشط، افتح موجه أوامر غير مقيد، وقم بتشغيل ipconfig/all.

  2. عرض النتائج. لاحظ أن عنوان IP الذي تلقيته هو أحد العناوين الموجودة في قائمة عناوين عميل VPN من نقطة إلى موقع الذي حددته في تكوينك الخاص. النتائج مشابهة لهذا المثال:

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.3(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

لاستكشاف أخطاء اتصال P2S وإصلاحها، راجع استكشاف أخطاء اتصالات Azure من نقطة إلى موقع وإصلاحها.

للاتصال بجهاز ظاهري

يمكنك الاتصال بجهاز ظاهري يتم نشره إلى شبكتك الظاهرية عن طريق إنشاء اتصال سطح المكتب البعيد بجهازك الظاهري. تتمثل أفضل طريقة للتحقق من إمكانية الاتصال بأي جهاز افتراضي في الاتصال باستخدام عنوان بروتوكول الإنترنت الخاص به بدلاً من اسم الكمبيوتر. بهذه الطريقة، تختبر لمعرفة ما إذا كان يمكنك الاتصال، وليس ما إذا كان تحليل الاسم قد تم تكوينه بشكل صحيح.

  1. حدد موقع عنوان بروتوكول الإنترنت الخاص بك. يمكنك العثور على عنوان IP الخاص للجهاز الظاهري إما بالنظر إلى خصائص الجهاز الظاهري في مدخل Microsoft Azure أو باستخدام PowerShell.

    • مدخل Microsoft Azure: حدد موقع الجهاز الظاهري في مدخل Microsoft Azure. اعرض خصائص الجهاز الافتراضي. أدرج عنوان بروتوكول الإنترنت الخاص.

    • PowerShell: استخدم المثال لعرض قائمة بالأجهزة الظاهرية وعناوين IP الخاصة من مجموعات الموارد الخاصة بك. لا تحتاج إلى تعديل هذا المثال قبل استخدامه.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null
      
      foreach ($Nic in $Nics) {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. تحقق من اتصالك بشبكتك الظاهرية.

  3. افتح اتصال سطح المكتب البعيد عن طريق إدخال RDP أو اتصال سطح المكتب البعيد في مربع البحث على شريط المهام. ثم حدد اتصال سطح المكتب البعيد. يمكنك أيضا فتح اتصال سطح المكتب البعيد باستخدام mstsc الأمر في PowerShell.

  4. في الاتصال بسطح المكتب البعيد، أدخل عنوان IP خاص بالجهاز الظاهري. يمكنك تحديد إظهار الخيارات لضبط الإعدادات الأخرى ثم الاتصال.

إذا كنت تواجه مشكلة في الاتصال بجهاز ظاهري عبر اتصال VPN، فتحقق من النقاط التالية:

  • تحقق من نجاح اتصال VPN الخاص بك.
  • تحقق من الاتصال بعنوان IP الخاص بالجهاز الظاهري.
  • إذا كان يمكنك الاتصال بالجهاز الظاهري باستخدام عنوان IP الخاص ولكن ليس اسم الكمبيوتر، فتحقق من تكوين DNS بشكل صحيح. لمزيد من المعلومات حول كيفية عمل تحليل الاسم للأجهزة الظاهرية، راجع تحليل الاسم للأجهزة الظاهرية.

لمزيد من المعلومات حول اتصالات RDP، راجع استكشاف أخطاء اتصالات سطح المكتب البعيد بجهاز ظاهري وإصلاحها.

  • تحقق من إنشاء حزمة تكوين عميل VPN بعد تحديد عناوين IP لخادم DNS للشبكة الظاهرية. إذا قمت بتحديث عناوين IP لخادم DNS، فقم بإنشاء حزمة تكوين عميل VPN جديدة وتثبيتها.

  • استخدم "ipconfig" للتحقق من عنوان IPv4 المخصص لمحول Ethernet على الكمبيوتر الذي تتصل منه. إذا كان عنوان IP ضمن نطاق عناوين VNet التي تتصل بها، أو ضمن نطاق عنوان VPNClientAddressPool الخاص بك، يُشار إلى ذلك على أنه مساحة عنوان متداخلة. عندما تتداخل مساحة العنوان الخاصة بك بهذه الطريقة، لا تصل نسبة استخدام الشبكة إلى Azure، بل تبقى على الشبكة المحلية.

الأسئلة المتداولة

للحصول على معلومات الأسئلة المتداولة، راجع قسم مصادقة RADIUS من نقطة إلى موقع الخاص بالأسئلة المتداولة.

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

بمجرد اكتمال الاتصال، يمكنك إضافة الأجهزة الظاهرية إلى الشبكات الظاهرية. لمزيد من المعلومات، راجع الأجهزة الظاهرية. لفهم المزيد حول الشبكات والأجهزة الظاهرية، راجع نظرة عامة على شبكة Azure وLinux VM.