Trộn các tính năng của Cisco STP: Bộ bảo vệ BPDU, Bộ lọc BPDU, Thân cây PortFast và PortFast


7

Tôi có hai thiết bị chuyển mạch (Cisco 2960) với một trung kế giữa chúng (hai cổng trong kênh ether) và mỗi cổng có một trung kế đến một bộ định tuyến riêng, tất cả các cổng chuyển đổi khác là cổng truy cập đến thiết bị đầu cuối;

R1       R2
|        |
|        |
|        |
SW1 === SW2

Tôi muốn thực hiện các tùy chọn STP khác nhau, cổng nhanh trên tất cả các cổng, bộ lọc BPDU và bảo vệ BPDU. Tôi đã đọc các tài liệu khác nhau của Cisco và các nguồn cấp dữ liệu trang web có uy tín khác, chỉ một số ít là;

Tôi muốn cấu hình tất cả các cổng truy cập như sau, tôi đã biết và sử dụng các tính năng này và vì vậy không có vấn đề gì ở đây:

int gi0/10
 description End Device Port
 switchport mode access
 switchport access vlan 10
 spanning-tree portfast
 spanning-tree bpdufilter enable
 spanning-tree bpduguard enable

Tôi muốn cấu hình các cổng trung kế giữa các bộ chuyển mạch và lên đến các bộ định tuyến như sau, một lần nữa tôi đã sử dụng cấu hình này và không thấy vấn đề gì ở đây;

int gi0/1
 description Trunk to R1
 switchport mode trunk
 spanning-tree portfast trunk

Những gì tôi không thể tìm thấy bất kỳ tài liệu tốt nào về việc trộn bộ lọc BPDU và bộ bảo vệ BPDU làm mặc định toàn cầu với các cổng được định cấu hình portfast trunk. Để lưu cổng tự cấu hình nhanh của tôi trên mọi cổng truy cập với bộ bảo vệ BPDU và bộ lọc BPDU, tôi chỉ cần nhập ba lệnh cấu hình toàn cầu này;

spanning-tree portfast default
spanning-tree portfast bpdufilter default
spanning-tree portfast bpduguard default

Bộ lọc BPDU và bộ bảo vệ BPDU bây giờ sẽ hoạt động trên tất cả các cổng portfast, nhưng về các cổng portfast được cấu hình portfast trunknhư giữa các thiết bị chuyển mạch, tôi muốn BPDU được gửi giữa các thiết bị chuyển mạch. Tôi không thể tìm thấy bất kỳ tài liệu nào nói rằng nếu hoặc không kích hoạt bộ bảo vệ / bộ lọc BPDU trên toàn cầu cũng sẽ định cấu hình này trên portfast trunkcác cổng, điều này có thể ngăn STP chạy giữa các công tắc và có khả năng gây ra các cổng trung kế đó errdisable.

Điều gì xảy ra khi tình huống này được định cấu hình và có tài liệu trực tuyến chính thức nào của Cisco để làm rõ không?


3
Chỉ tò mò, tại sao bộ lọc BPDU và bảo vệ BPDU? Tôi đã thấy việc sử dụng cả hai tính năng cùng một lúc rất khó khăn. Tất cả chỉ cần một người dùng bắc cầu qua hai cổng và công tắc đó mất một lần lặn. BPDU Guard không thể tắt cổng nếu bạn dừng tất cả các BPDU bằng Bộ lọc BPDU.
Brett Lykins

1
Không có vòng L2 ở đây, không có điểm nào chạy STP. Giống như bạn nói, bạn chỉ nên đặt mặc định portfast (làm cho tất cả các cổng truy cập nhanh theo cổng). Giống như Brett nói, tôi không nghĩ rằng BPDUguard làm bất cứ điều gì trong cấu hình của bạn, vì khi BPDUfilter được cấu hình trong cổng, cổng đã lọc BPDU đến thì BPDUguard không bao giờ có thể kích hoạt. Global BPDUfilter thì khác, nếu nhận được BPDU, nó cũng bắt đầu gửi chúng và di chuyển, nhưng yên tĩnh miễn là nó không nhận được BPDU. Bạn cũng nên kiểm soát pps của bcast, mcsat và unicast không xác định khi được hỗ trợ bởi CTNH.
ytti

BPDUfilter khi được cấu hình trên một giao diện có hiệu quả xen kẽ cây bao trùm mà đôi khi là một điều tốt!
John Kennedy

Tôi không tin rằng tôi đã đủ rõ ràng nên tôi sẽ mở rộng - Tôi muốn định cấu hình BPDU Guard vì nếu một công tắc được gắn vào cổng truy cập, ví dụ tôi muốn SW1 & SW2 bỏ qua mọi BPDU đi vào. Tôi cũng muốn BPDU bộ lọc được kích hoạt để các thiết bị chuyển mạch không gửi bất kỳ BPDU nào trên các cổng truy cập. Bây giờ tôi thấy rằng bộ lọc BPDU mặc dù đã là đủ. Tôi nghĩ rằng bộ lọc BPDU chỉ lọc các BPDU trong nước nhưng vẫn gửi chúng. Bây giờ tôi thấy rằng BPDU Guard là thứ tôi cần để nếu nhận được một BPDU, công tắc sẽ hành động theo cách này, vì nó sẽ không bao giờ xảy ra trên một cổng truy cập.
jwbensley

@ytti - Đừng lo lắng ytti, điều đó đã không bị lãng quên, chỉ cần cố gắng giữ cho câu hỏi này đơn giản hơn :)
jwbensley

