سؤالان يُخلطان في كل نقاش حول فوترة شبكة VPN: هل كان مسموحًا لهذا المستخدم بالاتصال، وماذا فعل فعلًا. السؤال الأول يجيبه المصادقة. الثاني يتطلب سجلات محاسبة تبدأ وتتحدث وتنتهي. تسجيل دخول ناجح يثبت الأول ولا يقول شيئًا عن الثاني، ولهذا قد ينتج إعداد مصادقة RADIUS عامل تقرير استخدام فارغًا.

سؤالان مختلفان

المصادقة تقرر هل يجوز أن يبدأ الاتصال، و تُرجع حكمًا مع سمات مثل مجموعة عناوين أو مجموعة. أما المحاسبة فتسجل الخدمة التي تلت، كسلسلة من الأحداث المرتبطة بجلسة واحدة.

يمران عبر البروتوكول نفسه وإلى الخادم نفسه عادةً، وهذا بالضبط سبب افتراض الناس أن أحدهما يستلزم الآخر.

لا شيء في طلب الوصول يحمل مدة الجلسة، ولا شيء في سجل Stop يعيد تقرير ما إذا كان ينبغي قبول المستخدم. التعامل معهما كعقدين منفصلين يجعل عمل التكامل مرئيًا: أحد المسارين يحتاج قرارًا، والآخر يحتاج دورة حياة لها بداية ووسط ونهاية.

ما تمنحك إياه أنواع السجلات الثلاثة

سجل Start يفتح جلسة، وInterim-Update يبلغ عن النشاط أثناء فتحها، وStop يغلقها. الثلاثة جميعًا تحمل معرّف جلسة ليتمكن المستقبل من ربطها بحدث خدمة واحد.

هذا المعرّف هو الرابط الموثوق الوحيد بينها، لأن اسم المستخدم نفسه قد يحمل عدة جلسات متتالية أو متوازية. صمّم تخزينك حوله لا حول اسم الحساب.

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

لماذا اسم المستخدم ليس الجلسة

شخص واحد يتصل من حاسوب محمول صباحًا ومن هاتف بعد الظهر، والجلستان تحملان اسم الحساب نفسه. لا يمكن إغلاق سجل Start يصل دون Stop المطابق له بالبحث عن الاسم واختيار أقدم صف مفتوح.

هذا الاختصار هو كيف تكتسب تقارير الاستخدام مددًا مستحيلة.

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

أين تدخل PAM وأين لا تدخل

إضافة المصادقة في OpenVPN تستدعي مرحلتي المصادقة وإدارة الحساب في PAM. مرحلة الحساب تتحقق من الأهلية؛ واسمها لا يعني محاسبة الاستخدام، والإضافة لا تقود خطافات فتح الجلسة وإغلاقها في PAM.

بعض وحدات PAM RADIUS يمكنها إرسال سجلات محاسبة عبر خطافات الجلسة تلك، وهذا لا يعمل إلا عندما يستدعي التطبيق تلك الخطافات فعلًا.

لذا فإن إضافة وحدة كهذه إلى حزمة مصادقة لا تنشئ أحداث انقطاع. إذا كنت بحاجة إلى دورة الحياة الكاملة، فاختر تكاملًا يملكها: إضافة أو بناء مدعوم يصدر Start وInterim-Update وStop مع تغير حالة الاتصال. تحقق من حالة صيانته وسلوكه الموثق عندما يكون المستقبل غير متاح، لأن إضافة تسقط السجلات بصمت تبدو مطابقة لإضافة لم ترسلها قط. أما مواصفة المحاسبة فتعرف دلالات السجلات التي يجب على التكامل احترامها.

تجربة قبول تثبت العقد

اختبر اتصالًا وانقطاعًا طبيعيين، ثم إعادة اتصال تحت الحساب نفسه، ثم عميلًا يختفي دون أن ينقطع.

تتبع معرّف جلسة واحد من التوليد عبر الإقرار إلى التخزين، وتحقق من اتجاه العدادات ووحداتها وواجهتها. لا يمكن تدقيق عدد بايتات بلا تسمية لاحقًا.

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

مقالات ذات صلة