Cisco

VLAN e trunk no switch Cisco: access, trunk e native VLAN

Faixas coloridas de VLAN passando por um trunk entre dois switches sobre fundo cinza

Configurar VLAN e trunk no switch Cisco é uma das primeiras tarefas de quem monta a rede de um provedor: separar gerência, clientes e voz, e levar tudo isso por um único cabo até o próximo switch. No papel são meia dúzia de comandos. Na prática, o trunk sobe e uma VLAN não passa, ou a native fica diferente dos dois lados e o tráfego vaza de uma VLAN para outra sem ninguém perceber.

Este guia mostra a configuração completa num Catalyst com IOS XE, testada em laboratório: criar as VLANs, configurar a porta access, montar o trunk 802.1Q com allowed vlan e native vlan, desligar o DTP e conferir com show. No fim vem o lado do switch Huawei, porque é muito comum o Cisco de um lado do cabo e o Huawei do outro. Os exemplos usam o switch SW1, o uplink Gi1/0/48 e as VLANs 10, 20, 30 e 999.

Resposta rápida: VLAN e trunk em cinco passos

  1. Crie as VLANs com vlan 10 e dê um nome com name.
  2. Na porta do cliente, use switchport mode access e switchport access vlan 20.
  3. No uplink, use switchport mode trunk e switchport nonegotiate.
  4. Limite as VLANs com switchport trunk allowed vlan 10,20,30,999 e troque a native com switchport trunk native vlan 999.
  5. Confira com show vlan brief e show interfaces trunk e grave com copy running-config startup-config.

Do outro lado do cabo a native VLAN tem de ser a mesma e a lista de VLANs tem de bater. O resto do texto explica o porquê de cada linha da configuração de VLAN e trunk.

O que é VLAN, porta access e porta trunk

Antes dos comandos de VLAN e trunk, vale fixar três conceitos. Uma VLAN divide o switch em vários switches lógicos. Quem está na VLAN 20 não fala com quem está na VLAN 10 sem passar por um roteador. Isso separa o tráfego de gerência dos equipamentos do tráfego dos clientes e limita o tamanho de cada domínio de broadcast.

A porta access pertence a uma única VLAN e trabalha sem tag: o computador, a câmera ou o rádio ligado nela nem sabe que existe VLAN. A porta trunk carrega várias VLANs no mesmo cabo e coloca no quadro uma etiqueta 802.1Q de 4 bytes com o número da VLAN. A única exceção é a native VLAN, que atravessa o trunk sem tag.

Tipo de portaVLANsTag 802.1QUso típico
AccessUmaNãoCliente, servidor, rádio, câmera
TrunkVárias (allowed vlan)Sim, menos a nativeSwitch para switch, switch para roteador
Native VLANUma por trunkNãoQuadros sem tag que chegam no trunk

Se você já trabalha com OLT, a ideia é a mesma da service-port: a VLAN é o que identifica o serviço do cliente quando ele sai da OLT e entra no switch de agregação. Quando duas redes usam o mesmo número de VLAN, o caminho é o QinQ e VLAN translation, que é outro assunto.

Criar as VLANs no Cisco

O primeiro passo da configuração de VLAN e trunk é criar as VLANs no switch. Se você colocar uma porta numa VLAN que ainda não existe, o IOS cria a VLAN sozinho, mas sem nome. Criar antes deixa tudo nomeado e sob controle, e evita surpresa em switch com VTP em modo client, que não cria VLAN localmente.

SW1# configure terminal
SW1(config)# vlan 10
SW1(config-vlan)# name GERENCIA
SW1(config-vlan)# exit
SW1(config)# vlan 20
SW1(config-vlan)# name CLIENTES
SW1(config-vlan)# exit
SW1(config)# vlan 30
SW1(config-vlan)# name VOIP
SW1(config-vlan)# exit
SW1(config)# vlan 999
SW1(config-vlan)# name NATIVA
SW1(config-vlan)# end
SW1# show vlan brief
  • vlan 10 cria a VLAN e entra no modo config-vlan. Se ela já existe, o comando só entra nela.
  • name GERENCIA é opcional, mas sem nome o IOS usa VLAN0010 e o show vlan brief fica difícil de ler numa madrugada.
  • A VLAN 999 é reservada para ser a native do trunk. Ela não terá nenhuma porta de usuário.

A saída mostra as VLANs ativas e quais portas access estão em cada uma. Portas em trunk não aparecem nessa lista.

