تكوين عملاء VPN من نقطة إلى موقع: مصادقة الشهادة - Linux

تساعدك هذه المقالة على الاتصال بشبكة Azure الظاهرية (VNet) باستخدام بوابة VPN من نقطة إلى موقع (P2S) ومصادقة الشهادة من عميل Linux. هناك مجموعات متعددة من الخطوات في هذه المقالة، اعتمادا على نوع النفق الذي حددته لتكوين P2S ونظام التشغيل وعميل VPN المستخدم للاتصال.

قبل البدء

قبل البدء، تأكد من أنك في المقالة الصحيحة. يعرض الجدول التالي مقالات التكوين المتوفرة لعملاء Azure VPN Gateway P2S VPN. تختلف الخطوات حسب نوع المصادقة ونوع النفق ونظام تشغيل العميل.

المصادقة نوع النفق إنشاء ملفات التكوين تكوين عميل VPN
شهادة Azure IKEv2، SSTP Windows عميل VPN الأصلي
شهادة Azure OpenVPN Windows - عميل OpenVPN
- عميل Azure VPN
شهادة Azure IKEv2، و OpenVPN macOS-iOS macOS-iOS
شهادة Azure IKEv2، و OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) ماك ماك
RADIUS - شهادة - الماده الماده
RADIUS - رمز الوصول - الماده الماده
RADIUS - طرق أخرى - الماده الماده

هام

بدءًا من 1 يوليو 2018، تتم إزالة الدعم لـ TLS 1.0 و1.1 من بوابة Azure VPN. ستدعم بوابة VPN الإصدار TLS 1.2 فقط. تتأثر الاتصالات من نقطة إلى موقع فقط؛ لن تتأثر الاتصالات من موقع إلى موقع. إذا كنت تستخدم TLS لشبكات VPN من نقطة إلى موقع على عملاء Windows 10 أو أحدث، فلن تحتاج إلى اتخاذ أي إجراء. إذا كنت تستخدم بروتوكول أمان طبقة النقل للاتصالات من نقطة إلى موقع على عملاء Windows 7 وWindows 8، فراجع الأسئلة الشائعة حول بوابة VPN للحصول على إرشادات التحديث.

إنشاء الشهادات

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

للحصول على معلومات حول العمل مع الشهادات، راجع من نقطة إلى موقع: إنشاء شهادات.

إنشاء ملفات تكوين عميل VPN

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

لإنشاء ملفات التكوين باستخدام مدخل Microsoft Azure:

  1. في مدخل Microsoft Azure، انتقل إلى بوابة الشبكة الظاهرية للشبكة الظاهرية التي تريد الاتصال بها.

  2. في صفحة بوابة الشبكة الظاهرية، حدد تكوين نقطة إلى موقع لفتح صفحة تكوين نقطة إلى موقع.

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

    لقطة شاشة لصفحة تكوين نقطة إلى موقع.

  4. بمجرد إنشاء حزمة التكوين، يشير المستعرض إلى أن ملف مضغوط لتكوين العميل متوفر. تتم تسميته بنفس اسم البوابة لديك.

  5. قم بفك ضغط الملف لعرض المجلدات التالية. ستستخدم بعض هذه الملفات أو كلها لتكوين عميل VPN الخاص بك. تتوافق الملفات التي تم إنشاؤها مع إعدادات المصادقة ونوع النفق التي قمت بتكوينها على خادم P2S.

بعد ذلك، قم بتكوين عميل VPN. حدد من الإرشادات التالية:

IKEv2 - خطوات strongSwan

تثبيت strongSwan

تم استخدام التكوين التالي عند تحديد الأوامر:

  • الكمبيوتر: Ubuntu Server 18.04
  • التبعيات: strongSwan

استخدم الأوامر التالية لتثبيت تكوين strongSwan المطلوب:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

تثبيت الشهادات

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

للحصول على معلومات حول شهادات العميل، راجع إنشاء شهادات - Linux.

عرض ملفات تعريف عميل VPN

