RADCLIENT(1) FreeRADIUS Daemon RADCLIENT(1)

radclient - ارسال بسته‌ها به سرور RADIUS و نمایش پاسخ

radclient [-4] [-6] [-b] [-c count] [-d raddb_directory] [-D dictionary_directory] [-f file] [-F] [-h] [-i id] [-n num_requests_per_second] [-p num_requests_in_parallel] [-q] [-r num_retries] [-s] [-S shared_secret_file] [-t timeout] [-v] [-x] server {acct|auth|status|coa|disconnect|auto} secret

radclient یک برنامه کلاینت radius است. این برنامه می‌تواند بسته‌های دلخواه radius را به یک سرور radius ارسال کند و سپس پاسخ را نمایش دهد. از آن می‌توان برای آزمایش تغییراتی که در پیکربندی سرور radius ایجاد کرده‌اید، یا برای نظارت بر فعال بودن سرور radius استفاده کرد.

radclient جفت‌های ویژگی/مقدار radius را از ورودی استاندارد خود، یا از یک فایل مشخص‌شده در خط فرمان می‌خواند. سپس این جفت‌های ویژگی/مقدار را با استفاده از دیکشنری کدگذاری کرده و به سرور راه دور ارسال می‌کند.

ویژگی‌های User-Password و CHAP-Password پیش از ارسال بسته به سرور به صورت خودکار رمزگذاری می‌شوند.

-4
استفاده از IPv4 (پیش‌فرض)
-6
استفاده از IPv6
اعمال بررسی‌های Blast RADIUS. تمامی پاسخ‌ها به یک بسته Access-Request باید دارای Message-Authenticator به عنوان نخستین ویژگی باشند.

برای سازگاری با سرورهای قدیمی، این پرچم به صورت پیش‌فرض فعال نیست. با این حال، radclient همچنان امضای Blast RADIUS را بررسی کرده و بسته‌هایی را که با این حمله تطابق داشته باشند دور می‌اندازد.

ارسال هر بسته به تعداد count بار.
پوشه‌ای که فایل دیکشنری کاربر در آن قرار دارد. پیش‌فرض /etc/raddb است.
پوشه‌ای که فایل دیکشنری اصلی در آن قرار دارد. پیش‌فرض /usr/share/freeradius است.
فایلی برای خواندن جفت‌های ویژگی/مقدار. اگر این گزینه مشخص نشود، از ورودی استاندارد (stdin) خوانده می‌شوند. این گزینه را می‌توان چندین بار تعیین کرد؛ در این حالت بسته‌ها به ترتیب فایل‌ها و در هر فایل از نخستین بسته تا آخرین بسته ارسال می‌شوند. یک خط خالی، بسته‌های منطقی را درون یک فایل از هم جدا می‌کند. اگر جفتی از فایل‌ها که با دونقطه از یکدیگر جدا شده‌اند مشخص شود، فایل دوم برای پالایش (فیلتر کردن) پاسخ‌های مربوط به درخواست‌های فایل نخست استفاده خواهد شد. تعداد درخواست‌ها و فیلترها باید یکسان باشد. در صورت ارسال گزینه -s، خلاصه‌ای از نتایج فیلتر نمایش داده می‌شود.
چاپ نام فایل، شماره بسته و کد پاسخ.
نمایش اطلاعات راهنمای نحوه استفاده.
استفاده از id به عنوان شناسه درخواست RADIUS.
تلاش برای ارسال num_requests_per_second بسته در ثانیه با فواصل منظم. این گزینه به شما اجازه می‌دهد نرخ ارسال درخواست‌های radclient را کاهش دهید. هنگام عدم استفاده از -n، حالت پیش‌فرض ارسال بسته‌ها در سریع‌ترین زمان ممکن و بدون وقفه بین بسته‌ای است.

به دلیل محدودیت‌های radclient، این گزینه تعداد بسته‌ها در ثانیه را با دقت کامل ارسال نمی‌کند.

ارسال num_requests_in_parallel درخواست به صورت هم‌زمان، بدون انتظار برای دریافت پاسخ هر یک از آن‌ها. به طور پیش‌فرض، radclient نخستین درخواستی را که خوانده ارسال می‌کند، منتظر دریافت پاسخ می‌ماند، و پس از دریافت پاسخ، درخواست دوم موجود در فهرست را می‌فرستد. این گزینه امکان ارسال چندین درخواست را به طور هم‌زمان فراهم می‌سازد. پس از ارسال num_requests_in_parallel بسته، radclient تا زمان دریافت تمامی پاسخ‌ها (یا پایان مهلت زمانی درخواست‌ها) منتظر می‌ماند و سپس بسته‌های بعدی را ارسال می‌کند.

این گزینه به شما اجازه می‌دهد بیشترین بار کاری قابل پذیرش توسط سرور RADIUS را ارزیابی و کشف کنید.

