IPsec من FortiGate على Linux: أي عميل يتصل فعلاً
عميل Linux من المورّد يتحدث SSL VPN فقط. يجب إعادة بناء ملف IPsec للجوال في vpnc أو strongSwan، وأربعة حقول يجب أن تطابق البوابة.
زميلك على Windows يستورد ملف تعريف معالج FortiGate ويصبح متصلاً في دقيقة. أنت تثبّت الحزمة نفسها من المورّد على Ubuntu، وتبحث عن تبويب IPsec، فتجد عميلاً لا يعرف إلا فتح SSL VPN بوابة. والاستنتاج الذي يتبع عادةً خاطئ من جهتين: البوابة لا ترفضك، وبناء Linux ليس معطوباً. فـ Fortinet تشحن ذلك العميل بدعم SSL VPN فقط، لذا لا مكان لملف تعريف IPsec للجوال، وعليه أن يُعاد بناؤه في مكان يتحدث IKEv1.
إعادة البناء هذه ميكانيكية بمجرد أن تتوقف عن اعتبار عميل المورّد هو التنفيذ المرجعي.
أولاً، حدّد البروتوكول الذي مُنح لك فعلاً
أجهزة FortiGate تنشر SSL VPN وIPsec معاً، ونادراً ما يوضح بريد التسليم أيّهما مُنح لك. عنوان URL لبوابة مع صفحة دخول بنمط المتصفح يعني SSL VPN، وهناك على Linux الجواب هو openfortivpn، لا جدول الحقول أدناه. معرّف مجموعة مع مفتاح مشترك مسبقاً يعني IPsec للجوال، وهو ما يتعامل معه vpnc وstrongSwan.
الخطأ في ذلك هو السبب الأكثر شيوعاً لموت محاولة Linux قبل اكتمال المرحلة الأولى: العميل يعرض IKEv1 على بوابة HTTPS أو العكس. اطلب من المسؤول اسم البروتوكول كتابةً قبل أن تثبّت أي شيء.
أربع بيانات اعتماد تسافر في أربعة حقول مختلفة
كلمة password تظهر مرتين في معظم عمليات التسليم وتعني شيئين مختلفين. المفتاح المشترك المسبق يوثّق النظير نفسه، وهو سر آلة يقرأه المسؤول من إعدادات البوابة. وكلمة مرور حسابك بيانات اعتماد منفصلة تثبت أي إنسان يقف خلف ذلك النظير.
القيمتان الأخريان أسهل في التفويت. معرّف المجموعة هو السلسلة التي كتبها المعالج في كائن مجموعة IPsec، و0 قيمة مشروعة وليس حقلاً فارغاً. ويغطي المقترح التشفير والتجزئة ومجموعة Diffie-Hellman لكل مرحلة، إضافة إلى إعداد PFS، وكل بند فيه يجب أن يتوافق مع البوابة. وعندما يفشل الاتصال في المرحلة 1، يكون أحد هؤلاء الأربعة هو الجاني في كل الحالات تقريباً، فاكتبها منفصلة بدلاً من إلقائها في نافذة واحدة.
ما يجب أن يحتويه كل حقل من حقول vpnc
ثبّت العميل مع واجهة المحرر، ثم أنشئ اتصال VPNC:
sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome
اضبط البوابة على عنوان FortiGate العام، واضبط اسم المجموعة على المعرّف من البوابة بالضبط، بما في ذلك صفر مجرد. يأخذ حقل Group password المفتاح المشترك المسبق، بينما يأخذ اسم المستخدم وكلمة المرور حسابك، مع أي رمز مضاف كما تتوقع البوابة. في النافذة المتقدمة، اختر مجموعة Diffie-Hellman التي يسميها المقترح، وطابق PFS مع المجموعة نفسها، وفعّل اجتياز NAT عندما يكون العميل خلف راوتر منزلي، واترك كشف النظير الميت متوافقاً مع البوابة.
اسم المجموعة هو الحقل الذي يُتخطى، لأنه يبدو اختيارياً ولأن القيمة الافتراضية صفر تشبه عنصراً نائباً. أرسله فارغاً يرسل العميل معرّفاً مختلفاً عن الذي تتحقق منه البوابة. وإذا ظل الملف الشخصي يفشل، فقارن القيم المتقدمة مع عميل Windows العامل بدلاً من منشور منتدى لموقع آخر.
الملف الشخصي نفسه مكتوباً لـ strongSwan
strongSwan هو الوعاء الأفضل على المدى الطويل لهذه القيم، لأن الإعداد ملف نصي يمكنك مراجعته والاحتفاظ به:
conn office-fw
keyexchange=ikev1
aggressive=yes
left=%any
leftauth=psk
leftauth2=xauth
xauth_identity=YOUR_USER
right=GATEWAY_ADDRESS
rightauth=psk
rightsubnet=OFFICE_SUBNET
ike=aes128-sha1-modp1536!
esp=aes128-sha1-modp1536!اقرأ أسطر المقترح قبل الكتلة، لأن علامة التعجب في النهاية تغيّر معناها: فهي تثبّت ذلك المقترح وحده وتزيل البدائل التي كان العميل سيعرضها. البوابة المهيأة لزوج تحويل واحد سترفض عميلاً يفتح بقائمة، لذا التثبيت هو ما يحوّل التفاوض إلى تطابق. خذ أسماء الخوارزميات الدقيقة من ملف البوابة العامل، واستبدل العناصر النائبة بقيمك.
سطرا التوثيق ليسا زائدين. المفتاح المشترك يثبت النظير، وكتلة XAuth تثبت المستخدم، وإسقاط أي منهما يترك مرحلة لن تُكملها البوابة.
اقرأ الفشل قبل أن تغيّر حقلاً آخر
اعمل عكسياً من العرض بدلاً من إعادة عشوائية النافذة. ارتباط IKE SA الذي يظهر دون عنوان مُخصص يعني أن تبادل توثيق المستخدم فشل أو لم يجرِ أبداً، فافحص الحساب ومعالجة الرمز. والمرحلة 1 التي لا تكتمل أبداً تشير إلى المقترح أو معرّف المجموعة أو الوضع العدواني، وكل واحد منها يُقارن بالبوابة، لا بعميل Windows وحده.
النفق الذي يُنشأ ثم يموت كل بضع دقائق هو خلاف في كشف النظير الميت بين الطرفين؛ طابق مؤقت البوابة بدلاً من تعطيل keepalives في كل مكان. والنفق القائم الذي تبقى فيه مضيفات المكتب غير قابلة للوصول يعني عادةً أن الشبكة الفرعية المدفوعة لم تهبط أبداً في جدول التوجيه المحلي، وهذا ما قد لا يفعله عميل من طرف ثالث بنفسه.
أعد القيم العاملة إلى مالك البوابة عند الانتهاء: البروتوكول، معرّف المجموعة، المفتاح المشترك المسبق، المقترح، PFS وقرار DPD. عندها تأخذ آلة Linux التالية دقائق بدل أمسية، ولا يضطر أحد إلى إعادة اكتشاف أن اسم المجموعة كان صفراً.