انتقل إلى ملفات تكوين ملف تعريف عميل VPN التي تم تنزيلها. يمكنك العثور على كافة المعلومات التي تحتاجها للتكوين في المجلد عام. لا يوفر Azure ملف تكوين الأجهزة المحمولة لهذا التكوين.

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

  • تحقق من نوع النفق للتكوين الخاص بك. من المحتمل أنه لم يتم تحديد IKEv2 كنوع نفق.
  • على بوابة VPN، تحقق من أن SKU ليست «أساسية». The VPN Gateway Basic SKU VPN لا يدعم IKEv2. ثم حدد IKEv2، وقم بإنشاء الملف المضغوط مرة أخرى لاسترداد المجلد «عام».

يحتوي المجلد "عام" على الملفات التالية:

  • VpnSettings.xml، والذي يحتوي على إعدادات مهمة، مثل عنوان الخادم ونوع النفق.
  • VpnServerRoot.cer، الذي يحتوي على شهادة الجذر المطلوبة للتحقق من صحة بوابة Azure VPN أثناء إعداد اتصال من نقطة إلى موقع.

بعد عرض الملفات، تابع الخطوات التي تريد استخدامها:

خطوات واجهة المستخدم الرسومية ل strongSwan

يرشدك هذا القسم خلال التكوين باستخدام strongSwan GUI. تم إنشاء الإرشادات التالية على Ubuntu 18.0.4. لا يدعم Ubuntu 16.0.10 واجهة المستخدم الرسومية strongSwan. إذا كنت ترغب في استخدام Ubuntu 16.0.10، فسيتعين عليك استخدام سطر الأوامر. قد لا تتطابق الأمثلة التالية مع الشاشات التي تراها، اعتماداً على إصدار Linux وstrongSwan.

  1. افتح Terminal لتثبيت strongSwan ومدير نسبة استخدام الشبكة الخاص بها عن طريق تشغيل الأمر الوارد في المثال.

    sudo apt install network-manager-strongswan
    
  2. حدد الإعدادات، ثم حدد الشبكة. حدد الزر + لإنشاء اتصال جديد.

    لقطة شاشة تعرض صفحة اتصالات الشبكة.

  3. حدد IPsec/IKEv2 (strongSwan) من القائمة، وانقر نقراً مزدوجاً.

    لقطة شاشة تعرض صفحة إضافة VPN.

  4. في الصفحة إضافة VPN، أضف اسماً لاتصال VPN لديك.

    عروض لقطة الشاشة اختر نوع الاتصال.

  5. افتح ملف VpnSettings.xml من المجلد العام الموجود في ملفات تكوين ملف تعريف العميل VPN التي تم تنزيلها. ابحث عن العلامة المسماة VpnServer وانسخ الاسم، الذي يبدأ بـ "azuregateway" وينتهي بـ ".cloudapp.net".

    لقطة شاشة تظهر نسخ البيانات.

  6. الصق الاسم في حقل العنوان الخاص باتصال VPN الجديد في قسم البوابة. بعد ذلك، حدد أيقونة المجلد في نهاية حقل الشهادة، واستعرض وصولاً إلى المجلد عام، وحدد ملف VpnServerRoot.

  7. في قسم العميل من الاتصال، بالنسبة إلى المصادقة، حدد شهادة/مفتاح خاص. بالنسبة إلى الشهادة والمفتاح الخاص، اختر الشهادة والمفتاح الخاص اللذين تم إنشاؤهما مسبقًا. في خيارات، حدد طلب عنوان IP داخلي. ثم حدد Add.

    تظهر لقطة الشاشة طلب عنوان IP داخلي.

  8. قم بـ تشغيل الاتصال.

    لقطة شاشة تظهر نسخة.

خطوات strongSwan CLI

يرشدك هذا القسم خلال التكوين باستخدام strongSwan CLI.

  1. من مجلد ملفات تكوين ملف تعريف العميل VPN العام، انسخ أو انقل VpnServerRoot.cer إلى /etc/ipsec.d/cacerts.

  2. انسخ أو انقل الملفات التي أنشأتها إلى /etc/ipsec.d/certs و /etc/ipsec.d/private/ على التوالي. هذه الملفات هي شهادة العميل والمفتاح الخاص، يجب أن تكون موجودة في الدلائل المقابلة لها. استخدم الأوامر التالية:

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. قم بتشغيل الأمر التالي لتدوين اسم المضيف الخاص بك. ستستخدم هذه القيمة في الخطوة التالية.

    hostnamectl --static
    
  4. افتح ملف VpnSettings.xml، وانسخ القيمة <VpnServer>. ستستخدم هذه القيمة في الخطوة التالية.

  5. اضبط القيم في المثال التالي، ثم أضف المثال إلى تكوين /etc/ipsec.conf.

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. أضف القيم السرية إلى /etc/ipsec.secrets.

    يجب أن يتطابق اسم ملف PEM مع ما استخدمته سابقا كملف مفتاح العميل.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. وأخيرا قم بتشغيل الأوامر التالية:

    sudo ipsec restart
    sudo ipsec up azure
    