VLAN Name                             Status    Ports
---- -------------------------------- --------- ----------------------
1    default                          active    Gi1/0/1, Gi1/0/2
10   GERENCIA                         active
20   CLIENTES                         active
30   VOIP                             active
999  NATIVA                           active

As VLANs de 1 a 1005 ficam no arquivo vlan.dat. As de 1006 a 4094 pedem VTP em modo transparente (ou VTP versão 3) e, no modo transparente, aparecem também na running-config. As VLANs 1 e 1002 a 1005 vêm de fábrica e não podem ser apagadas.

Configurar a porta access

Com as VLANs criadas, a porta do cliente vai para a VLAN 20. Na configuração de VLAN e trunk, a porta access é a parte simples.

SW1# configure terminal
SW1(config)# interface GigabitEthernet1/0/5
SW1(config-if)# description CLIENTE-LAB-05
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 20
SW1(config-if)# end
SW1# show interfaces GigabitEthernet1/0/5 switchport
  • switchport mode access fixa a porta como access. Sem essa linha a porta fica no modo padrão do Catalyst, dynamic auto, e pode virar trunk se o outro lado pedir.
  • switchport access vlan 20 coloca a porta na VLAN 20. Os quadros entram e saem sem tag.
  • show interfaces ... switchport mostra o modo administrativo, o modo operacional e a VLAN de acesso. O modo operacional tem de ser static access.

Configurar o trunk 802.1Q no uplink

Agora o uplink. É aqui que a maioria dos problemas de VLAN e trunk aparece, então vale ler cada linha antes de colar.

SW1# configure terminal
SW1(config)# interface GigabitEthernet1/0/48
SW1(config-if)# description TRUNK-SW-HUAWEI
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport nonegotiate
SW1(config-if)# switchport trunk native vlan 999
SW1(config-if)# switchport trunk allowed vlan 10,20,30,999
SW1(config-if)# end
SW1# show interfaces trunk
  • switchport mode trunk coloca a porta em trunk permanente, sem depender de negociação.
  • switchport nonegotiate para de enviar quadros DTP. Use sempre que o vizinho não for Cisco ou quando você quer o trunk fixo.
  • switchport trunk native vlan 999 troca a native da VLAN 1 para a 999. Quadros sem tag que chegarem nesta porta caem na 999.
  • switchport trunk allowed vlan 10,20,30,999 define a lista exata do que passa. Por padrão o trunk Cisco libera de 1 a 4094.

O show interfaces trunk é a prova. Confira três coisas: o status trunking, a native certa e a lista de VLANs liberadas e ativas.

Port        Mode         Encapsulation  Status        Native vlan
Gi1/0/48    on           802.1q         trunking      999

Port        Vlans allowed on trunk
Gi1/0/48    10,20,30,999

Port        Vlans allowed and active in management domain
Gi1/0/48    10,20,30,999

Port        Vlans in spanning tree forwarding state and not pruned
Gi1/0/48    10,20,30,999

Se uma VLAN aparece em allowed mas some em allowed and active, ela não existe neste switch. Crie a VLAN e ela aparece.

switchport trunk encapsulation nos modelos mais antigos

Em switches que também suportam ISL, como o Catalyst 3560 e o 3750, o padrão da encapsulação é negotiate e o IOS recusa o switchport mode trunk enquanto ela não for definida. Nesses modelos, fixe o 802.1Q antes:

SW1(config)# interface GigabitEthernet1/0/48
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk

No Catalyst 9300 e nos modelos que só falam 802.1Q, esse comando não existe e não faz falta.

DTP e por que desligar a negociação

O DTP é o protocolo da Cisco que negocia se a porta vira trunk. O padrão dynamic auto só vira trunk se o vizinho pedir. Dois switches Cisco em dynamic auto ficam em access, e um switch Huawei não fala DTP. Por isso o trunk entre fabricantes tem de ser fixo nos dois lados: switchport mode trunk com nonegotiate no Cisco e port link-type trunk no Huawei.

Fixar o modo também fecha um furo. Uma porta de usuário deixada em dynamic auto pode virar trunk se alguém ligar nela um equipamento que peça isso, e aí essa pessoa enxerga todas as VLANs. Por isso toda porta de cliente leva switchport mode access.

Native VLAN: tire da VLAN 1

