عناوين عملاء OpenVPN الثابتة خلف OPNsense
ملف التجمع يجعل العنوان لاصقًا لا دائمًا. ثبّت عناوين العملاء بإعدادات التجاوز، ووسّع نطاق النفق لاستيعاب حساب /30، ثم انشرها.
أسماء تحتاج إلى عناوين لا تتحرك، وملف التجمع في OpenVPN لا يجعل العنوان إلا لاصقًا. إن فقدت ذلك الملف، أو أعدت إصدار شهادة باسم شائع مختلف، هبط العميل العائد في موضع آخر من التجمع بينما لا يزال سجل DNS الخاص به يشير إلى العنوان القديم. الجواب الدائم هو تجاوز خاص بالعميل يثبّت العنوان، مع شبكة نفق أوسع حتى تقع العناوين المثبّتة خارج النطاق الديناميكي. والحساب الكامن وراء ذلك التوسيع هو حيث يكمن معظم الالتباس.
يحتفظ OPNsense بهذه التجاوزات في إعدادات الخادم الخاصة بكل عميل، مفهرسة بالاسم الشائع للشهادة، ما يجعل الاسم الشائع جزءًا من خطة العناوين.
الإيجار اللاصق ليس عنوانًا ثابتًا
يكتب ملف التجمع تعيينات العنوان إلى العميل ويعيدها عندما يعيد عميل معروف الاتصال. وهذا تسهيل لا عقد: يمكن إعادة توليد الملف، ويختفي التعيين عندما تتغير هوية العميل، ولن يتفق خادمان يتشاركان تجمعًا بشأنه. أما التجاوز الخاص بالعميل فيعمل بشكل مختلف، لأن العنوان يأتي من الإعداد لا من السجل. كما يصمد أمام إعادة التشغيل وإعادة تثبيت الجهاز، بشرط نسخ التجاوز احتياطيًا مع بقية الإعداد.
البديل الديناميكي، أي ربط VPN بـ DNS عبر سكربت client-connect وتحديثات ديناميكية، يعمل ويتطلب مُحلِّلًا يقبل التحديثات إضافة إلى سكربت عند كل اتصال. وعلى جهاز مخصص تكون محدودًا بالحزم التي يشحنها المورّد، وهنا عادةً تتوقف تلك الخطة.
حساب /30 الذي لا يستمتع به أحد
في ظل طوبولوجيا net30 الافتراضية، يحصل كل عميل على /30 خاص به: يذهب أول عنوان صالح إلى جانب الخادم، والثاني إلى العميل. لذلك يجب أن تقع التجاوزات خارج شبكة النفق الديناميكية للخادم، ما يعني توسيع تلك الشبكة أولًا. يمكن لخادم على 10.8.0.0/24 أن ينتقل إلى 10.8.0.0/23، تاركًا نصف النطاق القديم للعملاء الديناميكيين والنصف الآخر للتجاوزات. أضف /24 الأصلي كشبكة محلية IPv4 إضافية كي يُوجَّه المرور إلى النصفين داخل النفق.
يجب أن يقع كل عنوان تجاوز على حد /30، لذا يكون الثماني الأخير من مضاعفات أربعة. /30 عند 10.8.1.0 يمنح العميل 10.8.1.2، وهذا هو العنوان الذي يحمله سجل DNS. واختيار 10.8.1.3 بدلًا من ذلك ينتج عميلًا يتصل ولا يستطيع تمرير المرور، لأن العنوان ينتمي إلى شبكة فرعية لم تسندها له الطوبولوجيا قط.
يسهل الحفاظ على الخطة إذا وُزّعت التجاوزات من أعلى النطاق الموسّع إلى أسفل، بحيث يتوسع التجمع الديناميكي في المساحة الحرة بدلًا من أن يتوسع حول جزر ثابتة.
الشبكات المحلية والمنطقة التي يستعلم منها العملاء
يحتاج المرور من عميل إلى عميل إلى إذن خاص به. يجب أن تتضمن قائمة الشبكات المحلية IPv4 في الخادم نصفي النطاق، الديناميكي والثابت؛ وبدونها يقبل الخادم حزمة من عميل ولا يملك سياسة تسمح بتمريرها إلى عميل آخر. تبدو الأعراض كعطل في DNS، لأن الاسم يُحلَّل ومع ذلك يفشل الاتصال. افحص إعداد الاتصال من عميل إلى عميل في الوقت نفسه، لأن إدخال الشبكة المحلية وحده لا يفعّل التمرير بين الأقران.
انشر السجلات في المنطقة التي يستعلم منها العملاء البعيدون فعليًا. السجل في منطقة يخدمها مُحلِّل LAN فقط يكون غير مرئي لعميل يشير مُحلِّله المدفوع إلى مكان آخر، وإضافة مزيد من السجلات إلى المنطقة الخاطئة لا تصلح ذلك أبدًا. تأكد من خيار DNS المدفوع ونطاق البحث قبل إضافة أي شيء.
ما يجب فحصه عند اتصال جديد
أعد توصيل العميل وتأكد من أن العنوان المسند يطابق تجاوزه قبل اختبار أي شيء آخر. ثم حلّل الاسم من عميل ثانٍ واتصل بالخدمة بالاسم، وهذا يختبر سجل DNS والمسار وجدار الحماية معًا. تأكد من مسار الرد على جانب الخادم، لأن اسمًا يُحلَّل بينما تبقى الخدمة غير قابلة للوصول هو مشكلة توجيه أو سياسة لا مشكلة تسمية. أبقِ جدول التجاوزات بجوار قائمة الشهادات حتى تُراجَع كلتاهما معًا.
الشهادة التي يعاد إصدارها باسم شائع مختلف تكف عن مطابقة تجاوزها وتعيد العميل إلى التجمع الديناميكي. توقّع ذلك بعد أي تغيير في الهوية.