Mistura de recursos do Cisco STP: BPDU Guard, filtro BPDU, PortFast e PortFast Trunk


7

Eu tenho dois comutadores (Cisco 2960) com um tronco entre eles (duas portas em um canal etéreo) e cada um possui um tronco até um roteador separado; todas as outras portas do comutador são portas de acesso aos dispositivos finais;

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

Quero implementar várias opções de STP, porta rápida em todas as portas, filtro BPDU e proteção BPDU. Eu li vários documentos da Cisco e outros feeds respeitáveis ​​de sites, apenas alguns são;

Desejo configurar todas as portas de acesso da seguinte maneira, eu já conheço e uso esses recursos e, portanto, não há problemas aqui:

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

Desejo configurar portas de tronco entre switches e até roteadores da seguinte maneira: novamente eu já uso essa configuração e não vejo problemas aqui;

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

O que não consigo encontrar boa documentação é misturar o filtro BPDU e o protetor BPDU como padrões globais com portas configuradas para portfast trunk. Para salvar minha porta auto-configurada rapidamente em todas as portas de acesso com guarda BPDU e filtro BPDU, posso simplesmente inserir esses três comandos de configuração global;

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

O filtro BPDU e o protetor BPDU agora se tornarão ativos em todas as portas portfast, mas e as portas portfast configuradas portfast trunkcomo entre os switches, quero que os BPDU sejam enviados entre os switches. Não consigo encontrar nenhuma documentação que diga se a habilitação / filtragem de BPDU globalmente ou não também configurará isso nas portfast trunkportas, o que pode interromper a execução do STP entre os comutadores e potencialmente causar essas portas de tronco errdisable.

O que acontece quando esta situação está configurada e existem documentos oficiais da Cisco online para esclarecer?


3
Apenas curioso, por que o filtro BPDU e o guarda BPDU? Eu já vi a utilização de ambos os recursos ao mesmo tempo, morder as pessoas com força. Basta um usuário conectar duas portas e esse switch entra em ação. O BPDU Guard não pode desligar a porta se você estiver parando todos os BPDUs com o filtro BPDU.
Brett Lykins #

11
Não há loop L2 aqui, não há sentido em executar o STP. Como você diz, você deve definir o padrão portfast (torna todas as portas de acesso mais rápidas por padrão). Como Brett diz, não acho que o BPDUguard faça nada em sua configuração, pois quando o BPDUfilter está configurado na porta, a porta já filtra o BPDU de entrada e o BPDUguard nunca pode ser acionado. O BPDUfilter global é diferente; se recebeu o BPDU, ele também começa a enviá-los e migra, mas fica quieto enquanto não recebe o BPDU. Você também deve controlar pps de bcast, mcsat e unicast desconhecido quando suportado pelo HW.
ytti

O BPDUfilter, quando configurado em uma interface, efetivamente controla a árvore de abrangência, o que às vezes é uma coisa boa!
John Kennedy

Não acredito que tenha sido claro o suficiente, então vou expandir - queria configurar o BPDU Guard porque, se um comutador estiver conectado a uma porta de acesso, por exemplo, desejo que o SW1 e o SW2 ignorem os BPDUs que entrarem. Também quero o BPDU filtro ativado para que os comutadores não enviem nenhum BPDU nas portas de acesso. Vejo agora que o filtro BPDU seria suficiente. Eu pensei que o filtro BPDU estava filtrando apenas as BPDU de entrada, mas ainda as enviando. Vejo agora que o BPDU Guard é o que eu preciso para que, se um BPDU for recebido, o switch atue sobre isso, pois nunca deve acontecer em uma porta de acesso.
jwbensley

@ytti - Não se preocupe ytti, que não tenha sido esquecido, apenas tentando manter esta pergunta simples :)
jwbensley

Respostas:


14

Primeiro, como os outros mencionaram, você não tem um loop de ponte aqui devido à execução de um Portchannel. Dito isto, a execução do STP ainda está bem. Deixe-me esclarecer algumas confusões sobre como esses comandos funcionam nos comutadores Cisco.

spanning-tree portfast trunk

Esse comando deve ser executado nas portas de tronco para dispositivos sem ponte, como um servidor com várias VLANs ou um roteador. Este comando não deve ser executado em troncos em direção a switches, porque a porta ignorará a fase de escuta e aprendizado, o que poderia criar um loop de ponte.

Se você possui uma interface configurada assim:

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

O protetor BPDU nunca entra em ação porque o filtro BPDU está filtrando as BPDUs de saída e de entrada. Isso também significa que a porta nunca pode perder seu status Portfast, como faria normalmente se as BPDUs fossem recebidas de entrada. Se você remover o filtro, o protetor BPDU entrará e desligará a porta se um BPDU for recebido. Isso é feito antes que a porta possa perder seu estado operacional Portfast, portanto, basicamente, a porta sempre funcionará no modo operacional Porfast.

Se você aplicar os comandos globalmente:

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

O primeiro comando ativa o Portfast em todas as portas de acesso.

Quando o filtro BPDU é aplicado globalmente, a diferença é que ele envia 11 BPDUs antes de ficar em silêncio. Como normalmente um BPDU é enviado a cada 2 segundos e o MaxAge padrão é 20 segundos, isso significa que, se houver um dispositivo na outra extremidade capaz de processar BPDUs, pelo menos um BPDU será recebido quando o BPDU antigo (se houver um ) expirou.

Se um BPDU for recebido de entrada quando o filtro BPDU for aplicado globalmente, a porta interromperá a filtragem e perderá seu status Portfast.

O comando padrão de proteção BPDU será aplicado apenas às portas que estão em um estado operacional Portfast.

Se você combinar esses três comandos, o que acontecerá é que, quando um BPDU for recebido, a porta perderá o filtro BPDU, o protetor do BPDU poderá entrar em ação. A porta nunca perderá seu estado operacional Portfast porque a porta foi desligada antes.

Então, você vê quando aplicado à interface que o BPDU guard nunca pode entrar em ação, mas se você aplicá-lo globalmente, pode.

Se você executar apenas o Portfast globalmente e o BPDU filtrar globalmente, se um BPDU entrar, a porta perderá o filtro e o estado operacional do Portfast e operará como uma porta normal.


O BPDUfilter, quando configurado em uma interface, efetivamente controla a árvore de abrangência, o que às vezes é uma coisa boa!
John Kennedy

Sim, geralmente se você quiser demarcar seu L2. No entanto, deve-se tomar muito cuidado, especialmente se você fizer o multihoming ou se terminar com um loop de ponte.
Daniel Dib

11
@JohnKennedy Pessoalmente, concordo com Daniel. Se você usar bpdufilter em qualquer switchport, você também deve habilitar bcast tempestade-controle com desligamento ação para garantir que há um guarda contra laços acidentais no futuro
Mike Pennington

Na verdade, eu gostaria de poder upvote sua resposta duas vezes becuase explica um tema comumente mal entendido bastante bem
John Kennedy

11
Eu apenas tentei isso em um Cat 3560. Em primeiro lugar, os BPDUs ainda são transmitidos em portas habilitadas para Portfast. Este é um equívoco comum. O recurso padrão do BPDU Guard funcionará em todas as portas no estado operacional Portfast, incluindo troncos. No entanto, qualquer interface habilitada para Portfast que receba BPDUs perderá seu estado operacional Portfast. Dependendo de qual lado está enviando o BPDU superior, um lado pode perder o Portfast enquanto o outro permanecerá no Portfast. A execução do Portfast em troncos entre switches não é uma configuração válida, portanto, não tente isso. Se você executar o RSTP, a convergência será rápida.
Daniel Dib #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.