استفاده از پروتکل انتقال proto (مقدار "tcp" یا "udp"). تنها در صورتی در دسترس است که FreeRADIUS با پشتیبانی از انتقال TCP کامپایل شده باشد.
ورود به حالت بی‌صدا (quiet) و عدم چاپ هرگونه خروجی.
تلاش برای ارسال مجدد هر بسته به میزان num_retries بار، پیش از صرف‌نظر کردن از آن. مقدار پیش‌فرض ۱۰ است.
چاپ خلاصه اطلاعات بسته‌های ارسالی و دریافتی.
به جای خواندن راز مشترک از خط فرمان (که برای سایر افراد در سیستم محلی قابل مشاهده است)، آن را از shared_secret_file می‌خواند.
انتظار به مدت timeout ثانیه پیش از نتیجه‌گیری اینکه NAS به درخواستی پاسخ نداده است و ارسال مجدد بسته. زمان انتظار پیش‌فرض ۳ ثانیه است.
چاپ اطلاعات نسخه برنامه.
چاپ اطلاعات اشکال‌زدایی (دیباگ).
نام میزبان یا نشانی IP سرور راه دور. به صورت اختیاری می‌توان درگاه UDP را نیز مشخص کرد. اگر پورت UDP تعیین نشود، در /etc/services جستجو می‌شود. نام سرویس مورد جستجو برای بسته‌های حسابرسی radacct و برای سایر درخواست‌ها radius است. اگر سرویسی در /etc/services یافت نشود، به ترتیب پورت‌های ۱۸۱۳ و ۱۸۱۲ استفاده خواهند شد. برای بسته‌های coa و disconnect از پورت ۳۷۹۹ استفاده می‌شود.

اگر یک نام میزبان مشخص شود، radclient یک جستجوی DNS انجام داده و از رکورد A برای یافتن نشانی IP سرور RADIUS استفاده می‌کند. اگر رکورد A وجود نداشته باشد، radclient به دنبال رکورد AAAA می‌گردد. اگر رکورد AAAA نیز وجود نداشته باشد، خطایی صادر خواهد شد.

نشانی‌های IPv6 را می‌توان با قرار دادن آن‌ها در براکت مشخص کرد. برای نمونه [2002:c000:0201:0:0:0:0:0]، یا همراه با پورت، [2002:c000:0201:0:0:0:0:0]:18120.

ویژگی‌های RADIUS خوانده‌شده توسط radclient می‌توانند شامل ویژگی ویژه Packet-Dst-IP-Address باشند. اگر این ویژگی وجود داشته باشد، بسته به آن نشانی IP ارسال می‌شود و پارامتر server مشخص‌شده در خط فرمان نادیده گرفته خواهد شد.

اگر فهرست ویژگی‌های RADIUS همواره دارای ویژگی Packet-Dst-IP-Address باشد، پارامتر server می‌تواند به صورت - تعیین گردد.

ویژگی‌های RADIUS خوانده‌شده توسط radclient می‌توانند حاوی ویژگی ویژه Packet-Dst-Port باشند. در صورت وجود این ویژگی، بسته به آن درگاه UDP ارسال می‌شود و مقدار :port مشخص‌شده در خط فرمان نادیده گرفته خواهد شد.

استفاده از auth برای ارسال بسته احراز هویت (Access-Request)، acct برای ارسال بسته حسابرسی (Accounting-Request)، status برای ارسال بسته وضعیت (Status-Server)، coa برای ارسال بسته CoA-Request، یا disconnect برای ارسال درخواست قطع اتصال. به جای این مقادیر، می‌توانید از یک کد ده‌دهی نیز در اینجا استفاده کنید. برای نمونه، کد ۱۲ نیز معادل Status-Server است.

ویژگی‌های RADIUS خوانده‌شده توسط radclient می‌توانند شامل ویژگی ویژه Packet-Type باشند. در صورت وجود این ویژگی، آن نوع بسته ارسال شده و مقدار type مشخص‌شده در خط فرمان نادیده گرفته می‌شود.

اگر فهرست ویژگی‌های RADIUS همواره شامل ویژگی Packet-Type باشد، پارامتر type می‌تواند به صورت auto تعیین شود.

راز مشترک (shared secret) برای این کلاینت. این مقدار باید در سمت سرور radius نیز برای نشانی IP که بسته‌های radius را از آن می‌فرستید، تعریف شده باشد.

یک نمونه نشست که سرور راه دور را برای Status-Server پرس‌وجو می‌کند (همه سرورها از این ویژگی پشتیبانی نمی‌کنند، اما FreeRADIUS دارای پشتیبانی قابل پیکربندی برای آن است).

$ echo "Message-Authenticator = 0x00" | radclient 192.0.2.42 status s3cr3t
Sending request to server 192.0.2.42, port 1812.
radrecv: Packet from host 192.0.2.42 code=2, id=140, length=54
    Reply-Message = "FreeRADIUS up 21 days, 02:05"

radiusd(8)

Miquel van Smoorenburg, miquels@cistron.nl
Alan DeKok <aland@freeradius.org>

21 May 2024