A native padrão é a VLAN 1, a mesma que todas as portas usam de fábrica. Deixar a native na 1 mistura o tráfego sem tag do trunk com qualquer porta esquecida na configuração padrão. Uma VLAN dedicada, sem porta de usuário e sem IP, resolve isso.

Native diferente nos dois lados é o erro mais perigoso. Se o Cisco usa native 999 e o vizinho usa 1, os quadros sem tag de uma VLAN chegam na outra. A documentação da Cisco avisa que isso pode criar loop de spanning tree. Entre dois Cisco o CDP mostra o aviso de native VLAN mismatch; com um Huawei do outro lado, você não conta com esse alerta e precisa conferir à mão.

Alterar a lista de VLANs sem derrubar o trunk

Com o trunk em produção, o comando de lista tem uma armadilha. switchport trunk allowed vlan 40 não acrescenta a VLAN 40: ele substitui a lista inteira por 40. As VLANs 10, 20 e 30 param na hora. Para mexer num trunk ativo, use sempre add e remove.

SW1(config)# interface GigabitEthernet1/0/48
SW1(config-if)# switchport trunk allowed vlan add 40
SW1(config-if)# switchport trunk allowed vlan remove 30
SW1(config-if)# do show interfaces GigabitEthernet1/0/48 trunk
  • allowed vlan add 40 acrescenta a 40 e mantém as outras.
  • allowed vlan remove 30 tira só a 30.
  • do show ... roda o show sem sair da interface, como explicado nos comandos Cisco IOS básicos.

Existem ainda except, que libera tudo menos a lista, e none, que bloqueia tudo. Em provedor eu prefiro a lista explícita: fica claro o que passa e evita levar broadcast de VLAN que o outro switch nem usa.

O outro lado: trunk no switch Huawei

Com um switch Huawei S5700 ou S6700 na outra ponta, a configuração de VLAN e trunk precisa refletir exatamente o lado Cisco. A configuração equivalente fica assim:

system-view
vlan batch 10 20 30 999
interface GigabitEthernet0/0/24
 description TRUNK-SW-CISCO
 port link-type trunk
 port trunk pvid vlan 999
 undo port trunk allow-pass vlan 1
 port trunk allow-pass vlan 10 20 30 999
 quit
display port vlan GigabitEthernet0/0/24
  • vlan batch 10 20 30 999 cria as quatro VLANs de uma vez.
  • port link-type trunk é o par do switchport mode trunk. Vários switches Huawei da linha S têm uma negociação própria, o LNP, que não conversa com o DTP da Cisco. Com o link-type fixado em trunk a porta não depende dela, por isso não há um nonegotiate para colocar aqui.
  • port trunk pvid vlan 999 é o par da native vlan 999. Na terminologia Huawei a native se chama PVID.
  • undo port trunk allow-pass vlan 1 tira a VLAN 1, que o trunk Huawei libera por padrão.
  • port trunk allow-pass vlan 10 20 30 999 libera a lista. A 999 precisa estar aqui: o PVID sozinho não coloca a porta na VLAN.

Repare na diferença de padrão: o trunk Cisco nasce liberando todas as VLANs e o trunk Huawei nasce liberando só a 1. Quem vem de um fabricante e configura o outro de cabeça costuma errar exatamente nesse ponto.

Trunk 802.1Q entre switch Cisco e switch Huawei com VLANs 10, 20 e 30 marcadas e native VLAN 999
VLANs 10, 20 e 30 com tag; native 999 sem tag e igual nos dois lados.

A porta access no Huawei segue a mesma lógica do Cisco:

interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 20
 quit
display vlan 20
FunçãoCisco IOS XEHuawei VRP
Criar VLANvlan 10vlan batch 10
Porta accessswitchport mode accessport link-type access
VLAN da accessswitchport access vlan 20port default vlan 20
Porta trunkswitchport mode trunkport link-type trunk
VLANs do trunkswitchport trunk allowed vlanport trunk allow-pass vlan
Nativeswitchport trunk native vlanport trunk pvid vlan
Padrão do trunkTodas as VLANsSó a VLAN 1
Verificarshow interfaces trunkdisplay port vlan

Se o uplink for um agregado, a configuração de VLAN e trunk vai na Port-channel do Cisco e na Eth-Trunk do Huawei, não nas portas físicas. O passo a passo da agregação de link entre a OLT Huawei e o switch Huawei mostra esse lado.

Verificar e salvar a configuração

