| LLOADD(8C) | LLOADD(8C) |
نام (NAME)
lloadd - دیمن متعادلکننده بار و بهینهسازی ارتباطات LDAP
خلاصه دستور (SYNOPSIS)
/usr/lib/lloadd [-4|-6] [-d debug-level] [-f lloadd-config-file] [-h URLs] [-n service-name] [-s syslog-level] [-l syslog-local-user] [-o option[=value]] [-r directory] [-u user] [-g group]
توضیحات (DESCRIPTION)
Lloadd یک دیمن مستقل LDAP است. این سرویس برای دریافت اتصالات LDAP روی هر تعداد درگاه (پیشفرض 389) گوش فرا میدهد و عملیاتهای LDAP دریافتی از طریق این اتصالات را جهت رسیدگی و پردازش توسط بکاندهای پیکربندیشده فوروارد (هدایت) میکند. lloadd بهطور معمول هنگام راهاندازی سیستم، معمولاً از طریق /etc/rc.local فراخوانی میشود. پس از راهاندازی، lloadd بهطور معمول منشعب (fork) شده و خود را از tty فراخواننده جدا میکند. در صورت پیکربندی در فایل پیکربندی، فرآیند lloadd شناسه فرآیند خود (نگاه کنید به getpid(2)) را در یک فایل .pid و همچنین گزینههای خط فرمان هنگام فراخوانی را در یک فایل .args ثبت میکند (نگاه کنید به lloadd.conf(5)). اگر فلگ -d مشخص شود، حتی با آرگومان صفر، lloadd منشعب نشده و از tty فراخواننده جدا نخواهد شد.
برای جزئیات بیشتر درباره lloadd به "OpenLDAP Administrator's Guide" مراجعه کنید.
گزینهها (OPTIONS)
- -4
- تنها روی آدرسهای IPv4 گوش میدهد.
- -6
- تنها روی آدرسهای IPv6 گوش میدهد.
- -d debug-level
- اشکالزدایی
را طبق آنچه
توسط debug-level
تعریف شده
فعال
میکند. اگر
این گزینه
مشخص شود،
حتی با یک
آرگومان
صفر، lloadd
منشعب
نخواهد شد و
از ترمینال
فراخواننده
جدا
نمیشود.
برخی
پیامهای
عمومی
عملیات و
وضعیت برای
هر مقداری
از debug-level چاپ
میشوند.
مقدار debug-level
به عنوان یک
رشته بیتی
در نظر
گرفته
میشود که
هر بیت
متناظر با
نوع
متفاوتی از
اطلاعات
اشکالزدایی
است. برای
جزئیات به
<ldap_log.h> مراجعه
کنید.
میتوان
آرایهای
از نامهای
خوانا را که
با کاما از
هم جدا
شدهاند
برای
انتخاب
خروجی
اشکالزدایی
اطلاعات
متناظر
مشخص کرد.
تمامی
نامهای
شناختهشده
توسط
دستورالعمل
loglevel
شرحدادهشده
در lloadd.conf(5)
پشتیبانی
میشوند.
اگر debug-level
برابر ?
باشد،
فهرستی از
سطوح
اشکالزدایی
نصبشده
چاپ میشود
و lloadd خارج
خواهد شد.
به یاد داشته باشید که اگر ثبت بستهها (packet logging) را فعال کنید، بستههای حاوی گذرواژههای بایند (bind passwords) در خروجی چاپ میشوند؛ بنابراین اگر گزارش را به یک فایل لاگ هدایت میکنید، آن فایل باید در برابر خواندن محافظت شود.
- -s syslog-level
- این گزینه به lloadd میگوید که دستورات اشکالزدایی در چه سطح اشکالزدایی باید در سرویس syslog(8) ثبت شوند. مقدار syslog-level میتواند روی هر مقدار یا ترکیبی که توسط سوییچ -d مجاز است تنظیم شود. دیمن Lloadd تمامی پیامهای انتخابشده توسط syslog-level را با سطح شدت syslog(3) معادل DEBUG، روی واحد مشخصشده با -l ثبت میکند.
- -n service-name
- نام سرویس را برای ثبت گزارش و مقاصد دیگر مشخص میکند. مقدار پیشفرض برابر با basename در argv[0]، یعنی: "lloadd" است.
- -l syslog-local-user
- کاربر محلی سرویس syslog(8) را انتخاب میکند. مقدار میتواند LOCAL0 تا LOCAL7، و همچنین USER و DAEMON باشد. مقدار پیشفرض LOCAL4 است. با این حال، این گزینه تنها روی سیستمهایی مجاز است که از کاربران محلی در سرویس syslog(8) پشتیبانی میکنند. ثبت گزارش در syslog(8) در سطح شدت "DEBUG" انجام میشود.
- -f lloadd-config-file
- فایل پیکربندی lloadd را مشخص میکند. مقدار پیشفرض /etc/openldap/lloadd.conf است.
- -h URLlist
- lloadd بهطور
پیشفرض به
ldap:/// (پروتکل LDAP
از طریق TCP
روی تمامی
رابطها در
درگاه
پیشفرض LDAP)
سرویس
میدهد.
یعنی با
استفاده از
INADDR_ANY و درگاه 389
متصل
میشود.
گزینه -h
میتواند
برای تعیین
URLهای LDAP (و
سایر
طرحها) جهت
سرویسدهی
استفاده
شود. برای
مثال، اگر
به lloadd گزینه -h
"ldap://127.0.0.1:9009/ ldaps:/// ldapi:///"
داده شود،
روی 127.0.0.1:9009 برای
LDAP، روی 0.0.0.0:636
برای LDAP از
طریق TLS، و
برای LDAP از
طریق IPC
(سوکتهای
دامنه
یونیکس) گوش
خواهد داد.
میزبان 0.0.0.0
نمایانگر
INADDR_ANY (هر رابطی)
است. فهرستی
از URLها که با
فاصله جدا
شدهاند
مورد
انتظار است.
این URLها
باید از
طرحهای LDAP،
PLDAP، LDAPS، PLDAPS یا LDAPI
باشند و
عموماً
بدون DN یا
سایر
پارامترهای
اختیاری (به
جز مواردی
که در ادامه
توضیح داده
شده است)
باشند.
پشتیبانی
از سه طرح
اخیر به
گزینههای
پیکربندی
انتخابشده
بستگی دارد.
میزبانها
میتوانند
با نام یا
قالبهای
آدرس IPv4 و IPv6
مشخص شوند.
درگاهها
در صورت
تعیین باید
عددی باشند.
درگاه
پیشفرض ldap://
برابر 389 و
درگاه
پیشفرض ldaps://
برابر 636
است؛ همین
موضوع برای
انواع
فعالشده
با پروکسی
نیز صادق
است.
طرحهای URL به نام PLDAP و PLDAPS پشتیبانی از پروتکل پروکسی HAProxy نسخه ۲ را فراهم میکنند، که به یک توزیعکننده بار (load balancer) یا سرور پروکسی اجازه میدهد آدرس IP کلاینت راه دور را به slapd ارائه کند تا برای کنترل دسترسی یا ثبت وقایع استفاده شود. درگاههای پیکربندیشده برای PLDAP یا PLDAPS تنها اتصالاتی را میپذیرند که شامل هدر ضروری پروتکل پروکسی باشند. اتصالات به این درگاهها باید در سطح شبکه تنها به توزیعکنندههای بار یا پروکسیهای مورد اعتماد محدود شوند تا از جعل آدرسهای IP کلاینت توسط اشخاص ثالث جلوگیری شود.
در حال حاضر، توزیعکننده بار هیچ اقدامی روی آدرس ثبتشده انجام نمیدهد.
برای LDAP از طریق IPC، مقدار name نام سوکت است و هیچ درگاهی (port) مورد نیاز نبوده و مجاز هم نیست؛ توجه داشته باشید که جداکنندههای دایرکتوری باید مانند هر نویسه خاص دیگری در URLها، به صورت کدگذاری URL (URL-encoded) باشند؛ بنابراین سوکت
/usr/local/var/ldapi
باید به این صورت مشخص شود:
ldapi://%2Fusr%2Flocal%2Fvar%2Fldapi
مسیر پیشفرض برای سوکت IPC برابر /var/lib/openldap/run/ldapi است.
- -r directory
- دایرکتوریای را برای تبدیل شدن به دایرکتوری ریشه مشخص میکند. دیمن lloadd دایرکتوری کاری فعلی را به این دایرکتوری تغییر داده و سپس با chroot(2) به این دایرکتوری منتقل میشود. این کار پس از باز کردن شنوندگان اما پیش از خواندن هرگونه فایل پیکربندی یا راهاندازی هر بکاندی انجام میشود. در صورت استفاده به عنوان یک سازوکار امنیتی، باید همراه با گزینههای -u و -g استفاده شود.
- -u user
- سرویس lloadd را با نام کاربری یا شناسه کاربری مشخصشده، و فهرست دسترسی گروههای تکمیلی آن کاربر طبق آنچه توسط initgroups(3) تنظیم شده اجرا میکند. شناسه گروه (GID) نیز به gid این کاربر تغییر مییابد، مگر اینکه از گزینه -g برای جایگزینی آن استفاده شود. توجه داشته باشید که هنگام استفاده همراه با -r، دیمن lloadd از پایگاهداده کاربران درون محیط ریشه تغییریافته (chroot) استفاده خواهد کرد.
- -g group
- سرویس lloadd را با نام یا شناسه گروه مشخصشده اجرا میکند. توجه داشته باشید که هنگام استفاده همراه با -r، دیمن lloadd از پایگاهداده گروهها درون محیط ریشه تغییریافته (chroot) استفاده خواهد کرد.
- -o option[=value]
- این گزینه
روشی عمومی
برای تعیین
گزینهها
بدون نیاز
به اختصاص
یک حرف
جداگانه
برای آنها
فراهم
میکند.
این بخش از گزینههای زیر پشتیبانی میکند:
- slp={on|off|slp-attrs}
- هنگامی که
پشتیبانی
از SLP در lloadd
کامپایل
شده باشد،
آن را
غیرفعال
میکند (off)،
با ثبت در SLP
DAها بدون
ویژگیهای
خاص SLP آن را
فعال
میکند (on)،
یا با
ویژگیهای
خاص SLP به نام
slp-attrs که باید
یک تعریف
فهرست
ویژگیهای
SLP مطابق با
استاندارد
SLP باشد فعال
مینماید.
برای مثال، "slp=(tree=production),(server-type=OpenLDAP),(server-version=2.4.15)" در SLP DAها با سه ویژگی SLP شامل tree، server-type و server-version که دارای مقادیر ارائهشده در بالا هستند ثبتنام میکند. این به کاربر اجازه میدهد در صورتی که چندین درخت در دسترس باشد، به طور خاص از SLP DAها در مورد سرورهای LDAP که درخت production را نگهداری میکنند پرسوجو کند.
ارتباط با SLAPD(8) (RELATION TO SLAPD(8))
Lloadd میتواند به عنوان یک ماژول قابل بارگذاری slapd کامپایل شود. در این صورت، میتواند به این صورت بارگذاری گردد:
moduleload path/to/lloadd.la backend lload listen "listening URLs"
این قابلیت به lloadd امکان میدهد تا از طریق فرآیند میزبان slapd ویژگیهای اضافی مانند دسترسی به آمار زمان اجرا در cn=monitor و پیکربندی پویا از طریق cn=config را ارائه دهد.
سوکتهای شنیداری مشخصشده تحت کنترل مستقیم lloadd خواهند بود و باید متفاوت از سوکتهایی باشند که slapd برای گوش دادن به آنها پیکربندی شده است. کلاینتهایی که به این سوکتها متصل میشوند کاملاً مستقل از کلاینتهای معمولی LDAP هستند که به سوکتهای معمول slapd وصل میشوند - کلاینتهای lloadd هیچ دسترسی به پایگاههای داده slapd ندارند، و به همین ترتیب، ترافیک کلاینت slapd به هیچ وجه به سرورهای بکاند lloadd منتقل نمیشود.
رابط کاربری CN=MONITOR (CN=MONITOR INTERFACE)
به عنوان بخشی از رابط cn=monitor در lloadd، این امکان وجود دارد که یک اتصال کلاینت تحت مدیریت آن را با نوشتن در ورودی متناظر ببندید؛ با جایگزین کردن ویژگی olmConnectionState با مقدار closing. این عملیات تابع ACLهای پیکربندیشده روی پایگاهداده monitor است. سرور یک Notice of Disconnection (اعلان قطع اتصال) به کلاینت ارسال میکند، از پذیرش هرگونه عملیات جدید خودداری مینماید و پس از اتمام تمامی عملیاتهای در حال انتظار، اتصال را میبندد.
برای مثال، جهت بستن اتصال شماره ۴۲:
dn: cn=connection 42,cn=incoming connections,cn=load balancer,cn=backends,cn=monitor changetype: modify replace: olmConnectionState olmConnectionState: closing
مثالها (EXAMPLES)
برای شروع lloadd و منشعب شدن و جدا شدن آن از ترمینال و آغاز متعادلسازی بار سرورهای LDAP تعریفشده در فایل پیکربندی پیشفرض، کافی است دستور زیر را وارد کنید:
/usr/lib/lloadd
برای شروع lloadd با یک فایل پیکربندی جایگزین، و فعالسازی اشکالزدایی پرحجم که در خروجی خطای استاندارد چاپ میشود، دستور زیر را وارد کنید:
/usr/lib/lloadd -f /var/tmp/lloadd.conf -d 255
برای راهاندازی lloadd به عنوان یک ماژول درون فرآیند slapd که روی ldap://:1389 و ldaps:// گوش میدهد، عبارات زیر را در slapd.conf خود (یا معادل آن در cn=config) قرار دهید:
moduleload lloadd.la backend lload listen "ldap://:1389 ldaps://"
همچنین ببینید (SEE ALSO)
ldap(3), lloadd.conf(5), slapd-config(5), slapd-monitor(5), slapd(8).
"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin)
گزارش باگها (BUGS)
به http://www.openldap.org/its مراجعه کنید.
قدردانی (ACKNOWLEDGEMENTS)
OpenLDAP Software توسط پروژه OpenLDAP در http://www.openldap.org توسعه یافته و نگهداری میشود. OpenLDAP Software از نسخه 3.3 LDAP دانشگاه میشیگان مشتق شده است.
| 2026/03/09 | OpenLDAP 2.6.13 |