تكوين strongSwan VPN لاتصالات IKEv2 لمصادقة شهادة P2S - Linux

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

قبل البدء

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

المصادقة نوع النفق نظام تشغيل العميل عميل VPN
شهادة
IKEv2، SSTP Windows عميل VPN الأصلي
الإصدار 2 من Internet Key Exchange (مفتاح الإنترنت التبادلي) macOS عميل VPN الأصلي
الإصدار 2 من Internet Key Exchange (مفتاح الإنترنت التبادلي) Linux strongSwan
OpenVPN Windows عميل Azure VPN
OpenVPN client version 2.x
OpenVPN client version 3.x
OpenVPN macOS عميل OpenVPN
OpenVPN iOS عميل OpenVPN
OpenVPN Linux عميل Azure VPN
عميل OpenVPN
Microsoft Entra ID
OpenVPN Windows عميل Azure VPN
OpenVPN macOS عميل Azure VPN
OpenVPN Linux عميل Azure VPN

المتطلبات الأساسية

تفترض هذه المقالة أنك قمت بالفعل بتنفيذ المتطلبات الأساسية التالية:

متطلبات الاتصال

للاتصال ب Azure باستخدام عميل strongSwan ومصادقة الشهادة عبر نوع نفق IKEv2، يتطلب كل عميل متصل العناصر التالية:

  • يجب تكوين كل عميل لاستخدام strongSwan.
  • يجب أن يكون لدى العميل الشهادات الصحيحة مثبتة محليا.

‏‏سير العمل‬

سير العمل لهذه المقالة هو:

  1. تثبيت strongSwan.
  2. عرض ملفات تكوين ملف تعريف عميل VPN المضمنة في حزمة تكوين ملف تعريف عميل VPN التي قمت بإنشائها.
  3. حدد موقع أي شهادات عميل ضرورية.
  4. تكوين strongSwan.
  5. الاتصال بـ Azure.

«About certificates»

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

لمزيد من المعلومات حول شهادات Linux، راجع المقالات التالية:

تثبيت 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

عرض ملفات تكوين ملف تعريف عميل VPN

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

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

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

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

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

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

تكوين عميل VPN

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

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

يرشدك هذا القسم خلال التكوين باستخدام strongSwan GUI. تم إنشاء الإرشادات التالية على Ubuntu 18.0.4. لا يدعم Ubuntu 16.0.10 واجهة المستخدم الرسومية strongSwan. إذا كنت ترغب في استخدام Ubuntu 16.0.10، فسيتعين عليك استخدام سطر الأوامر. قد لا تتطابق الأمثلة التالية مع الشاشات التي تراها، اعتمادا على إصدار Linux وs 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. قم بـ تشغيل الاتصال.

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

خطوات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
    

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

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