Antes de gravar a configuração de VLAN e trunk, olhe a configuração da interface inteira e confirme que nada ficou para trás. Depois grave, porque a running-config se perde num reboot.

SW1# show running-config interface GigabitEthernet1/0/48
SW1# copy running-config startup-config

No Huawei o equivalente é save no modo usuário. Um teste simples fecha o serviço: um equipamento na VLAN 10 de um lado precisa pingar o gateway da VLAN 10 do outro. Se a gerência passa e os clientes não, a lista de VLANs está diferente nos dois lados.

Erros comuns em VLAN e trunk

  • Trunk sobe, mas uma VLAN não passa. Ela não está no allowed vlan de um dos lados ou não foi criada num dos switches. Compare show interfaces trunk com display port vlan.
  • Lista substituída sem querer. Alguém rodou allowed vlan 40 sem add. A correção é refazer a lista completa.
  • Native diferente. Tráfego aparece na VLAN errada ou o spanning tree bloqueia a porta. Native do Cisco e PVID do Huawei têm de ser iguais.
  • Porta em dynamic auto ligada a um Huawei. O Cisco fica em access e só a VLAN da porta passa. Fixe com switchport mode trunk.
  • PVID sem allow-pass no Huawei. O port trunk pvid vlan 999 sem a 999 na lista não leva o tráfego sem tag a lugar nenhum.
  • Command rejected no 3560. Falta o switchport trunk encapsulation dot1q antes do modo trunk.

Quando nada disso explica, olhe o spanning tree com show spanning-tree vlan seguido do número da VLAN: uma porta em estado de bloqueio também segura o tráfego, mesmo com VLAN e trunk certos.

Perguntas frequentes

Qual a diferença entre porta access e porta trunk?

A porta access pertence a uma única VLAN e envia os quadros sem tag. A porta trunk carrega várias VLANs no mesmo cabo e marca cada quadro com a etiqueta 802.1Q, menos os da native VLAN.

O que é native VLAN no Cisco?

É a VLAN que atravessa o trunk sem tag. Por padrão é a VLAN 1. Ela precisa ser igual nos dois lados do trunk e o recomendado é usar uma VLAN dedicada, sem portas de usuário.

Como adicionar uma VLAN num trunk sem derrubar as outras?

Use switchport trunk allowed vlan add seguido do número da VLAN. Sem o add, o comando troca a lista inteira e as VLANs que já passavam param.

Preciso de switchport nonegotiate num trunk com switch Huawei?

O Huawei não fala DTP, então o trunk funciona com switchport mode trunk sozinho. O nonegotiate só evita que o Cisco fique mandando quadros DTP inúteis para o vizinho, e é boa prática em qualquer trunk fixo entre fabricantes diferentes.

Qual o equivalente do switchport mode trunk no Huawei?

É o port link-type trunk, junto com o port trunk allow-pass vlan para liberar as VLANs. A native do Cisco corresponde ao port trunk pvid vlan do Huawei.

Conclusão

VLAN e trunk no Cisco se resumem a três decisões: quais VLANs existem, quais portas são access e o que passa no trunk. O que mais derruba serviço é a lista de VLANs substituída sem add e a native diferente nos dois lados. Fixe o trunk, desligue o DTP, tire a native da VLAN 1 e confira sempre com show interfaces trunk.

Quando o vizinho é Huawei, use a tabela de equivalência acima e lembre do padrão invertido: o Cisco libera tudo e o Huawei libera só a VLAN 1. Com isso o trunk entre os dois fabricantes sobe na primeira tentativa. A mesma lógica de VLAN e trunk vale para roteador e OLT ligados ao switch.

Fontes: Cisco VLAN Configuration Guide para Catalyst 9300 (IOS XE 17.13 e 17.18, capítulos Configuring VLANs e Configuring VLAN Trunks), Catalyst 3750-X e 3560-X Software Configuration Guide (Configuring VLANs) e o guia de configuração de VLAN dos switches Huawei S2720, S5700 e S6700.

Compartilhar:

Sobre o autor

Ivan Alves

Especialista em redes de provedores (ISP)

Ivan Alves trabalha há mais de 15 anos com redes de provedores de internet, do NOC ao backbone e à borda BGP. Coordena infraestrutura e tecnologia em um provedor regional e escreve aqui os tutoriais que gostaria de ter encontrado quando começou: comandos testados, cenário explicado e o porquê de cada linha.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *