در شبکههای مبتنی بر سوئیچ سیسکو، یکی از مهمترین چالشها جلوگیری از ایجاد Loop و حفظ پایداری ساختار Spanning Tree است. بسیاری از اختلالات شبکه به دلیل اتصال اشتباه یک سوئیچ، هاب یا تجهیزات غیرمجاز به پورتهای Access رخ میدهد. در چنین شرایطی قابلیت BPDU Guard به عنوان یکی از مکانیزمهای امنیتی مهم در سوئیچهای سیسکو وارد عمل میشود.
آموزش BPDU Guard در سوئیچ سیسکو برای مدیران شبکه اهمیت زیادی دارد، زیرا این قابلیت میتواند از بروز مشکلاتی مانند Broadcast Storm، ناپایداری STP و قطعی گسترده شبکه جلوگیری کند. در این مقاله به صورت کامل با عملکرد BPDU Guard، نحوه پیکربندی، مزایا، سناریوهای کاربردی و نکات مهم استفاده از آن آشنا میشویم.
BPDU Guard یکی از ویژگیهای امنیتی پروتکل Spanning Tree محسوب میشود که برای محافظت از پورتهای Access طراحی شده است. این قابلیت زمانی فعال میشود که یک پورت نباید هیچ پیام BPDU دریافت کند اما به هر دلیلی چنین پیامی روی آن مشاهده شود. BPDU مخفف Bridge Protocol Data Unit است. این بستهها توسط سوئیچها در فرآیند Spanning Tree Protocol تبادل میشوند تا توپولوژی شبکه را مدیریت کرده و از ایجاد حلقه جلوگیری کنند.
زمانی که BPDU Guard روی یک پورت فعال باشد، در صورت دریافت هرگونه BPDU، آن پورت بلافاصله به حالت Err-Disable منتقل میشود و ارتباط آن قطع خواهد شد. به زبان ساده، BPDU Guard مانند یک نگهبان امنیتی عمل میکند که اگر روی یک پورت مخصوص کاربران عادی، نشانهای از وجود سوئیچ مشاهده کند، آن پورت را غیرفعال میکند.
فرض کنید در یک شرکت دهها سوئیچ وجود دارد و ساختار STP بهدرستی طراحی شده است. حال یکی از کاربران بدون اطلاع مدیر شبکه یک سوئیچ جدید به پریز شبکه متصل میکند.
این اتفاق میتواند مشکلات زیر را ایجاد کند:
BPDU Guard از وقوع چنین مشکلاتی جلوگیری میکند و اجازه نمیدهد تجهیزات غیرمجاز در فرآیند STP مشارکت کنند.
یکی از مهمترین نکات در آموزش BPDU Guard در سوئیچ سیسکو، درک ارتباط آن با PortFast است.
PortFast معمولاً روی پورتهایی فعال میشود که به تجهیزات انتهایی مانند موارد زیر متصل هستند:
پورتهای PortFast نباید BPDU دریافت کنند. به همین دلیل سیسکو توصیه میکند BPDU Guard روی تمامی پورتهای PortFast فعال شود. ترکیب PortFast و BPDU Guard یکی از بهترین روشهای امنیتی در شبکههای سازمانی محسوب میشود.
زمانی که BPDU Guard فعال باشد، سوئیچ دائماً بستههای دریافتی را بررسی میکند.
در شرایط عادی:
اما اگر:
سوئیچ بلافاصله پورت را به وضعیت Err-Disable منتقل میکند.
در این حالت:
این رفتار باعث میشود قبل از ایجاد هرگونه Loop یا اختلال، تهدید شناسایی و متوقف شود.

استفاده از BPDU Guard مزایای متعددی برای شبکههای سازمانی دارد.
کاربران نمیتوانند بدون مجوز سوئیچ جدیدی به شبکه متصل کنند و در ساختار STP تغییر ایجاد نمایند.
یکی از اصلیترین دلایل استفاده از BPDU Guard جلوگیری از ایجاد حلقههای لایه دوم است.
توپولوژی STP ثابت باقی میماند و احتمال تغییر Root Bridge کاهش مییابد.
بسیاری از قطعیهای ناگهانی شبکه ناشی از اشتباهات کاربران است. BPDU Guard این خطر را به حداقل میرساند.
در صورت اتصال تجهیزات ناشناس، مدیر شبکه فوراً از طریق لاگها متوجه موضوع میشود.
برای فعالسازی BPDU Guard روی یک اینترفیس خاص، ابتدا وارد محیط تنظیمات پورت شوید.
Switch(config)# interface FastEthernet0/10
Switch(config-if)# spanning-tree portfast
Switch(config-if)# spanning-tree bpduguard enable
در این مثال:
اکنون اگر هر BPDU روی این پورت مشاهده شود، پورت به حالت Err-Disable خواهد رفت.
در شبکههای بزرگ، فعال کردن BPDU Guard روی تکتک پورتها زمانبر است.
به همین دلیل میتوان آن را به صورت Global فعال کرد.
Switch(config)# spanning-tree portfast bpduguard default
پس از اجرای این دستور:
برای مشاهده وضعیت تنظیمات میتوان از دستورات زیر استفاده کرد.
Switch# show spanning-tree summary
یا:
Switch# show running-config
همچنین برای مشاهده وضعیت پورتهای Err-Disable میتوان دستور زیر را اجرا کرد:
Switch# show interfaces status err-disabled
این دستور پورتهایی که به دلیل BPDU Guard غیرفعال شدهاند را نمایش میدهد.
زمانی که یک پورت به حالت Err-Disable برود، به صورت خودکار فعال نمیشود مگر اینکه تنظیمات خاصی اعمال شده باشد.
برای فعالسازی مجدد پورت میتوان مراحل زیر را انجام داد:
Switch(config)# interface FastEthernet0/10
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
این دستور پورت را مجدداً راهاندازی میکند.
در برخی شبکهها مدیران ترجیح میدهند پورتها پس از مدتی به صورت خودکار فعال شوند.
برای این منظور از دستورات زیر استفاده میشود:
Switch(config)# errdisable recovery cause bpduguard
Switch(config)# errdisable recovery interval 300
در این مثال پورت پس از 300 ثانیه مجدداً فعال خواهد شد.

یکی از سوالات رایج مدیران شبکه تفاوت BPDU Guard و BPDU Filter است.
BPDU Guard:
BPDU Filter:
در بیشتر شبکههای سازمانی، BPDU Guard گزینه ایمنتر و توصیهشدهتری محسوب میشود.
BPDU Guard و Root Guard هر دو قابلیتهای مرتبط با STP هستند اما کاربرد متفاوتی دارند.
BPDU Guard:
Root Guard:
بنابراین این دو قابلیت مکمل یکدیگر هستند و جایگزین هم نیستند.
توصیه میشود BPDU Guard روی پورتهای زیر فعال شود:
اما روی لینکهای Uplink و Trunk معمولاً نباید BPDU Guard فعال شود زیرا این پورتها به صورت طبیعی BPDU دریافت میکنند.
برخی مدیران شبکه در پیادهسازی این قابلیت دچار اشتباه میشوند.
مهمترین موارد عبارتاند از:
اجتناب از این اشتباهات باعث عملکرد صحیحتر شبکه خواهد شد.
BPDU Guard در سوئیچ سیسکو یکی از مباحث مهم امنیت و پایداری شبکه محسوب میشود. این قابلیت با نظارت بر پیامهای BPDU از ورود سوئیچهای غیرمجاز به ساختار Spanning Tree جلوگیری میکند و مانع بروز مشکلاتی مانند Loop، Broadcast Storm و تغییرات ناخواسته در توپولوژی شبکه میشود.
در شبکههای سازمانی بهترین روش این است که تمامی پورتهای Access دارای PortFast باشند و BPDU Guard نیز روی آنها فعال شود. با این کار علاوه بر افزایش امنیت، پایداری شبکه به شکل قابل توجهی بهبود پیدا میکند و احتمال بروز اختلالات ناشی از خطاهای انسانی کاهش مییابد. استفاده صحیح از BPDU Guard یکی از اصول پایهای مدیریت حرفهای سوئیچهای سیسکو و نگهداری یک زیرساخت پایدار و قابل اعتماد است.