هدف لب
فعالکردن BPDU Guard بهطور سراسری طوریکه بهطور خودکار روی هر پورت فعالشده-PortFast اعمال شود، تأیید اینکه یک سوئیچ متصلشده دقیقاً مانند لب PortFast قبلی err-disable را فعال میکند، سپس جداگانه پیکربندی BPDU Filter روی یک پورت متفاوت و مشاهده رفتار بهطور متمایز کمتر-محافظتیاش.
هدف لب (چرا مهم است)
یک لب قبلی BPDU Guard را بهازای-هر-اینترفیس پیکربندی کرد. این لب میانبر پیکربندی سراسریای که بهطور خودکار آن را روی هر پورت PortFast اعمال میکند نشان میدهد، و بهطور حیاتی BPDU Guard را از BPDU Filter متمایز میکند — دو دستوری که مشابه بهنظر میرسند اما بسیار متفاوت رفتار میکنند، با دومی که ریسک واقعیای دارد اگر سوءبرداشت شود.
توپولوژی لب
Switch1
Gi1/0/5 ---- PortFast فعال، فقط کاربر-نهایی
Gi1/0/6 ---- PortFast فعال، فقط کاربر-نهایی
(بهجای آن BPDU Filter دریافت میکند)وظیفه ۱: فعالکردن BPDU Guard بهطور سراسری
BPDU Guard را طوری پیکربندی کن که بهطور خودکار روی هر اینترفیس فعالشده-PortFast اعمال شود، بهجای پیکربندی جداگانه بهازای هر پورت.
وظیفه ۲: فعالکردن PortFast روی هر دو پورت
PortFast را روی Gi1/0/5 و Gi1/0/6 پیکربندی کن.
وظیفه ۳: تأیید فعالشدن BPDU Guard روی Gi1/0/5
اتصال یک سوئیچ به Gi1/0/5 را شبیهسازی کن و تأیید کن پورت err-disabled میشود، سازگار با رفتار لب PortFast قبلی.
وظیفه ۴: پیکربندی BPDU Filter بهجای آن روی Gi1/0/6
هر تأثیر BPDU Guard را روی Gi1/0/6 حذف کن و بهجای آن BPDU Filter را آنجا پیکربندی کن.
وظیفه ۵: شبیهسازی اتصال یک سوئیچ به Gi1/0/6
یک سوئیچ را به Gi1/0/6 متصل کن و رفتار حاصل را مشاهده کن، و آن را با پاسخ BPDU Guard مقایسه کن.
راهحل و تأیید
Switch1(config)# spanning-tree portfast bpduguard default
-- BPDU Guard را بهطور خودکار روی هر اینترفیس
-- با PortFast فعال اعمال میکند، بهجای نیاز به
-- دستور "spanning-tree bpduguard enable" بهازای-
-- هر-اینترفیس استفادهشده در لب PortFast قبلیSwitch1(config)# interface gigabitethernet1/0/5
Switch1(config-if)# spanning-tree portfast
Switch1(config-if)# exit
Switch1(config)# interface gigabitethernet1/0/6
Switch1(config-if)# spanning-tree portfast-- سوئیچ شبیهسازیشده به Gi1/0/5 متصل میشود،
-- و BPDU میفرستد:
Switch1# show interfaces gigabitethernet1/0/5 status
Gi1/0/5 err-disabled
Switch1# show spanning-tree interface gigabitethernet1/0/5 detail
%SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port
Gi1/0/5 with BPDU Guard enabled. Disabling port.
-- رفتار محافظتی یکسان با پیکربندی بهازای-هر-
-- اینترفیس قبلی -- دستور سراسری صرفاً از نیاز
-- به تایپش روی هر پورت PortFast جداگانه صرفهجویی کردSwitch1(config)# interface gigabitethernet1/0/6
Switch1(config-if)# spanning-tree bpdufilter enable
-- اگر پیشفرض سراسری BPDU Guard بهنحوی روی
-- این پورت نیز تأثیر میگذاشت، این دستور فیلتر
-- صریح روی این اینترفیس خاص اولویت دارد-- سوئیچ شبیهسازیشده به Gi1/0/6 متصل میشود،
-- و BPDU میفرستد:
Switch1# show interfaces gigabitethernet1/0/6 status
Gi1/0/6 connected
-- پورت UP و forwarding باقی میماند، با وجود
-- اینکه یک سوئیچ (قادر به ایجاد یک حلقه)
-- اکنون متصل است
Switch1# show spanning-tree interface gigabitethernet1/0/6
Interface Role Sts Cost
Gi1/0/6 Desg FWD 4
-- BPDU Filter اصلاً پورت را خاموش نمیکند --
-- صرفاً خود سوئیچ را از فرستادن یا پردازش
-- BPDU روی این پورت متوقف میکند، و بیسروصدا
-- BPDU های سوئیچ سرکش را نادیده میگیرد بهجای
-- واکنش محافظتی به آنهانکته کلیدی
BPDU Guard و BPDU Filter مشابه بهنظر میرسند اما در روح مخالف رفتار میکنند: BPDU Guard فعالانه از شبکه محافظت میکند با غیرفعالکردن یک پورت در لحظهای که تشخیص میدهد یک سوئیچ جایی که فقط یک دستگاه انتهایی انتظار میرفت متصل شده، در حالی که BPDU Filter صرفاً کاملاً مشارکت در تبادل BPDU روی آن پورت را متوقف میکند — و بیسروصدا محافظت حلقه را بهجای اعمالش غیرفعال میکند، که میتواند اجازه دهد یک حلقه لایه ۲ واقعی کاملاً کشفنشده تشکیل شود اگر یک سوئیچ واقعاً آنجا متصل شده باشد. BPDU Filter باید با احتیاط شدید و فقط وقتی رفتار خاصش کاملاً درک شده استفاده شود.