rlm_counter(5) FreeRADIUS Module rlm_counter(5)

rlm_counter - ماژول شمارندهٔ FreeRADIUS

ماژول rlm_counter یک چارچوب کلی برای مجاز کردن دسترسی بر اساس میزان مصرف انباشته‌شده از یک منبع (مانند کل زمان آنلاین بودن در یک دورهٔ مشخص، کل داده‌های منتقل‌شده در یک دورهٔ مشخص و غیره) فراهم می‌کند. این قابلیت در سناریوهای «سرویس‌های پیش‌پرداخت» بسیار مفید است؛ جایی که کاربر برای مقدار محدودی از مصرف هزینه پرداخت کرده است و نباید اجازه داشته باشد فراتر از آن سرویس استفاده کند. جمع‌آوری، نظارت و شارژ مجدد سرویس‌های پیش‌پرداخت خارج از محدودهٔ وظایف این ماژول است.

مهم‌ترین موارد پیکربندی که باید از آن‌ها آگاه باشید عبارتند از:

نام فایلی که داده‌های مصرف در آن ذخیره می‌شوند.
مشخصه‌ای که در Access-Request وجود خواهد داشت تا به‌عنوان مقدار «شاخص» (index) برای شمارنده استفاده شود. برای هر کلید یکتا یک ورودی شمارنده رهگیری می‌شود. محتمل‌ترین کلیدی که مایل به استفاده از آن خواهید بود User-Name است.
مشخصه‌ای که برای افزایش مقدار شمارنده استفاده خواهد شد. اگر این مشخصه Acct-Session-Time یا یک مقدار عدد صحیح باشد، داده‌های شمارنده به اندازهٔ مقدار آن مشخصه افزایش می‌یابند. برای تمام انواع دیگر مشخصه‌ها، شمارنده یک واحد افزایش می‌یابد.
بازهٔ زمانی که پس از آن داده‌های شمارنده باید مجدداً به ۰ بازنشانی شوند. مقادیر معتبر برای این متغیر عبارتند از: hourly، daily، weekly، monthly یا never. به‌عنوان روش جایگزین، می‌تواند توسط کاربر و به فرم num[hdwm] تعریف شود. num یک مقدار عددی است که با یک یا هیچ‌یک از حروف زیر دنبال می‌شود: h (ساعت)، d (روز)، w (هفته)، m (ماه).
این گزینه نام مشخصه‌ای را تعیین می‌کند که توسط ماژول شمارنده ثبت خواهد شد و می‌تواند برای تعیین حداکثر مقدار مجاز شمارنده استفاده شود که پس از عبور از آن، کاربر رد (reject) می‌شود. اگر Daily-Session-Time تنظیم شده باشد، می‌توانید از نحو زیر در فایل Users برای تعیین سقف ۳۶۰۰ ثانیه (۸ ساعت) استفاده کنید:
DEFAULT Max-Daily-Session := 3600
این نام مشخصه‌ای است که هنگام احراز هویت و صدور مجوز موفق برای کاربر، مقدار باقیماندهٔ شمارنده را در بستهٔ پاسخ نگه‌داری می‌کند. نام پیش‌فرض این مشخصه "Session-Timeout" است.
از این گزینه می‌توان برای اعمال محدودیت‌ها تنها روی انواع خاصی از نشست‌ها (sessions) استفاده کرد. برای مثال، تنظیم این متغیر روی Framed-User تنها ماژول شمارنده را بر روی نشست‌های Framed اعمال می‌کند و انواع دیگر مانند Telnet یا Rlogin را نادیده می‌گیرد.
حداکثر اندازهٔ حافظهٔ موقت (کَش) مورد استفاده توسط ماژول. مقدار پیش‌فرض ۱۰۰۰ است.

این ماژول یک مشخصه را ثبت می‌کند، بنابراین باید به بخش instantiate اضافه شود تا هنگام بالا آمدن سرور فراخوانی گردد. در صورت استفاده در بخش authorize، باید بعد از هر ماژولی قرار گیرد که مشخصهٔ check_name را تنظیم می‌کند.

instantiate، authorize، accounting

/etc/raddb/radiusd.conf

radiusd(8), radiusd.conf(5), rlm_sqlcounter(5)

Chris Parker, cparker@segv.org

13 March 2004