يجب أن تتبع عناوين OpenVPN الثابتة الهوية، لا عنوان IP المصدر
العنوان الثابت عبارة عن بيان بشأن هوية، لا بشأن عنوان IP المصدر. اختر المفتاح، وأبقِ الحجوزات خارج البركة، ثم اختر مالك الإسناد.
خطط العناوين التي تقول «هذا الحاسوب المحمول يحصل على 10.90.0.10» هي في الحقيقة بيانات عن الهوية: أي جهاز موثَّق يجوز له حيازة ذلك العنوان. ولا يكاد يكون لعنوان IP العام الحالي لذلك الجهاز علاقة بذلك، لأن NAT والتجوال يغيّرانه دون تغيير هوية المستخدم. وبناء الخطة على عنوان المصدر ينتج قواعد تنكسر عند أول شبكة فندق. أما بناؤها على الهوية الموثَّقة فينتج خطة تصمد أمام التنقل.
ابدأ مما يستطيع الخادم التحقق منه، ثم قرر الغرض من العنوان.
اختر مفتاح الهوية قبل العنوان
شهادة عميل منفصلة لكل جهاز تمنح الخادم مفتاحًا ثابتًا وقابلًا للتحقق لكل عضو، وهو أنظف أساس لإسناد ثابت. ويمكن لنشر يستخدم مصادقة لكل مستخدم أن يعتمد على اسم المستخدم بدلًا من ذلك، ما دام اختيار التكوين يتبع الحقل نفسه. أما خلط النموذجين فينتج إسنادات تطابق شهادة لعميل واسم مستخدم لآخر، ولا يستطيع أحد التنبؤ بأيهما سيفوز. قرر أي مفتاح تستخدمه الخطة قبل كتابة حجز واحد.
مع duplicate-cn، يمكن لعدة جلسات متزامنة أن تقدّم الاسم الشائع نفسه، لذا لا يستطيع عنوان واحد مثبَّت تمييزها فردًا فردًا. هذه خاصية في نموذج الهوية، وليست شيئًا يمكن لخطة عناوين أفضل إصلاحه.
احجز العناوين خارج النطاق الديناميكي
في شبكة ذات طوبولوجيا فرعية مثل 10.90.0.0/24، أبقِ العناوين المنخفضة للأعضاء المسمّين وضع البركة الديناميكية في نطاق منفصل. ويبدو إسناد عضو مثبَّت هكذا ifconfig-push 10.90.0.10 255.255.255.0 في الملف الذي يختاره الخادم لتلك الهوية. المعامل الثاني يعني شيئًا مختلفًا في net30، لذا فالمثال ليس محايدًا تجاه الطوبولوجيا. اقرأ الطوبولوجيا قبل نسخه.
سجلات استمرارية البركة تحتفظ بأحدث الإيجارات وتميل إلى إعادة العنوان نفسه، وهذا تسهيل لا حجز. لا تدع ملف الاستمرارية يصبح سجل الملكية، لأنه يتغير مع تاريخ الاتصالات لا مع السياسة.
أسبقية الإسناد تحدد الفائز
يوثّق الدليل ترتيبًا: الإسناد الصريح المُنشأ أثناء client-connect يمكن أن يسري قبل مدخل client-config-dir، الذي يسبق بدوره تخصيص البركة العادي. وهذا الترتيب يفسر معظم تقارير «العنوان المثبَّت لم يُطبَّق». ويعني أيضًا أن موزّعًا ديناميكيًا يكتب تكوينًا لكل جلسة يمكنه أن يتجاوز بصمت ملفًا ثابتًا ظننت أنه مرجعي.
اختر طبقة واحدة تملك الإسنادات واجعل الطبقات الأخرى للقراءة فقط. الطبقتان اللتان تدّعيان كلتاهما القرار تنتجان إسنادات تعتمد على التوقيت.
يحتاج الموزّع الديناميكي النموذج نفسه
تكامل client-connect الذي يوزّع العناوين لكل جلسة هو موزّع صغير يعاني مشكلات الموزّعات المعتادة. عليه التحقق من الهوية الطالبة، وحجز عنوان بشكل ذري، وإخراج المخرجات المدعومة لكل اتصال فقط، وتحرير الحجز عند الانقطاع أو الفشل. الطلبات المتزامنة تحتاج إلى قفل أو قيد في قاعدة البيانات، لا إلى تسلسل قراءة-ثم-كتابة. وبدون تنظيف، تسرّب البركة العناوين حتى إعادة التشغيل.
أبقِ حالة الموزّع حيث يستطيع المشغّل التالي قراءتها، وسجّل قرار الهوية-إلى-العنوان لا العنوان وحده.
قرر ما إذا كان العنوان سياسة أم تسهيلًا
إذا سمحت قاعدة جدار ناري أو مسار بمرور حركة من عنوان نفق واحد، فإن العنوان يشارك في سياسة الوصول وإعادة الإسناد ترث ذلك الإذن. نسّق دورة حياة الهوية والعنوان والجدار الناري، أو اجعل القاعدة تعتمد على شيء لا يمكن إعادة إسناده. العنونة الثابتة تجعل التكوين مقروءًا؛ وهي لا تحل محل المصادقة.
اكتب الخطة كجرد بمالك لكل مدخل، ثم راجعها عند إخراج جهاز من الخدمة. الحجز غير المستخدم هو الذي يُعاد استخدامه عن طريق الخطأ.