| RADIUSD(8) | FreeRADIUS Daemon | RADIUSD(8) |
نام (NAME)
radiusd - کارساز احراز هویت، اعطای مجوز و حسابرسی (AAA)
خلاصه دستور (SYNOPSIS)
radiusd [-C] [-d config_directory] [-D dictionary_directory] [-f] [-h] [-i ip-address] [-l log_file] [-m] [-n name] [-p port] [-P] [-s] [-t] [-v] [-x] [-X]
توضیحات (DESCRIPTION)
نرمافزار FreeRADIUS یک کارساز RADIUS با کارایی بالا و قابلیت پیکربندی بسیار منعطف است. این کارساز از پسلایههای پایگاهداده متعددی از جمله پروندههای متنی ساده (flat-text)، SQL، LDAP، Perl، Python و غیره پشتیبانی میکند. همچنین پروتکلهای احراز هویت گوناگونی همچون PAP، CHAP، MS-CHAP(v2)، HTTP Digest و EAP (شامل EAP-MD5، EAP-TLS، PEAP، EAP-TTLS، EAP-SIM و غیره) را پشتیبانی مینماید.
این نرمافزار همچنین از پروتکل پرسمان سیسکو (VMPS) و DHCP بهطور کامل پشتیبانی میکند.
لطفاً بخش اشکالزدایی (DEBUGGING) در ادامه را مطالعه کنید. این بخش شامل دستورالعملهایی برای پیکربندی سریع کارساز بر روی سیستم محلی شما است.
گزینهها (OPTIONS)
گزینههای خط فرمان زیر توسط کارساز پشتیبانی میشوند:
- -C
- بررسی پیکربندی و خروج فوری. در صورت وجود مشکل در خواندن پیکربندی، کارساز با یک کد وضعیت غیرصفر خارج خواهد شد. اگر پیکربندی قابلقبول به نظر برسد، کارساز با کد وضعیت صفر خارج میشود.
توجه داشته باشید که این بررسی محدودیتهایی دارد. با توجه به پیچیدگیهای مربوط به آمادهسازی و راهاندازی کارساز RADIUS، این بررسیها لزوماً کامل نیستند. کارساز ممکن است در هنگام اجرا با گزینه -C کد وضعیت صفر بازگرداند، اما همچنان در اجرای عادی با خطا خارج شود.
خروجی دستور radiusd -XC را برای مشاهده فهرست جامعی از ماژولهایی که صحت پیکربندی آنها بررسی شده و ماژولهایی که نادیده گرفته شده و بررسی نشدهاند، ببینید.
- -d config directory
- مسیر پوشه پیکربندی را مشخص میکند. مقدار پیشفرض /etc/raddb است. دستور radiusd در این مسیر به دنبال پروندههای پیکربندی خود مانند پروندههای dictionary و users میگردد.
- -D dictionary directory
- تنظیم پوشه فرهنگواژگان اصلی. مقدار پیشفرض /usr/share/freeradius است.
- -f
- عدم انشعاب فرآیند (fork نکردن) و اجرا در پیشزمینه (foreground).
- -h
- چاپ اطلاعات راهنمای استفاده و خروج.
- -i ip-address
- مشخص میکند که کارساز از کدام نشانی IP برای ارسال و دریافت بستهها استفاده کند.
در صورت تعیین این گزینه خط فرمان، مقدار «bind_address» و تمامی مدخلهای «{}listen» در پرونده radiusd.conf نادیده گرفته میشوند.
این گزینه حتماً باید همراه با گزینه -p استفاده شود.
- -l log_file
- مسیر پرونده ثبت وقایع (لاگ). مقدار پیشفرض ${logdir}/radius.log است. radiusd اطلاعات ثبت وقایع خود را در این پرونده مینویسد. اگر مقدار log_file برابر رشته «stdout» باشد، گزارشها در خروجی استاندارد نوشته خواهند شد.
- -m
- هنگام دریافت سیگنال SIGINT یا SIGQUIT به جای خروج فوری، بهصورت تمیز و بدون اشکال خارج میشود. این ویژگی هنگام اجرای کارساز به همراه «valgrind» بسیار کاربردی است.
- -n name
- خواندن پرونده raddb/name.conf بهجای raddb/radiusd.conf.
- -p port
- مشخص میکند که کدام درگاه (پورت) برای دریافت بستههای احراز هویت استفاده شود. بستههای حسابرسی بر روی «port + 1» دریافت میشوند.
در صورت تعیین این گزینه خط فرمان، تمام بخشهای «listen» در پرونده radiusd.conf نادیده گرفته میشوند.
این گزینه حتماً باید همراه با گزینه -i استفاده شود.
- -P
- همیشه شناسه فرآیند (PID) را در پرونده مینویسد، حتی در صورت استفاده از گزینه -f.
- -s
- اجرا در حالت «تککارساز» (single server). کارساز در حالت عادی با چندین رشته (thread) و/یا فرآیند اجرا میشود که میتواند زمان پاسخگویی به درخواستها را کاهش دهد. با این حال، برخی سیستمها با چندریسمانی مشکل دارند؛ بنابراین اجرای کارساز در حالت «تککارساز» میتواند به رفع این مشکلات کمک کند. در این حالت، کارساز به پسزمینه نیز منتقل نخواهد شد (خودکار daemonize نمیشود).
- -t
- عدم ایجاد رشتههای پردازشی جدید (threads).
- -v
- چاپ اطلاعات نگارش کارساز و خروج.
- -X
- حالت اشکالزدایی. معادل با «-sfxx -l stdout». هنگام تلاش برای درک چگونگی عملکرد کارساز، همواره آن را با radiusd -X اجرا کنید. برای کارسازهای عملیاتی، از دستور raddebug استفاده کنید.
- -x
- حالت اشکالزدایی دقیقتر با جزئیات بیشتر. در این حالت کارساز جزئیات هر درخواست را در خروجی استاندارد stdout چاپ میکند. میتوانید این گزینه را چندین بار (مانند -x -x یا -xx) مشخص کنید تا خروجی با جزئیات بیشتر دریافت نمایید.
اشکالزدایی (DEBUGGING)
پیکربندی پیشفرض به گونهای تنظیم شده است که در گستردهترین شرایط ممکن کار کند و به حداقل تغییرات برای سیستم شما نیاز دارد.
با این حال، ممکن است نیازهای شما پیچیده بوده و نیازمند اعمال تغییرات اساسی در پیکربندی کارساز باشد. اعمال تغییرات تصادفی و آزمونوخطا روشی تضمینشده برای شکست است! در عوض، ما اکیداً توصیه میکنیم مراحل زیر را دنبال کنید:
۱) همیشه پس از اعمال هرگونه تغییر در پیکربندی، کارساز را در حالت اشکالزدایی ( radiusd -X ) اجرا نمایید. هر چقدر بر این موضوع تأکید کنیم کم است. اگر کارساز را در حالت اشکالزدایی اجرا نکنید، هرگز قادر نخواهید بود ببینید چه اتفاقی در حال رخ دادن است و نمیتوانید مشکلات را برطرف کنید.
اگر در فهرست پستی (mailing list) سؤالی بپرسید، اولین پاسخ به شما این خواهد بود: «کارساز را در حالت اشکالزدایی اجرا کنید». لطفاً این دستورالعملها را رعایت نمایید.
۲) تا جای ممکن کمترین تغییرات را در پروندههای پیکربندی پیشفرض اعمال کنید. این کارساز حاصل بیش از یک دهه تجربه در تعامل با پروتکلها، پایگاههای داده و سیستمهای گوناگون است. پیکربندی پیشفرض آن به گونهای طراحی شده که تقریباً در همه جا کار کند و تقریباً هر آنچه نیاز دارید را برآورده سازد.
۳) هنگام اعمال یک تغییر کوچک، پیش از تغییر هر چیز دیگری، آن را بیازمایید. اگر تغییر به درستی عمل کرد، یک نسخه پشتیبان از پیکربندی ذخیره کرده و سپس تغییر بعدی را اعمال کنید. اگر تغییر کار نکرد، آن را اشکالزدایی کرده و تلاش کنید بفهمید چرا کار نمیکند.
اگر کار را با ایجاد تغییرات بزرگ در پیکربندی کارساز آغاز کنید، هرگز کار نخواهد کرد و هیچگاه نخواهید توانست مشکل را بیابید و رفع کنید.
۴) اگر نیاز به افزودن اتصال به یک پایگاه داده مشخص مانند FOO (مثلاً LDAP یا SQL) دارید:
الف) پرونده
raddb/modules/foo را
ویرایش
کنید:
این پرونده
حاوی
پیکربندی
پیشفرض
ماژول است و
توضیحاتی
دارد که
موارد قابل
پیکربندی و
معنای هر
مدخل را شرح
میدهد.
ب) پرونده
raddb/sites-available/default را
ویرایش
کنید:
این پرونده
شامل
خطمشی
پیشفرض
کارساز
است؛ مثلاً
«فعالسازی
احراز هویت
CHAP، MS-CHAP و EAP». در
این پرونده
به دنبال
تمامی
ارجاعات به
ماژول «foo»
خود بگردید.
توضیحات را
بخوانید و
علامت هش «#»
ابتدای
خطوط
ارجاعدهنده
به ماژول را
بردارید تا
ماژول فعال
شود.
ج) پرونده
raddb/sites-available/inner-tunnel را
ویرایش
کنید:
این پرونده
شامل
خطمشی
پیشفرض
برای بخش
تونلشده
برخی
روشهای EAP
است.
ویرایشهایی
مشابه با
پرونده «default»
در مرحله
قبل انجام
دهید. اگر از
پروتکل EAP
(استاندارد
802.1X) استفاده
نمیکنید،
میتوانید
از این
مرحله
صرفنظر
نمایید.
د) کارساز را
در حالت
اشکالزدایی
( radiusd -X )
راهاندازی
کرده و
آزمایش را
آغاز کنید.
۵) پرسشهای خود را در فهرست پستی (freeradius-users@lists.freeradius.org) مطرح کنید. هنگام ارسال سؤال، حتماً خروجی حالت اشکالزدایی ( radiusd -X ) را پیوست نمایید. این اطلاعات به دیگران امکان میدهد به شما کمک کنند. در صورت عدم درج این اطلاعات، اولین پاسخ به پیام شما این خواهد بود: «خروجی حالت دیباگ را ارسال کنید».
سؤالات را زودتر مطرح کنید و معطل نکنید. اگر نتوانستید مشکلی را در طول یک روز حل کنید، آن را در فهرست پستی بپرسید. بیشتر سؤالات قبلاً مطرح شدهاند و پاسخ آنها به سرعت داده میشود.
پیشزمینه و مفاهیم (BACKGROUND)
پروتکل RADIUS پروتکلی است که میان یک کارساز دسترسی (Access Server) - معمولاً دستگاهی متصل به چندین مودم یا خطوط ISDN - و یک کارساز radius رد و بدل میشود. هنگامی که کاربری به کارساز دسترسی متصل میشود، از وی نام کاربری و گذرواژه درخواست میگردد. این اطلاعات سپس به کارساز radius ارسال میشود. کارساز با پیام «دسترسی رد شد» (access denied) یا «دسترسی مجاز است» (access OK) پاسخ میدهد. در حالت دوم، اطلاعات مربوط به ورود کاربر (مانند نشانی IP در اتصالات PPP) نیز ارسال میگردد.
کارساز دسترسی همچنین سوابق ورود و خروج کاربر را به کارساز radius ارسال میکند تا حسابرسی و ثبت عملکرد (accounting) انجام شود. این سوابق برای هر کارساز پایانه (terminal server) بهطور مجزا در پروندهای به نام detail و نیز در پرونده ثبت وقایع سازگار با wtmp در مسیر /var/log/radwtmp نگهداری میشوند.
پیکربندی (CONFIGURATION)
دستور radiusd از چندین پرونده پیکربندی استفاده میکند. هر پرونده صفحه راهنمای اختصاصی خود را دارد که ساختار آن را تشریح میکند. این پروندهها عبارتند از:
- radiusd.conf
- پرونده اصلی پیکربندی که موارد تحت کنترل مدیر سیستم در آن تنظیم میشوند.
- dictionary
- این پرونده معمولاً ایستا است. تمام ویژگیهای (attributes) ممکن RADIUS مورد استفاده در سایر پروندههای پیکربندی را تعریف میکند و نیازی به تغییر آن ندارید. این پرونده سایر پروندههای فرهنگواژگان موجود در همان پوشه را نیز شامل میشود.
- hints
- رهنمودها و سرنخهای خاصی را بر اساس نام کاربری یا سایر مشخصههای ارسالشده توسط کارساز دسترسی برای کارساز radius تعریف میکند. همچنین امکان نگاشت نامهای کاربری (مانند Pusername -> username) را فراهم میسازد. این سازوکار قابلیتی را فراهم میکند که کارساز Livingston 2.0 به عنوان پشتیبانی از «پیشوند» (Prefix) و «پسوند» (Suffix) در پرونده users ارائه میداد، اما به شکلی کلیتر و منعطفتر. البته روش کارساز Livingston نیز همچنان پشتیبانی میشود و حتی میتوان از هر دو روش به طور همزمان (در چارچوب محدودیتهای مشخص) استفاده کرد.
- huntgroups
- گروههای شکار (huntgroups) موجود را تعریف کرده و محدودسازی دسترسی به برخی گروههای شکار را برای کاربران (یا گروههایی از کاربران) خاص امکانپذیر میکند.
- users
- در این پرونده کاربران تعریف میشوند. در یک راهاندازی معمول، این پرونده عمدتاً شامل مدخلهای DEFAULT برای پردازش انواع مختلف ورود، بر اساس رهنمودهای موجود در پرونده hints است. احراز هویت سپس بر مبنای محتویات پرونده یونیکس /etc/passwd انجام میگیرد. با این حال، امکان تعریف تمامی کاربران و گذرواژههای آنها در همین پرونده نیز وجود دارد.
همچنین ببینید (SEE ALSO)
radiusd.conf(5), users(5), huntgroups(5), hints(5), dictionary(5), raddebug(8)
نویسندگان (AUTHORS)
پروژه کارساز FreeRADIUS (http://www.freeradius.org)
| 26 Apr 2012 |