خطوات OpenVPN

يساعدك هذا القسم على تكوين عملاء Linux لمصادقة الشهادة التي تستخدم نوع نفق OpenVPN. للاتصال بـ Azure، يمكنك تنزيل عميل OpenVPN وتكوين ملف تعريف الاتصال.

إشعار

الإصدار 2.6 من OpenVPN Client غير مدعوم حتى الآن.

  1. افتح جلسة عمل وحدة طرفية جديدة. يمكنك فتح جلسة جديدة بالضغط على "Ctrl + Alt + t" في نفس الوقت.

  2. أدخِل الأمر التالي لتثبيت المكونات المطلوبة:

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. بعد ذلك، انتقل إلى مجلد ملف تعريف عميل VPN وقم بإلغاء الضغط لعرض الملفات.

  4. قم بتصدير شهادة عميل P2S التي أنشأتها وحملتها إلى تكوين P2S على المدخل. للحصول على خطوات، راجع بوابة VPN من نقطة إلى موقع.

  5. استخرج المفتاح الخاص وبصمة الإبهام base64 من .pfx. ثمة طرق كثيرة للقيام بذلك. يعد استخدام OpenSSL على جهاز الكمبيوتر الخاص بك ضمن إحدى الطرق.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    سيحتوي ملف profileinfo.txt على المفتاح الخاص وبصمة الإبهام الخاصة بـ CA وشهادة العميل. تأكد من استخدام بصمة إبهام شهادة العميل.

  6. افتح profileinfo.txt في محرر نص. للحصول على بصمة إبهام شهادة العميل (تابعة)، حدد النص بما في ذلك ما بينه "-----BEGIN CERTIFICATE-----" و"-----END CERTIFICATE-----" للشهادة التابعة وانسخها. يمكنك تحديد شهادة الطفل من خلال الاطّلاع على subject=/ line.

  7. افتح ملف vpnconfig.ovpn وابحث عن القسم الموضح أدناه. استبدل كل شيء بين "cert" و"/cert".

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. افتح profileinfo.txt في محرر نص. للحصول على المفتاح الخاص، حدد النص بما في ذلك فيما بينه "-----BEGIN PRIVATE KEY-----" و"-----END PRIVATE KEY-----" وانسخه.

  9. افتح الملف vpnconfig.ovpn في محرر نص وابحث عن هذا القسم. الصق المفتاح الخاص ليحل محل كل شيء فيما بين "key" و"/key".

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. لا تغير أي حقول أخرى. استخدم التكوين المعبأ في إدخال العميل للاتصال بـ VPN.

    • للاتصال باستخدام سطر الأوامر، اكتب الأمر التالي:

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • لقطع الاتصال باستخدام سطر الأوامر، اكتب الأمر التالي:

      sudo pkill openvpn
      
    • للاتصال باستخدام واجهة المستخدم الرسومية، انتقل إلى إعدادات النظام.

  11. حدد + لإضافة اتصال VPN جديد.

  12. ضمن Add VPN، اختر استيراد من ملف....

  13. تصفّح للوصول إلى ملف التعريف وانقر نقراً مزدوجاً أو اختر Open.

  14. حدد Add في نافذة Add VPN .

    تعرض لقطة الشاشة الاستيراد من ملف في صفحة إضافة VPN.

  15. يمكنك الاتصال عن طريق تشغيل VPN في صفحة إعدادات الشبكة، أو ضمن رمز الشبكة في علبة النظام.

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

للحصول على خطوات إضافية، ارجع إلى مقالة نقطة إلى موقع الأصلية التي كنت تعمل منها.