SƠ ĐỒ
2.2. Thay đổi root port từ A1 về D1
Cách 1: Trên A1, Thay đổi cost trên cổng E0/1 từ 100 thành 90, lúc này cost của cổng E0/0 =100 lớn hơn cost 90 trên cổng E0/1
Xem kết quả thay đổi trên A1:
Phần 3: Kỹ thuật Root Guard, BPDU Guard, BPDU filer, Loop Guard
3.1. Root Guard: Bảo vệ cây STP bằng cách ngăn chặn 1 Switch có priority tốt hơn ( Nhỏ hơn) trở thành root bridge
Bật tính năng Root Guard trên 2 interface kết nối với A1
Trên A1, vào VLAN 2 cấu hình A1 trở thành root bridge bằng câu lệnh:
Sau đó show kết quả: Do A1 cố gắng gửi BPDU để trở thành root bridge trên VLAN với priority nhỏ hơn. Trên D2, sẽ bị block 2 cổng kết nối với A1 này
Tác giả,
Võ Văn Kết
VnPro's Instructor.
MỤC TIÊU
Phần 1: Cấu hình cơ bản
Phần 2: Tinh chỉnh Root Bridge trên từng VLAN, Tinh chỉnh Cost và Port Priority trên interface thể chọn lại Root Port
Phần 3: Kỹ thuật Root Guard, BPDU Guard, BPDU filer, Loop Guard
NGỮ CẢNH
Khi tất cả các VLAN đều chọn 1 Root bridge duy nhất dẫn đến tất cả các VLAN đề thông qua Switch này, điều này dẫn đến quá tải cho Root Bridge. Khi đó ta nên chỉnh mỗi VLAN sẽ có 1 Root bridge khác nhau để tối ưu việc truyền data trên từng VLAN. Cần bảo vệ cây STP của hệ thống không bị thay đổi khi có thiết bị gắn mới gắn vào hệ thống (Bảo vệ root bridge). Cần ngăn chặn 1 switch lạ tham gia vào cây STP và chống loop bằng cơ chế Loop Guard.
THỰC HIỆN LAB
1. Phần 1: Kết nối và cấu hình cơ bản các thiết bị
1.1. Kết nối thiết bị như sơ đồ hình vẽ
1.2. Cấu hình cơ bản cho từng switch
Kết quả của STP mặc định:
Phần 1: Cấu hình cơ bản
Phần 2: Tinh chỉnh Root Bridge trên từng VLAN, Tinh chỉnh Cost và Port Priority trên interface thể chọn lại Root Port
Phần 3: Kỹ thuật Root Guard, BPDU Guard, BPDU filer, Loop Guard
NGỮ CẢNH
Khi tất cả các VLAN đều chọn 1 Root bridge duy nhất dẫn đến tất cả các VLAN đề thông qua Switch này, điều này dẫn đến quá tải cho Root Bridge. Khi đó ta nên chỉnh mỗi VLAN sẽ có 1 Root bridge khác nhau để tối ưu việc truyền data trên từng VLAN. Cần bảo vệ cây STP của hệ thống không bị thay đổi khi có thiết bị gắn mới gắn vào hệ thống (Bảo vệ root bridge). Cần ngăn chặn 1 switch lạ tham gia vào cây STP và chống loop bằng cơ chế Loop Guard.
THỰC HIỆN LAB
1. Phần 1: Kết nối và cấu hình cơ bản các thiết bị
1.1. Kết nối thiết bị như sơ đồ hình vẽ
1.2. Cấu hình cơ bản cho từng switch
Code:
Switch(config)#hostname D1 D1(config)#spanning-tree mode rapid-pvst D1(config)#banner motd # D1, STP Tuning and Protection # D1(config)#line con 0 D1(config-line)#exec-timeout 0 0 D1(config-line)#logging synchronous D1(config-line)#exit D1(config)#interface range E0/0-2 D1(config-if-range)# switchport trunk encapsulation dot1q D1(config-if-range)# switchport mode trunk D1(config-if-range)# no shutdown D1(config-if-range)# exit D1(config)#vlan 2 D1(config-vlan)# name SecondVLAN D1(config-vlan)# exit
Code:
Switch(config)#hostname D2 D2(config)#spanning-tree mode rapid-pvst D2(config)#banner motd # D2, STP Tuning and Protection# D2(config)#line con 0 D2(config-line)#exec-timeout 0 0 D2(config-line)#logging synchronous D2(config-line)#exit D2(config)#interface range E0/0-2 D2(config-if-range)# switchport trunk encapsulation dot1q D2(config-if-range)# switchport mode trunk D2(config-if-range)# no shutdown D2(config-if-range)# exit D2(config)#vlan 2 D2(config-vlan)# name SecondVLAN D2(config-vlan)# exit
Code:
A1(config)#hostname A1 A1(config)#banner motd # A1, STP Tuning and Protection # A1(config)#spanning-tree mode rapid-pvst A1(config)#line con 0 A1(config-line)# exec-timeout 0 0 A1(config-line)# logging synchronous A1(config-line)# exit A1(config)#interface range E0/0-3 A1(config-if-range)# switchport trunk encapsulation dot1q A1(config-if-range)# switchport mode trunk A1(config-if-range)# no shutdown A1(config-if-range)# exit A1(config)#vlan 2 A1(config-vlan)# name SecondVLAN A1(config-vlan)# exit
Phần 2: Tinh chỉnh Root Bridge trên từng VLAN, Tinh chỉnh Cost và Port Priority trên interface
2.1. Cấu hình D1 làm root bridge cho VLAN 1, D2 làm root bridge cho VLAN 2. Đồng thời, D2 là secordary root bridge cho VLAN 1, D1 là secondary root bridge cho VLAN 2
Kiểm tra lại trên Switch access:
2.1. Cấu hình D1 làm root bridge cho VLAN 1, D2 làm root bridge cho VLAN 2. Đồng thời, D2 là secordary root bridge cho VLAN 1, D1 là secondary root bridge cho VLAN 2
Code:
[FONT=Courier New]D1(config)# [B]spanning-tree vlan 1 root primary[/B][/FONT] [FONT=Courier New]D1(config)# [B]spanning-tree vlan 2 root secondary[/B][/FONT]
Code:
[FONT=Courier New]D2(config)# [B]spanning-tree vlan 1 root secondary[/B][/FONT] [FONT=Courier New]D2(config)# [B]spanning-tree vlan 2 root primary[/B][/FONT]
2.2. Thay đổi root port từ A1 về D1
Cách 1: Trên A1, Thay đổi cost trên cổng E0/1 từ 100 thành 90, lúc này cost của cổng E0/0 =100 lớn hơn cost 90 trên cổng E0/1
Code:
A1(config)#int range e0/0-3 A1(config-if-range)#shutdown A1(config-if-range)#int e0/1 [B]A1(config-if)#spanning-tree cost 90[/B] A1(config-if)#int range e0/0-3 A1(config-if-range)#no shut
Cách 2: Trên D1, Thay đổi port priority trên cổng E0/2 từ 128.2 thành 64.2. Lúc này đứng từ A1, ta có sender portID nhận được trên E0/1 nhỏ hơn nên trở thành root port
Trên A1, Khôi phục cách 1 thành mặc định ban đầu, ta chỉnh cost E0/1 về lại 100
Trên D1, Chỉnh priority của port E0/2 thành 64
Xem kết quả thay đổi trên A1:
Trên A1, Khôi phục cách 1 thành mặc định ban đầu, ta chỉnh cost E0/1 về lại 100
Code:
A1(config)#int range e0/0-3 A1(config-if-range)#shutdown A1(config-if-range)#int e0/1 [B]A1(config-if)#no spanning-tree cost[/B] A1(config-if)#int range e0/0-3 A1(config-if-range)#no shut
Code:
D1(config)#int range e0/0-3 D1(config-if-range)#shutdown D1(config-if-range)#int e0/2 [B]D1(config-if)#spanning-tree port-priority 64[/B] D1(config-if)#int range e0/0-3 D1(config-if-range)#no shut
Phần 3: Kỹ thuật Root Guard, BPDU Guard, BPDU filer, Loop Guard
3.1. Root Guard: Bảo vệ cây STP bằng cách ngăn chặn 1 Switch có priority tốt hơn ( Nhỏ hơn) trở thành root bridge
Bật tính năng Root Guard trên 2 interface kết nối với A1
Code:
D2(config)#int range e0/1-2 [B]D2(config-if-range)#spanning-tree guard root[/B] D2(config-if-range)#exit
Code:
[FONT=Courier New]A1(config)# [B]spanning-tree vlan 2 priority 16384[/B][/FONT]
3.2. BPDU Guard: Ngăn chặn 1 Switch tham gia vào Spanning tree, khi switch cắm vào hệ thống, có gửi BPDU thì sẽ ngay lập tức đưa port vào trạng thái err-disable.
Trên interface E0/1, sử dụng lệnh spanning-tree bpduguard enable. Sau đó, cổng này sẽ vào trạng thái Err-disable.
Lúc này Syslog sẽ thông báo:
Để làm cổng up lại, ta cần shutdown cổng và No spanning-tree bpduguard enable trên E0/1. Sau đó no shutdown cổng E0/1.
3.3. BPDU filter:
- Cách 1:Nếu cấu hình trên mode interface "spanning-tree bpdufilter enable" port sẽ ngưng gởi và nhận BPDU.
- Cách 2:Nếu cấu hình trên mode global thì BPDU filter sẽ chỉ ảnh hưởng đến những portfast. Khi port up nó chỉ gửi 11 gói BPDU và ngừng. Nếu interface nằm trong cấu hình BPDU filter + portfast nhận BPDU nhiều lần, thì BPDU filter và portfast sẽ bị "deactivated" trên cổng đó và biến nó thành 1 cổng chạy spanning tree bình thường. Khi cấu hình BPDU filter ở mode global, nó sẽ không ngăn chặn port nhận và xử lý BPDU mà chỉ ngăn chặn gửi BPDU thôi.
Ví dụ ta có Interface E0/5 nào đó:
3.4. Loop Guard:
Khi Root Port và Alternate port ngưng nhận BPDU, Loop Guard sẽ ngăn chặn 2 port này trở thành designated port.Thông thường, các port bao gồm cả blocking port vẫn phải nhận và xử lý BPDU, Khi vô tình không nhận được BPDU, các port này nghĩ rằng kết nối đối diện của mình bị vấn đề mà nó sẽ bật lên là Designated port. Lúc này vòng tròn giữa các switch hình thành và gây loop hệ thống.
- Cách 1: Để bật tính năng Loop guard chúng ta vào mode global và dùng lệnh: spanning-tree loopguard default global
- Cách 2: Để bật tính năng Loop guard trên interface, chúng ta vào interface và dùng lệnh: spanning-tree guard loop
Thực hiện bật tính năng Loop guard trên E0/1
Trên D1, Ta ngưng không cho cổng E0/2 gửi và nhận BPDU bằng cách bật BPDU filter:
Lúc này ta nhận được syslog cảnh báo:
*Jul 5 14:28:14.545: %SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port Ethernet0/1 on VLAN0001.
Trên interface E0/1, sử dụng lệnh spanning-tree bpduguard enable. Sau đó, cổng này sẽ vào trạng thái Err-disable.
Code:
A1(config)# [B]interface E0/1[/B] A1(config-if)# [B]spanning-tree bpduguard enable[/B]
Code:
*Jul 5 13:23:18.914: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Et0/1 with BPDU Guard enabled. Disabling port. A1(config-if)# *Jul 5 13:23:18.914: %PM-4-ERR_DISABLE: bpduguard error detected on Et0/1, putting Et0/1 in err-disable state *Jul 5 13:23:19.920: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to down A1(config-if)# *Jul 5 13:23:20.919: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to down
3.3. BPDU filter:
- Cách 1:Nếu cấu hình trên mode interface "spanning-tree bpdufilter enable" port sẽ ngưng gởi và nhận BPDU.
- Cách 2:Nếu cấu hình trên mode global thì BPDU filter sẽ chỉ ảnh hưởng đến những portfast. Khi port up nó chỉ gửi 11 gói BPDU và ngừng. Nếu interface nằm trong cấu hình BPDU filter + portfast nhận BPDU nhiều lần, thì BPDU filter và portfast sẽ bị "deactivated" trên cổng đó và biến nó thành 1 cổng chạy spanning tree bình thường. Khi cấu hình BPDU filter ở mode global, nó sẽ không ngăn chặn port nhận và xử lý BPDU mà chỉ ngăn chặn gửi BPDU thôi.
Ví dụ ta có Interface E0/5 nào đó:
Code:
A1(config)#Interface E0/5 [B]A1(config-if)# [/B][B][B]spanning-tree bpdufilter enable[/B] hoặc và global:[/B] [B]A1(config)#[FONT=Arial]spanning-tree portfast bpdufilter default[/FONT][/B]
Khi Root Port và Alternate port ngưng nhận BPDU, Loop Guard sẽ ngăn chặn 2 port này trở thành designated port.Thông thường, các port bao gồm cả blocking port vẫn phải nhận và xử lý BPDU, Khi vô tình không nhận được BPDU, các port này nghĩ rằng kết nối đối diện của mình bị vấn đề mà nó sẽ bật lên là Designated port. Lúc này vòng tròn giữa các switch hình thành và gây loop hệ thống.
- Cách 1: Để bật tính năng Loop guard chúng ta vào mode global và dùng lệnh: spanning-tree loopguard default global
- Cách 2: Để bật tính năng Loop guard trên interface, chúng ta vào interface và dùng lệnh: spanning-tree guard loop
Thực hiện bật tính năng Loop guard trên E0/1
Code:
A1(config)#int e0/1 [B]A1(config-if)#spanning-tree guard loop[/B] A1(config-if)#exit
Code:
D1(config)#int e0/2 D1(config-if)#spanning-tree bpdufilter enable
*Jul 5 14:28:14.545: %SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port Ethernet0/1 on VLAN0001.
Tác giả,
Võ Văn Kết
VnPro's Instructor.
Comment