Câu trả lời:


14

Đầu tiên, giống như những người khác đã đề cập, bạn không có vòng lặp bắc cầu ở đây do chạy Portchannel. Điều đó nói rằng, chạy STP vẫn tốt. Hãy để tôi xóa một số nhầm lẫn về cách các lệnh này hoạt động trên các thiết bị chuyển mạch của Cisco.

spanning-tree portfast trunk

Lệnh này được cho là chạy trên các cổng trung kế đối với các thiết bị không bắc cầu, chẳng hạn như một máy chủ có nhiều Vlan hoặc bộ định tuyến. Lệnh này không nên được chạy trên các thân cây đối với các công tắc vì cổng sẽ bỏ qua giai đoạn nghe và học có khả năng tạo ra một vòng lặp bắc cầu.

Nếu bạn có một giao diện được cấu hình như thế này:

interface x/x
spanning-tree portfast
spanning-tree bpdufilter enable
spanning-tree bpduguard enable

Người bảo vệ BPDU sẽ không bao giờ khởi động vì bộ lọc BPDU đang lọc cả BPDU đi và đến. Điều này cũng có nghĩa là cổng không bao giờ có thể mất trạng thái Portfast mà nó thường làm nếu các BPDU được nhận vào. Nếu bạn loại bỏ bộ lọc thì bộ bảo vệ BPDU sẽ khởi động và tắt cổng nếu nhận được một BPDU. Điều này được thực hiện trước khi cổng có thể mất trạng thái hoạt động Portfast, vì vậy về cơ bản, cổng sẽ luôn hoạt động ở chế độ hoạt động của Porfast.

Nếu bạn áp dụng các lệnh trên toàn cầu thay thế:

spanning-tree portfast default
spanning-tree portfast bpdufilter default
spanning-tree portfast bpduguard default

Lệnh đầu tiên cho phép Portfast trên tất cả các cổng truy cập.

Khi bộ lọc BPDU được áp dụng trên toàn cầu, điểm khác biệt là nó sẽ gửi 11 BPDU trước khi im lặng. Bởi vì thông thường cứ sau 2 giây thì một BPDU được gửi đi và MaxAge mặc định là 20 giây, điều đó có nghĩa là nếu có một thiết bị ở đầu kia có thể xử lý BPDU, thì sẽ nhận được ít nhất một BPDU khi có BPDU cũ (nếu có một ) đã hết hạn.

Nếu một BPDU được nhận vào trong khi bộ lọc BPDU được áp dụng trên toàn cầu thì cổng sẽ ngừng lọc và nó sẽ mất trạng thái Portfast.

Lệnh mặc định bảo vệ BPDU sẽ chỉ áp dụng cho các cổng ở trạng thái hoạt động của Portfast.

Nếu bạn kết hợp ba lệnh này với nhau thì điều sẽ xảy ra là khi nhận được một BPDU, cổng sẽ mất bộ lọc BPDU, bộ bảo vệ BPDU có thể khởi động. Cổng sẽ không bao giờ mất trạng thái hoạt động Portfast vì trước đó cổng bị tắt.

Vì vậy, bạn thấy khi áp dụng cho giao diện, bộ bảo vệ BPDU không bao giờ có thể khởi động nhưng nếu bạn áp dụng nó trên toàn cầu thì có thể.

Nếu bạn chỉ chạy Portfast trên toàn cầu và bộ lọc BPDU trên toàn cầu thì nếu một BPDU đi vào, cổng sẽ mất bộ lọc và mất trạng thái hoạt động của Portfast và sẽ hoạt động như một cổng bình thường.


BPDUfilter khi được cấu hình trên một giao diện có hiệu quả xen kẽ cây bao trùm mà đôi khi là một điều tốt!
John Kennedy

Vâng, thông thường nếu bạn muốn phân định L2 của bạn. Tuy nhiên, phải hết sức cẩn thận, đặc biệt nếu bạn thực hiện nhiều lần hoặc bạn có thể kết thúc bằng một vòng lặp bắc cầu.
Daniel Dib

1
@JohnKennedy Cá nhân tôi đồng ý với Daniel. Nếu bạn sử dụng bpdufilter trên bất kỳ tổng đài nào, bạn cũng nên bật chức năng kiểm soát bão bcast bằng cách tắt hành động để đảm bảo có một người bảo vệ chống lại các vòng lặp tình cờ trong tương lai
Mike Pennington

Quả thực tôi ước mình có thể nâng cao câu trả lời của anh ấy hai lần vì nó giải thích một chủ đề thường bị hiểu sai khá rõ
John Kennedy

1
Tôi vừa thử điều này trên Cat 3560. Đầu tiên, BPDU vẫn được truyền trên các cổng kích hoạt Portfast. Đây là một quan niệm sai lầm phổ biến. Tính năng mặc định của BPDU Guard sẽ hoạt động trên tất cả các cổng ở trạng thái hoạt động của Portfast, bao gồm cả các thân cây. Tuy nhiên, bất kỳ giao diện hỗ trợ Portfast nào nhận được BPDU đều sẽ mất trạng thái hoạt động của Portfast. Tùy thuộc vào bên nào đang gửi BPDU vượt trội, một bên có thể mất Portfast trong khi bên còn lại sẽ ở lại Portfast. Chạy Portfast trên các thân giữa các thiết bị chuyển mạch không phải là một cấu hình hợp lệ, vì vậy đừng thử điều đó. Nếu bạn chạy RSTP, sự hội tụ sẽ nhanh chóng.
Daniel Dib
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.