هدف لب
پیکربندی Root Guard روی پورتهای داونلینک یک سوئیچ توزیع بهسمت سوئیچهای access، تأیید عدمتأثیر عملیات معمولی، سپس شبیهسازی تلاش یک سوئیچ access برای rootشدن و تأیید اینکه Root Guard با قراردادن پورت در حالت root-inconsistent آن را مسدود میکند.
هدف لب (چرا مهم است)
پیکربندی دستی اولویت root bridge، که پیشتر در این مجموعه بحث شد، فقط توپولوژی مورد نظر را تحت شرایط معمولی کنترل میکند — هیچ کاری برای جلوگیری از تبلیغ تصادفی یا مخرب یک اولویت پایینتر توسط یک سوئیچ لایه-access و rootشدن خودش انجام نمیدهد، که مسیرهای ترافیک با دقت طراحیشده در سراسر شبکه را مختل میکند. Root Guard مکان root مورد نظر را در سطح پورت اعمال میکند.
توپولوژی لب
DistSwitch (root مورد نظر، اولویت 4096)
---- Gi1/0/1 ---- AccessSwitch1 (اولویت پیشفرض)
VLAN 1 هر دو سوئیچ را در بر میگیردوظیفه ۱: تأیید عملیات معمولی Root Bridge
تأیید کن DistSwitch در حال حاضر root bridge است و Gi1/0/1 در نقش designated/forwarding است.
وظیفه ۲: پیکربندی Root Guard روی پورت داونلینک
Root Guard را روی Gi1/0/1 DistSwitch، پورت روبهسمت AccessSwitch1، فعال کن.
وظیفه ۳: تأیید عدمتأثیر ترافیک معمولی
تأیید کن پورت بهطور معمول forwarding باقی میماند، چون در حال حاضر هیچ BPDU برتری دریافت نمیشود.
وظیفه ۴: شبیهسازی تلاش AccessSwitch1 برای Rootشدن
اولویت AccessSwitch1 را زیر DistSwitch کاهش بده، و شبیهسازی یا یک پیکربندی نادرست یا یک حمله تلاشکننده برای تصاحب نقش root را انجام بده.
وظیفه ۵: تأیید مسدودکردن تلاش توسط Root Guard
تأیید کن Gi1/0/1 وارد یک حالت root-inconsistent میشود بهجای اجازهدادن به AccessSwitch1 برای rootشدن، و تأیید کن DistSwitch root باقی میماند.
راهحل و تأیید
DistSwitch# show spanning-tree vlan 1 | include Priority
Bridge ID Priority 4096
This bridge is the root
DistSwitch# show spanning-tree vlan 1
Interface Role Sts Cost Prio.Nbr
Gi1/0/1 Desg FWD 4 128.1DistSwitch(config)# interface gigabitethernet1/0/1
DistSwitch(config-if)# spanning-tree guard rootDistSwitch# show spanning-tree vlan 1
Interface Role Sts Cost Prio.Nbr
Gi1/0/1 Desg FWD 4 128.1
-- همچنان بهطور معمول forwarding میکند، بدون
-- تأثیر تحت شرایط معمولیAccessSwitch1(config)# spanning-tree vlan 1 priority 0
-- 0 پایینترین اولویت ممکن است، که تضمینشده
-- انتخاب root را تحت قوانین معمولی STP اگر
-- Root Guard حاضر نبود میبردDistSwitch# show spanning-tree vlan 1
Interface Role Sts Cost Prio.Nbr
Gi1/0/1 Desg BKN* 4 128.1
*ROOT_Inc
DistSwitch# show spanning-tree inconsistentports
Name Interface Inconsistency
VLAN0001 Gi1/0/1 Root Inconsistent
-- پورت مسدود شده، و DistSwitch با وجود
-- تلاش AccessSwitch1 root باقی میماندDistSwitch# show spanning-tree vlan 1 | include Priority
Bridge ID Priority 4096
This bridge is the root
-- تأییدشده: DistSwitch همچنان root است،
-- دقیقاً همانطور که طراحی شبکه مورد نظر بودنکته کلیدی
Root Guard صرفاً یک BPDU برتر را نادیده نمیگیرد — بهطور فعال پورت گیرنده را در یک حالت مسدود متمایز "root-inconsistent" قرار میدهد، بهطور خاص قابلمشاهده در show spanning-tree inconsistentports، تا زمانی که BPDU های برتر دیگر روی آن پورت دریافت نشوند، که در آن نقطه بدون نیاز به مداخله دستی بهطور خودکار بهبود مییابد.