| LLDPD(8) | System Manager's Manual | LLDPD(8) |
نام (NAME)
lldpd —
دیمون
پروتکل کشف
لایه پیوند
(LLDP)
خلاصه دستور (SYNOPSIS)
lldpd
[-dxcseiklrv] [-D
debug] [-p
pidfile] [-S
description] [-P
platform] [-X
socket] [-m
management] [-u
file] [-I
interfaces] [-C
interfaces] [-M
class] [-H
hide] [-L
lldpcli] [-O
configfile]
توضیحات (DESCRIPTION)
lldpd
دیمونی با
قابلیت
دریافت و
ارسال
فریمهای
LLDP
است. پروتکل
کشف لایه
پیوند (Link Layer Discovery Protocol)
یک پروتکل
مستقل از
سازنده در
لایه ۲ است
که به
دستگاههای
شبکه اجازه
میدهد
هویت و
قابلیتهای
خود را در
شبکه محلی
اعلان
کنند.
همچنین
lldpd یک
سابایجنت
SNMP را با
استفاده از
پروتکل AgentX
پیادهسازی
میکند تا
با یک ایجنت
معمولی SNMP
مانند Net-SNMP
ارتباط
برقرار کند.
برای
فعالسازی
این
سابایجنت،
در فایل
snmpd.conf(5)
خود به
تنظیمی
شبیه به این
نیاز
دارید:
master agentx
این دیمون هم دریافت و هم ارسال را پیادهسازی میکند. اطلاعات مختلفی را برای ارسال فریمهای LLDP به تمامی رابطهای اترنت جمعآوری میکند، از جمله آدرس مدیریتی، سرعت و نامهای VLAN.
گزینهها به شرح زیر هستند:
-d- عدم اجرا به
عنوان
دیمون (عدم
انتقال به
پسزمینه).
اگر این
گزینه مشخص
شود،
lldpdدر پیشزمینه اجرا خواهد شد. هنگامی که یک بار دیگر مشخص شود،lldpdپیامها را در syslog ثبت نمیکند بلکه فقط در خروجی خطای استاندارد (stderr) مینویسد. سپس میتوان این گزینه را چندین بار برای افزایش پرگویی (verbosity) مشخص کرد. اگر چهار بار مشخص شود، گزارشهای اشکالزدایی (debug) فعال خواهند شد. این گزارشها را میتوان با فلگ-Dفیلتر کرد. -Ddebug- این گزینه
به کاربر
امکان
میدهد
اطلاعات
اشکالزدایی
را با مشخص
کردن
توکنهای
مجاز فیلتر
کند. این
گزینه
میتواند
چندین بار
تکرار شود
تا
توکنهای
متعددی
مجاز شوند.
این گزینه
برای
اثربخشی
باید با فلگ
-dترکیب شود. تنها گزارشهای اشکالزدایی قابل فیلتر شدن هستند. در ادامه فهرستی از توکنهای مجاز به همراه توضیحات آنها آمده است:- main
- دیمون اصلی.
- interfaces
- کشف رابطهای محلی.
- lldp
- کدگذاری/رمزگشایی PDU پروتکل LLDP.
- edp
- کدگذاری/رمزگشایی PDU پروتکل EDP.
- cdp
- کدگذاری/رمزگشایی PDU پروتکلهای CDP/FDP.
- sonmp
- کدگذاری/رمزگشایی PDU پروتکل SONMP.
- event
- مدیریت رویدادها.
- libevent
- مدیریت رویدادها، اما برای گزارشهای تولیدشده توسط libevent.
- privsep
- جداسازی امتیازات (Privilege separation).
- localchassis
- بازیابی اطلاعات مربوط به شاسی محلی.
- rpc
- ارتباط با کلاینت.
- control
- مدیریت سوکت کنترلی یونیکس.
- snmp
- سابایجنت SNMP.
- libsnmp
- سابایجنت SNMP، اما برای گزارشهای تولیدشده توسط NetSNMP.
- decode
- رمزگشایی عمومی PDU.
- marshal
- سازوکارهای سطح پایین سریالسازی.
- alloc
- سازوکارهای سطح پایین تخصیص حافظه.
- send
- ارسال PDU به رابط مشخص.
- receive
- دریافت PDU از رابط مشخص.
- loop
- حلقه اصلی برنامه.
- smartfilter
- فیلتر کردن هوشمند پروتکلهای مختلف روی یک درگاه مشابه.
- netlink
- زیرسیستم Netlink.
-ppidfile- استفاده از
فایل PID
ارائهشده
برای ثبت
شناسه
فرآیند (PID)
lldpdبهجای /run/lldpd/pid. -k- غیرفعال کردن اعلان نسخه انتشار، نگارش و ماشین (معماری) کرنل. نام کرنل (مانند Linux) همچنان به اشتراک گذاشته خواهد شد، و نسخه نرمافزار موجودی (Inventory) روی 'Unknown' تنظیم میشود.
-Sdescription- بازنویسی
توضیحات
سیستم با
توضیحات
ارائهشده.
توضیحات
پیشفرض
شامل نام
کرنل، نام
گره، نگارش
کرنل،
تاریخ ساخت
و معماری
سیستم است
(مگر اینکه
از فلگ
-kتوضیح داده شده در بالا استفاده شود). -Pplatform- بازنویسی نام پلتفرم CDP با مقدار ارائهشده. توضیحات پیشفرض، نام کرنل (Linux) است.
-x- فعال کردن
سابایجنت
SNMP. با این
گزینه،
lldpdیک سابایجنت SNMP را با استفاده از پروتکل AgentX فعال میکند. این قابلیت به شما امکان میدهد اطلاعات مربوط به سیستم محلی و سیستمهای دوردست را از طریق SNMP دریافت کنید. -Xsocket- فعال کردن
سابایجنت
SNMP با
استفاده از
سوکت
مشخصشده.
lldpdیک سابایجنت SNMP را با استفاده از پروتکل AgentX برای سوکت دادهشده فعال خواهد کرد. این گزینه مستلزم فعال بودن گزینه قبلی است. سوکت پیشفرض معمولاً /var/agentx/master است. برای مثال میتوانید سوکتی مانند tcp:127.0.0.1:705 را مشخص کنید. از آنجا که فرآیندی که این سوکت را باز میکند درون یک chroot محصور شده است، هنگام استفاده از سوکت TCP یا UDP باید یک آدرس IP (و نه نام میزبان) مشخص کنید. -c- فعال کردن
پشتیبانی
از پروتکل CDP
برای تعامل
با
مسیریابهای
سیسکو که از
LLDP استفاده
نمیکنند.
در صورت
تکرار،
بستههای CDPv1
حتی زمانی
که هیچ جفت CDP
شناسایی
نشده باشد
نیز ارسال
خواهند شد.
اگر یک بار
دیگر تکرار
شود،
بستههای CDPv2
حتی بدون
شناسایی
هیچ جفت CDP
ارسال
میشوند.
اگر باز هم
تکرار شود
(یعنی
-cccc), پروتکل CDPv1 غیرفعال و CDPv2 فعال خواهد شد. اگر یک بار دیگر تکرار شود (یعنی-ccccc), پروتکل CDPv1 غیرفعال شده و ارسال CDPv2 اجباری خواهد شد. -f- فعال کردن پشتیبانی از پروتکل FDP برای تعامل با مسیریابهای فوندری (Foundry) که از LLDP استفاده نمیکنند. در صورت تکرار، بستههای FDP حتی در صورت عدم شناسایی هیچ جفت FDP ارسال خواهند شد.
-s- فعال کردن پشتیبانی از پروتکل SONMP برای تعامل با مسیریابها و سوییچهای نورتل (Nortel) که از LLDP استفاده نمیکنند. در صورت تکرار، بستههای SONMP حتی در صورت عدم شناسایی هیچ جفت SONMP ارسال میشوند.
-e- فعال کردن پشتیبانی از پروتکل EDP برای تعامل با مسیریابها و سوییچهای اکستریم (Extreme) که از LLDP استفاده نمیکنند. در صورت تکرار، بستههای EDP حتی در صورت عدم شناسایی هیچ جفت EDP ارسال خواهند شد.
-l- اجبار به ارسال بستههای LLDP حتی زمانی که هیچ جفت مبتنی بر LLDP شناسایی نشده اما جفتی با یک پروتکل دیگر شناسایی شده است. بهطور پیشفرض، بستههای LLDP زمانی ارسال میشوند که جفتی با پروتکل LLDP شناسایی شود یا زمانی که هیچ جفتی وجود نداشته باشد. در صورت تکرار، LLDP غیرفعال میشود.
-r- حالت
فقط-دریافت
(Receive-only). با این
سوییچ،
lldpdهیچ فریمی ارسال نخواهد کرد و فقط به همسایگان گوش فرا میدهد. -mmanagement- مشخص کردن آدرسهای مدیریتی این سیستم. همانند رابطها (توضیح داده شده در زیر)، این گزینه میتواند از کاراکترهای عمومی (wildcards) و معکوسسازی استفاده کند. بدون این گزینه، اولین آدرس IPv4 و اولین آدرس IPv6 استفاده میشوند. اگر یک آدرس IP دقیق ارائه شود، بدون هیچ بررسی بهعنوان آدرس مدیریتی استفاده میشود. اگر تنها الگوهای منفی ارائه شوند، فقط یک آدرس IPv4 و یک آدرس IPv6 انتخاب میشوند. در غیر این صورت، میتوان موارد متعددی را انتخاب کرد. اگر میخواهید آدرسهای IPv6 را حذف کنید، میتوانید از !*:* استفاده کنید. اگر نام یک رابط مطابقت داده شود، نخستین آدرس IPv4 و نخستین آدرس IPv6 مرتبط با این رابط انتخاب خواهند شد.
-ufile- مشخص کردن سوکت دامنه یونیکس مورد استفاده برای ارتباط با lldpctl(8).
-Iinterfaces- مشخص کردن
اینکه به
کدام رابط
گوش داده
شود و LLDPDU از
کدام رابط
ارسال گردد.
بدون این
گزینه،
lldpdاز تمامی رابطهای فیزیکی موجود استفاده خواهد کرد. این گزینه میتواند از کاراکترهای عمومی استفاده کند. میتوان چندین رابط را با جدا کردن توسط کاما مشخص کرد. همچنین میتوان با قرار دادن علامت تعجب در ابتدای نام رابط، آن را حذف (مستثنی) کرد. با قرار دادن دو علامت تعجب در ابتدای رابط، میتوان آن را مجاز کرد. رابط مجاز بر رابط ممنوع، و رابط ممنوع بر یک رابط مطابقتیافته ساده اولویت دارد. برای مثال، با eth*,!eth1,!eth2 دیمونlldpdتنها از رابطهایی استفاده خواهد کرد که با eth شروع میشوند، به استثنای eth1 و eth2. در حالی که با *,!eth*,!!eth1 دیمونlldpdاز تمامی رابطها استفاده خواهد کرد، بهجز رابطهایی که با eth شروع میشوند، به استثنای eth1. هنگامی که یک تطابق دقیق پیدا شود، برخی بررسیها دور زده میشوند. برای مثال، اگر eth0.12 مشخص شود، حتی اگر یک رابط VLAN باشد پذیرفته خواهد شد. -Cinterfaces- مشخص کردن
اینکه از
کدام
رابطها
برای
محاسبه
شناسه شاسی
(Chassis ID) استفاده
شود. بدون
این گزینه،
تمامی
رابطها در
نظر گرفته
میشوند.
lldpdاولین آدرس MAC را از میان تمامی رابطهای در نظر گرفتهشده برای محاسبه شناسه شاسی برمیگزیند. منطق این گزینه مشابه با فلگ-Iاست: میتوانید رابطها را با علامت تعجب مستثنی کنید و از الگوهای تطبیق برای مشخص کردن چندین رابط استفاده نمایید. اگر تمامی رابطها حذف شوند (با !*), نام سیستم بهجای آن بهعنوان شناسه شاسی استفاده خواهد شد. -Mclass- فعال کردن
انتشار
فریمهای LLDP-MED.
بسته به
کلاس
انتخابشده،
استاندارد
مشخص
میکند
کدام
مجموعه از
TLVها باید
ارسال شوند.
بخش 10.2.1 را
ببینید.
برخی از
دستگاهها
ممکن است در
این زمینه
سختگیر
باشند. کلاس
باید یکی از
مقادیر زیر
باشد:
- 1
- نقطه پایانی عمومی (کلاس I - Generic Endpoint)
- 2
- نقطه
پایانی
رسانه
(کلاس II - Media Endpoint).
در این
حالت،
استاندارد
ایجاب
میکند که
دستکم یک
خطمشی
شبکه از
طریق
lldpcliتعریف شود. - 3
- نقاط
پایانی
دستگاه
ارتباطی
(کلاس III - Communication Device
Endpoints). در این
حالت،
استاندارد
ایجاب
میکند که
دستکم یک
خطمشی
شبکه از
طریق
lldpcliتعریف شود. - 4
- دستگاه اتصال شبکه (Network Connectivity Device)
-i- غیرفعال
کردن ارسال
TLVهای
موجودی (Inventory)
در LLDP-MED.
lldpdهمچنان آن TLVهای LLDP-MED را دریافت خواهد کرد (و در صورت فعال بودن SNMP، آنها را منتشر میکند) اما آنها را ارسال نخواهد کرد. اگر نمیخواهید اطلاعات حساس مانند شمارههای سریال منتقل شوند، از این گزینه استفاده کنید. -Hhide- فیلتر کردن همسایگان. برای جزئیات بخش فیلتر کردن همسایگان (FILTERING NEIGHBORS) را ببینید.
-Llldpcli- ارائه یک
مسیر
جایگزین به
lldpcliبرای پیکربندی. در صورت خالی بودن، ازlldpcliبرای پیکربندی استفاده نمیشود. -Oconfigfile- بازنویسی
مسیرهای
پیشفرض
پیکربندی
که در آغاز
توسط
lldpcliپردازش میشوند. اگر یک دایرکتوری ارائه شود، تمامی فایلهای درون آن که پسوند .conf دارند خوانده خواهند شد. ترتیب خواندن بر اساس حروف الفبا است. -v- نمایش نسخه
lldpd. در صورت تکرار، اطلاعات بیشتری در مورد ساخت برنامه نشان داده میشود.
فیلتر کردن همسایگان (FILTERING NEIGHBORS)
در یک شبکه
ناهمگن،
ممکن است
چندین
میزبان
مختلف را
روی یک
درگاه (پورت)
مشابه
ببینید،
حتی اگر فقط
یکی از
آنها به
صورت
فیزیکی به
آن درگاه
متصل باشد.
برای مثال،
اگر یک
سوییچ Nortel با
پروتکل LLDP
داشته
باشید که به
یک سوییچ Cisco
با پروتکل CDP
متصل است و
میزبان شما
به سوییچ
سیسکو وصل
شده باشد،
سوییچ
نورتل را
نیز خواهید
دید زیرا
فریمهای LLDP
توسط سوییچ
سیسکو
فوروارد
(هدایت)
میشوند.
شاید این
چیزی نباشد
که شما
میخواهید.
پارامتر
-H hide به
شما امکان
میدهد به
lldpd
بگویید
برخی از
فریمهایی
را که
دریافت
میکند دور
بیندازد و
از ارسال
برخی
فریمهای
دیگر
خودداری
کند.
فیلتر
کردن ورودی
و فیلتر
کردن خروجی
به یکدیگر
وابسته
نیستند.
فیلتر کردن
ورودی برخی
از
درگاههای
دوردست را
پنهان
میکند تا
به شما فرصت
دهد دقیقاً
بدانید چه
تجهیزاتی
در طرف دیگر
پیوند قرار
دارند.
فیلتر کردن
خروجی مانع
استفاده از
برخی
پروتکلها
میشود تا
از غرق کردن
شبکه شما با
پروتکلی که
توسط
نزدیکترین
تجهیزات
پشتیبانی
نمیشود
جلوگیری
کند. به یاد
داشته
باشید که
حتی بدون
فیلتر
کردن، lldpd
از
پروتکلهایی
که دستکم
یک فریم از
آنها
دریافت شده
و در غیر این
صورت از LLDP
استفاده
خواهد کرد
(گزینههای
دیگری برای
تغییر این
رفتار وجود
دارد،
مانند -cc,
-ss, -ee,
-ll و -ff ).
هنگام
فعالسازی
فیلتر
ورودی،
lldpd تلاش
میکند یک
پروتکل را
انتخاب کند
و
همسایگانی
را که از
پروتکلهای
دیگر
استفاده
میکنند
فیلتر
نماید. برای
انتخاب این
پروتکل،
قاعده این
است که
پروتکلی با
کمترین
استفاده
برگزیده
شود. اگر روی
یک درگاه،
۱۲ همسایه CDP
و ۱ همسایه LLDP
داشته
باشید، این
بدان
معناست که
سوییچ
دوردست از LLDP
پشتیبانی
میکند و CDP
را فیلتر
نمیکند؛
بنابراین LLDP
انتخاب
میشود.
هنگام
فعالسازی
فیلتر
خروجی،
lldpd
همچنین
تلاش خواهد
کرد یک
پروتکل را
انتخاب
کرده و تنها
با آن
پروتکل
ارتباط
برقرار کند.
فیلتر کردن
به ازای هر
درگاه
انجام
میشود و هر
درگاه ممکن
است پروتکل
متفاوتی را
انتخاب
کند.
هنگام
فعالسازی
فیلتر، دو
معیار
اضافی وجود
دارد: اجازه
انتخاب یک
یا چند
پروتکل (در
صورت تساوی)
و اجازه
انتخاب یک
یا چند
همسایه. حتی
در صورت
مجاز بودن
چندین
پروتکل،
قاعده
انتخاب
پروتکلهایی
با کمترین
تعداد
همسایه
همچنان
اعمال
میشود. اگر
lldpd هر دو
پروتکل LLDP و CDP
را انتخاب
کند، به این
معنی است که
آنها
تعداد
همسایگان
برابری
دارند.
انتخاب
همسایه
تصادفی است.
فیلتر
ورودی
مجموعهای
از
همسایگان
را برای
نمایش
انتخاب
میکند در
حالی که
فیلتر
خروجی از
مجموعه
همسایگان
انتخابشده
برای
تصمیمگیری
درباره
پروتکلهای
مورد
استفاده
بهره
میبرد: اگر
یکی از
همسایگان
انتخابشده
از LLDP و دیگری
از CDP
استفاده
کند، lldpd
روی این
درگاه با هر
دو پروتکل CDP
و LLDP ارتباط
برقرار
خواهد کرد.
برخی حالات خاص نیز وجود دارند. یک نمونه معمول سوییچی است که از دو پروتکل پشتیبانی میکند (مثلاً CDP و LLDP). شما میخواهید اطلاعات را از بهترین پروتکل دریافت کنید اما تمایل دارید با هر دو پروتکل صحبت کنید زیرا برخی ابزارها از جدول CDP و برخی دیگر از جدول LLDP استفاده میکنند.
جدول زیر
تمامی
مقادیر
پذیرفتهشده
برای
پارامتر
-H hide را
خلاصه
میکند.
مقدار
پیشفرض
15 است که
با حالت خاص
توصیفشده
در بالا
مطابقت
دارد. ستون
filter به
معنای فعال
بودن فیلتر
است. ستون
1proto نشان
میدهد
تنها یک
پروتکل حفظ
خواهد شد.
ستون 1neigh
نشان
میدهد
تنها یک
همسایه حفظ
خواهد شد.
| incoming | outgoing | |||||
| filter | 1proto | 1neigh | filter | 1proto | 1neigh | |
| 0 | ||||||
| 1 | x | x | x | x | ||
| 2 | x | x | ||||
| 3 | x | x | ||||
| 4 | x | x | ||||
| 5 | x | |||||
| 6 | x | |||||
| 7 | x | x | x | x | x | |
| 8 | x | x | x | |||
| 9 | x | x | x | x | ||
| 10 | x | x | ||||
| 11 | x | x | ||||
| 12 | x | x | x | x | ||
| 13 | x | x | x | |||
| 14 | x | x | x | x | ||
| 15 | x | x | x | |||
| 16 | x | x | x | x | x | |
| 17 | x | x | x | x | ||
| 18 | x | x | x | |||
| 19 | x | x | x |
فایلها (FILES)
- /run/lldpd/socket
- سوکت دامنه یونیکس مورد استفاده برای ارتباط با lldpctl(8).
- /etc/lldpd.conf
- فایل
پیکربندی
برای
lldpd. دستورات موجود در این فایل در هنگام راهاندازی توسط lldpcli(8) اجرا میشوند. - /etc/lldpd.d
- دایرکتوری حاوی فایلهای پیکربندی که دستورات آنها در هنگام راهاندازی توسط lldpcli(8) اجرا میشوند.
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
برنامه
lldpd از کار
مقدماتی Reyk Floeter
الهام
گرفته شده
است.
نویسندگان (AUTHORS)
برنامه
lldpd توسط
Pierre-Yves Ritschard
⟨pyr@openbsd.org⟩ و Vincent
Bernat ⟨bernat@luffy.cx⟩
نوشته شده
است.
| August 21, 2008 | Linux 6.12.107+deb13-amd64 |