تكوين 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 |
المتطلبات الأساسية
تفترض هذه المقالة أنك قمت بالفعل بتنفيذ المتطلبات الأساسية التالية:
- تم تكوين بوابة VPN لمصادقة شهادة من نقطة إلى موقع ونوع نفق IKEv2. راجع تكوين إعدادات الخادم لاتصالات بوابة P2S VPN - مصادقة الشهادة لمعرفة الخطوات.
- تم إنشاء ملفات تكوين ملف تعريف عميل VPN وهي متوفرة. راجع إنشاء ملفات تكوين ملف تعريف عميل VPN لمعرفة الخطوات.
متطلبات الاتصال
للاتصال ب Azure باستخدام عميل strongSwan ومصادقة الشهادة عبر نوع نفق IKEv2، يتطلب كل عميل متصل العناصر التالية:
- يجب تكوين كل عميل لاستخدام strongSwan.
- يجب أن يكون لدى العميل الشهادات الصحيحة مثبتة محليا.
سير العمل
سير العمل لهذه المقالة هو:
- تثبيت strongSwan.
- عرض ملفات تكوين ملف تعريف عميل VPN المضمنة في حزمة تكوين ملف تعريف عميل VPN التي قمت بإنشائها.
- حدد موقع أي شهادات عميل ضرورية.
- تكوين strongSwan.
- الاتصال بـ 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.
افتح Terminal لتثبيت strongSwan ومدير نسبة استخدام الشبكة الخاص بها عن طريق تشغيل الأمر الوارد في المثال.
sudo apt install network-manager-strongswan
حدد الإعدادات، ثم حدد الشبكة. حدد الزر + لإنشاء اتصال جديد.
حدد IPsec/IKEv2 (strongSwan) من القائمة، وانقر نقراً مزدوجاً.
في الصفحة إضافة VPN، أضف اسماً لاتصال VPN لديك.
افتح ملف VpnSettings.xml من المجلد العام الموجود في ملفات تكوين ملف تعريف العميل VPN التي تم تنزيلها. ابحث عن العلامة المسماة VpnServer وانسخ الاسم، الذي يبدأ بـ "azuregateway" وينتهي بـ ".cloudapp.net".
الصق الاسم في حقل العنوان الخاص باتصال VPN الجديد في قسم البوابة. بعد ذلك، حدد أيقونة المجلد في نهاية حقل الشهادة، واستعرض وصولاً إلى المجلد عام، وحدد ملف VpnServerRoot.
في قسم العميل من الاتصال، بالنسبة إلى المصادقة، حدد شهادة/مفتاح خاص. بالنسبة إلى الشهادة والمفتاح الخاص، اختر الشهادة والمفتاح الخاص اللذين تم إنشاؤهما مسبقًا. في خيارات، حدد طلب عنوان IP داخلي. ثم حدد Add.
قم بـ تشغيل الاتصال.
خطواتCLI
يرشدك هذا القسم خلال التكوين باستخدام strongSwan CLI.
من مجلد ملفات تكوين ملف تعريف العميل VPN العام، انسخ أو انقل VpnServerRoot.cer إلى /etc/ipsec.d/cacerts.
انسخ أو انقل الملفات التي أنشأتها إلى /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
قم بتشغيل الأمر التالي لتدوين اسم المضيف الخاص بك. ستستخدم هذه القيمة في الخطوة التالية.
hostnamectl --static
افتح ملف VpnSettings.xml، وانسخ القيمة
<VpnServer>
. ستستخدم هذه القيمة في الخطوة التالية.اضبط القيم في المثال التالي، ثم أضف المثال إلى تكوين /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
أضف القيم السرية إلى /etc/ipsec.secrets.
يجب أن يتطابق اسم ملف PEM مع ما استخدمته سابقا كملف مفتاح العميل.
: RSA ${USERNAME}Key.pem # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory.
شغّل الأوامر التالية:
sudo ipsec restart sudo ipsec up azure
الخطوات التالية
لمزيد من الخطوات، ارجع إلى مقالة مدخل P2S Azure.