Huawei Configs

Saudações.

Esse tutorial será uma área de transferência para os “copia e cola” das minhas configurações de Huawei visando configurar os switchs e roteadores para telecom e datacom.

Use por sua conta e risco, eu sei para que serve cada linha, você deveria saber tambem.

1 – Primeiro contato

Procedimentos para o primeiro contato com os equipamentos recem-retirados da caixa.

1.1 – Usando a porta CONSOLE/SERIAL

Configuração serial:

  • Bit rate: 9600
  • Parity bit: none (desativado);
  • Stop bits: 1
  • Flow control: none (desativado);

No MacOS:

Bash
# MAC
# - Alterar para root
sudo su;

# - Entrar em /dev
ls -lah /dev | grep -i usb;
   # exemplo:
   #    /dev/cu.wchusbserialfd130

# Pegue o nome do dispositivo USB, exemplo: cu.wchusbserialfd130
screen /dev/cu.wchusbserialfd130;

No Windows via Putty:

  • Abra o Putty, selecione porta serial: COM4, COM3 ou COM2;
  • Teste em cada porta e aperte ENTER em cada tela para ver se aparecem os bytes;

No Mikrotik:

  • Ligue o cabo na porta serial do mikrotik e na porta console do Huawei;
  • – Abra o terminal e execute os comandos abaixo:
Bash
# Mikrotik:

# - Verificar serial 0:
/port set 0 baud-rate=9600 data-bits=8 parity=none stop-bits=1 flow-control=none
/system serial-terminal serial0

# - Verificar serial 1:
/port set 1 baud-rate=9600 data-bits=8 parity=none stop-bits=1 flow-control=none
/system serial-terminal serial1

1.2 – Usando a porta ethernet MNGT (ETH management)

Após ligar o cabo, é preciso descobrir qual a maneira de obter o IP do equipamento, opções:

  • (A) IP fixo configurado de fábrica:
    • 192.168.1.253
  • (B) IP obtido por DHCP:
    • Conecte a porta ETH/MNGT a um switch/roteador que seja servidor DHCP;
    • Verifique no servidor DHCP do roteador qual IP foi atribuído;

1.3 – Primeiro login

O primeiro login via SSH ou Telnet, logins:

UsuárioSenha
adminhuawei@123
adminChangeme_123
adminadmin@huawei.com
root(tente as senhas acima)

Se ao tentar vai SSH o seu IP for bloqueado, mude o IP do notebook e tente novamente.

Ao conseguir o shell, o sistema vai pedir para trocar a senha por uma senha segura e que não seja a mesma da anterior.

Primeiro acesso ao terminal, rode o comando “save” para garantir a criação da primeira config. O comando “display current-configuration” para exibir a configuração atual.

Terminal

<HUAWEI> save

# The current configuration
#   (excluding the configurations of unregistered boards or cards)
#   will be written to flash:/vrpcfg.zip.
#   Are you sure to continue?[Y/N]Y
#   Jun 27 2017 00:23:20 HUAWEI %%01CFM/4/SAVE(s)[1]:
#   The user chose Y when deciding whether to save the configuration to the device.
#    Now saving the current configuration to the slot 0.
#    Save the configuration successfully.
#

# Exibir configuracao completa:
<HUAWEI> display current-configuration

# Alterar para modo admin e alterar configs:
<HUAWEI> system-view
[HUAWEI]

Em equipamentos SWITCH (S6720, S6730, …) a configuração é aplicada imediatamente, mas não fica salva, requer rodar “save” se estiver no modo operador ou “run save” se estiver no modo admin.

Em roteadores (NE, N, SE) é necessário fazer fazer “commit” para aplicar e salvar.

Terminal
# Save em modo operador
<HUAWEI> save

# Alterar para modo administrador
<HUAWEI> system-view

# Salvar em modo administrador
[HUAWEI] run save

# Alterar o nome do equipamento
[HUAWEI] sysname N8KF1A-SP-01
[*HUAWEI] commit

# Salvar
[N8KF1A-SP-01] run save

Nos passos seguintes vou colocar apenas os comandos do modo administrador, sem o prefixo anterior ao cursos “[nome-do-equipamento]“.

1.4 – Configurar console/serial

Existem duas formas de configurar a serial:

  • Autenticação AAA: Utiliza os usuários do equipamento;
  • Senha fixa: Utilizando uma senha secreta de recuperação.

Configuração:

Terminal
# Configurar porta CONSOLE/SERIAL
user-interface con 0
   authentication-mode aaa
#

# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

1.5 – Configurar interface ETH/MNGT

Opcionalmente, você pode (e deve) alterar o IP da interface de gerencia ethernet para ligá-la a sua rede privada de gerencia out-of-band.

Terminal
interface MEth0/0/1
    ip address 10.254.1.21 255.255.255.0
#


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

1.6 – Ajuste de ventilação (fan)

As ventoinhas de ventilação podem ficar no modo full (sempre no máximo) para evitar aquecimento e super-aquecimento ou podem ser guiadas sob-demanda pelos sensores de temperatura (quanto mais quente, mais barulho elas fazem ao girar no máximo).

Terminal
# Modo de controle de ventilacao
# - auto = potencia linear que acompanha o aumento da temperatura
fan speed auto


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2 – Setup inicial

Procedimentos obrigatórios para normalizar um equipamento para produção.

O “y” apos algumas linhas permite colar os comandos já com a resposta “yes” de confirmação exigida posteriormente, se o “y” não for necessário ignore o erro.

Alguns comandos estão presentes na linha switch e outros na linha router, ignore os comandos inexistentes.

2.1 – Ativar serviços de acesso remoto

Vamos ativar telnet, stelnet, ssh, scp para gerir remotamente o roteador.

Terminal
# Ativar terminal virtual, necessario para o telnet/stelnet/ssh obter shell
user-interface vty 0 4
    authentication-mode aaa
    user privilege level 15
    protocol inbound all
    idle-timeout 35791 0
    shell
#
user-interface vty 16 20
    authentication-mode aaa
    user privilege level 15
    protocol inbound all
    idle-timeout 35791 0
    shell
#

# Ativar IPv6
ipv6

# Ativar servico TELNET (nao-recomendado, opcional)
telnet server enable
telnet server port 2323
y

# Ativar STELNET (requerido)
stelnet server enable
y
telnet server port 2323
y

# - Acl para filtrar IPs de origem
# - telnet server acl  ACL-TRUSTEDS-SOURCES

# Ativar SFTP (opcional)
sftp server enable
y

# Ativar SSH (mandatorio)
stelnet ipv4 server enable
y
stelnet ipv6 server enable
y

# Alterar porta padrao de 22 para porta especifica
ssh server port 1822
y
ssh ipv4 server port 1822
y
ssh ipv6 server port 1822
y

# Abrir porta de ssh em todos os ips das interfaces (recomendavel ou loopback apenas)
ssh server-source all-interface
y
ssh ipv6 server-source all-interface
y

# Ativar servidor SCP (transferir arquivos por SSH, usado para update de firmware)
scp server enable
y

# Opcoes de autenticacao (base de usuarios)
# - ssh authorization-type default aaa
# - ssh server authentication mode local
# - ssh server authentication type chap
# - ssh server authentication type pap

# Opcoes de SSH
ssh server keepalive enable
ssh server authentication-retries 5
ssh server version 2
ssh server timeout 120

# Ativar trampolim SSH (tunneling)
ssh server tcp forwarding enable

# Desativar bloqueio de ips por senha errada (recomendavel)
ssh server ip-block disable
y

# Algoritmos de criptografia no SSH
# - Cada versao de firmware tem as cifras suportadas
# - Rode do maior comando para o menor
# - Aperte TAB apos o comando e complete todos os algoritmos
# Ativar cifras simetricas
ssh server cipher 3des_cbc aes128_cbc aes128_ctr aes256_cbc aes256_ctr des_cbc
ssh server cipher 3des_cbc aes128_cbc aes128_ctr aes128_gcm aes192_cbc aes192_ctr aes256_cbc aes256_ctr aes256_gcm arcfour128 arcfour256 blowfish_cbc des_cbc sm4_cbc 

# Ativar cifras HMAC
ssh server hmac  md5 md5_96 sha1 sha1_96 sha2_256 sha2_256_96
ssh server hmac  md5 md5_96 sha1 sha1_96 sha2_256 sha2_256_96 sha2_512
ssh server hmac  md5 md5_96 sha1 sha1_96 sha2_256 sha2_256_96 sha2_512 sm3

# Ativar cifras de chave publica
ssh server publickey dsa ecc rsa sm2 rsa_sha2_256 rsa_sha2_512 
ssh server publickey rsa rsa_sha2_256 rsa_sha2_512 ecc dsa sm2 x509v3-ssh-rsa

# Ativar cifras de geracao de chaves efemeras
ssh server key-exchange curve25519_sha256 dh_group14_sha1 dh_group16_sha512 dh_group1_sha1 dh_group_exchange_sha1 dh_group_exchange_sha256 ecdh_sha2_nistp256 ecdh_sha2_nistp384 ecdh_sha2_nistp521 sm2_kep

# Minimo de bits nas chaves
ssh server dh-exchange min-len 1024
ssh server rsa-key min-length 2048
# - ssh server rsa-key min-length 512
# - ssh server rsa-key min-length 1024

# - Acl para filtrar IPs de origem
# - ssh server acl ACL-TRUSTEDS-SOURCES

# Cadastrar usuario existente no servico SSH
# - Usuario 'admin' costuma vir ativo
ssh user admin
ssh user admin authentication-type password
ssh user admin service-type all


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.2 – Criar usuário

Criar o usuário “suporte“:

Terminal
# Cadastrar a chave publica para o usuario logar sem senha (opcional, exemplo)
rsa peer-public-key suporte-key encoding-type openssh
    public-key-code begin
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCn5mH5RDQp3XUDCilcCJOmu41NQa9MddyOdUTbA8OPGexPFGVOSKMoY3Rg7f6jRmnVUNM5NPwRlQ+dgospiPT9zGzYf6MMB5lWiCgakshmUaub8X+tQrpOJhj17OjDZdwKhWhl38MUeXl8yD3MY/DM0WS66OMz3mB0W33PNm1q9pCNBQHNpErD9Au3aOOhDHekVqeUwKXg555VJJUZ/y+9f3oUZYJ8wHsoZYgbscQh89J4ouUkC4mXFLAk/KVO12hLSKnpTj8pIt76Slc6Ic/zvm6RFegcUNOeIoh/cm1j/l6RIL/s6b9i+WsLZPtwTFTZjI/2KnXXBZlqnt1QLXqt patrickbrandao@macbook.local
    public-key-code end
    peer-public-key end
#

# Cadastrar usuario no AAA local
# Obs.: privilegio 3 em roteadores, privilegio 15 em switchs
# Obs.: o service-type deve acumular o maximo de canais de entrada
#       terminal pode nao existir se for na VS
# Obs.: o ftp-direcory e' necessario para funcionar no FTP/SFTP/SCP
aaa
    local-user suporte password irreversible-cipher Impressora@2026
    local-user suporte privilege level 15
    local-user suporte service-type telnet terminal ssh ftp http
    local-user suporte service-type telnet terminal ssh ftp http snmp
    local-user suporte service-type telnet ssh ftp http snmp
    local-user suporte ftp-directory cfcard:
#

# Cadastrar usuario no servidor SSH
ssh user suporte
ssh user suporte authentication-type all
ssh user suporte service-type all
ssh user suporte assign rsa-key suporte-key


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.3 – Ativar SSH Client

O cliente de SSH permite usar o terminal do Huawei para entrar em outro equipamento usando o comando “stelnet“.

Terminal
# Ativar
ssh client first-time enable
y

# Tipos de chaves publicas suportadas
ssh client publickey ecc rsa rsa_sha2_256 rsa_sha2_512 dsa sm2

# Tipos de cifras simetricas suportadas (adicione o maximo possivel)
ssh client cipher aes256_gcm aes128_gcm aes256_ctr aes192_ctr aes128_ctr 3des_cbc aes128_cbc aes192_cbc aes256_cbc arcfour128 arcfour256 des_cbc sm4_cbc

# Tipos de HMAC (adicione o maximo possivel)
ssh client hmac sha2_512 sha2_256 md5 md5_96 sha1 sha1_96 sha2_256_96 sm3

# Tipos de algoritmos de geracao de chaves efemeras (adicione o maximo possivel)
ssh client key-exchange dh_group_exchange_sha256 dh_group_exchange_sha1 dh_group14_sha1 ecdh_sha2_nistp256 ecdh_sha2_nistp384 ecdh_sha2_nistp521 curve25519_sha256 dh_group16_sha512 dh_group1_sha1 sm2_kep


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.4 – Ativar DNS Client

O cliente DNS será necessário caso você vá usar nomes de DNS em vez de IPs nas configurações de alvos remotos.

Terminal
# Configurar cliente DNS, informar
# IP do servidor DNS
dns server 8.8.8.8


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.5 – Ativar NTP Client

O NTP Client é vital para ajustar o relógio e garantir exatidão de data/hora e milissegundos nos logs e emissão de flow do equipamento.

É recomendável desativar o servidor NTP do equipamento e deixar essa função para um servidor que leve isso a sério (Relógio atômico oficial da região).

Terminal
# Desativar servidor NTP local em IPv4 (opcional, recomendado)
ntp-service server disable
y

# Desativar servidor NTP local em IPv6 (opcional, recomendado)
ntp-service ipv6 server disable
y


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

Usar servidor NTP via IPv4 requer uma das opções:

  • Que haja um servidor NTP dentro do backbone e alcançável com o IP privado da loopback0, eth/mngt ou VRF/mngtrecomendável;
  • Que o equipamento tenha IPv6 Global (público, loopback1?) para alcançar servidores externos na Internet – recomendável;
  • Que o equipamento tenha IPv4 público (loopback1?) para alcançar o servidor na Internet – desaconselhado.

Define timezone:

Terminal
# Ajustar o time-zone para exibir informacoes no horario local

# - Definir nome personalizado e ajuste de relogio
clock timezone Brasilia minus 03:00:00

# Definir por nome oficial do timezone
# - clock timezone America/Sao_Paulo
# - clock timezone America/Asuncion
# - clock timezone 3 minus 03:00:00

# Timezone (Brasil: -3 no leste, -4 no oeste)
# - clock timezone BR minus 03:00:00
# - clock timezone BR minus 04:00:00


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

Escolha a configuração mais adequada ao IP de origem que alcançará o servidor NTP:

Terminal
# NTP Client
# - a.ntp.br (  200.160.0.8    2001:12ff::8      )
# - b.ntp.br (  200.189.40.8   2001:12f8:9:1::8  )

# Definir IPv4 do servidor NTP, ip de origem automatico (por interface de saida)
ntp-service unicast-server 200.160.0.8
ntp-service unicast-server 200.189.40.8

ntp-service unicast-peer   200.192.232.8
ntp-service unicast-server 200.192.232.8 iburst

# Definir IPv4 do servidor NTP, ip de origem em interface especifica loopback1
ntp-service unicast-server 200.160.0.8    source-interface LoopBack 1
ntp-service unicast-server 200.189.40.8   source-interface LoopBack 1

# Definir IPv6 do servidor NTP, ip de origem em interface especifica loopback1
ntp unicast-server ipv6 2001:12ff::8      source-interface LoopBack 1
ntp unicast-server ipv6 2001:12f8:9:1::8  source-interface LoopBack 1


# Lista de servidores NTP
# - http://tmsoft.com.br/temp/ntp-list.txt

# Analisar relogio
# - Verificar o relogio na data/hora local
dis clock

# - Verificar o relogio na data/hora UTC
#   Obs: costuma estar 3 ou 4 horas a frente do relogio local devido ao timezone
dis clock utc


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.6 – Ativar servidor SNMP

O SNMP é vital para monitorar os sensores e interfaces de rede do equipamento.

Terminal
# Ativar agente (servidor SNMP)
snmp-agent

# Porta SNMP (padrao 161)
snmp-agent udp-port 161
# - snmp-agent udp-port 40161

# Engine-ID, so deve ser definido em caso de restauracao de backup,
# ele e' gerado automaticamente na primeira config
# - snmp-agent local-engineid 800007DB03CAFEBEBACAFE

# Community global para leitura
# - sempre informe uma community com letras e numeros, nao complique
# - nao use "public" ou "private" sob nenhum pretexto
snmp-agent community read NAO_USE_PUBLIC_JAMAIS_ANIMAL

# Informacoes do equiapmento
# - Nome do responsavel pelo equipamento
snmp-agent sys-info contact "Nome do Administrador ou dono"

# - Localizacao exata
#   Opcoes:
#   - Localizacao GPS precisa (recomendavel)
#   - Endereco completo (com CEP) do POP
#   - Endereco do POP + Rack + Posicao no Rack
snmp-agent sys-info location "-19.84846477235195,-43.98008915076289"

# - Versao de protocolo
snmp-agent sys-info version v2c v3
# - snmp-agent sys-info version v2c
# - snmp-agent sys-info version v3
# - snmp-agent sys-info version all

# - Mibs disponiveis
snmp-agent mib-view included mibview  mib-2
snmp-agent mib-view included mib2view mib-2

# - Interface de origem (IP que abre a porta SNMP)
# -- snmp-agent protocol source-interface LoopBack1
snmp-agent protocol source-status       all-interface
snmp-agent protocol source-status ipv6  all-interface
snmp-agent proxy protocol source-status all-interface
snmp-agent proxy protocol source-status ipv6 all-interface

# - Acl para filtrar IPs de origem
# - snmp-agent acl ACL-TRUSTEDS-SOURCES

# - Traps - Eventos que disparam telemetria ao NMS (servidor de monitoramento)
snmp-agent trap enable standard
snmp-agent target-host trap-hostname "zabbix" address 10.255.14.5 udp-port 162 trap-paramsname "zabbix"
undo snmp-agent trap enable feature-name web trap-name hwPortalQuietUserClear

# Ativar coleta de estatisticas sob-demanda e em tempo real
# Obsl: ignore erros, nao sao todas as linhas que precisam dessa diretiva
set if-mib sample-interval 0


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.7 – Ativar serviços de descoberta L2

Os serviços:

  • LLDP: Descoberta dos equipamentos que estão em cada cabo e barramentos switch/vlan;
  • CDP: Somente recebe, requer ativação de compliance por interface.

Ativando:

Terminal
# LLDP global em todas as interfaces (recomendavel)
lldp enable

# Para desativar
# - undo lldp enable

# Ativar suporte a CDP na interface
interface XGigabitEthernet0/0/1
    lldp compliance cdp receive
#

# Para visualizar
display lldp neighbor brief


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.8 – Ativar backup automático de configuração

Previamente, tenha um servidor FTP ou SFTP/SSH para receber os arquivos.

Terminal
# Ativar auto-save
# - Intervalo em minutos para backup automatico
#   1440 = 24 horas
set save-configuration interval 1440

# - Parametrizacoes
# set save-configuration checkpoint daily time 16
# set save-configuration delay 1
# set save-configuration delay 1 cpu-limit 45
# set save-configuration delay 1 cpu-limit 60
# set save-configuration interval 1440
# set save-configuration interval 360
# set save-configuration interval 60


# - Dados do servidor FTP para upload
#   IP do servidor: 10.254.250.14
#   Usuario FTP...: becapeador
#   Senha.........: SenhaSegura_2026
set save-configuration backup-to-server server 10.254.250.14 transport-type ftp user becapeador password SenhaSegura_2026

# - Usando sFTP
set save-configuration backup-to-server server 10.254.250.14 transport-type sftp user becapeador password SenhaSegura_2026 path switchs/PE-01/backup/


# configuration file auto-save \
#    [interval interval|delay delay-interval|cpu-limit cpu-usage ] *
# configuration file auto-save default
# undo configuration file auto-save

# Configs de outros equipamentos
# configuration file auto-save interval 60
# set save-configuration interval 600 delay 3 cpu-limit 60

# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

2.9 – Enviar logs para servidor SYSLOG

Requer servidor SYSLOG/RSYSLOG/SYSLOG-NG/Graylog para receber as mensagens.

Terminal
info-center channel 6 name logserver
info-center source default channel 6 log level informational
info-center loghost source LoopBack0
info-center loghost 10.254.250.19 channel 6 facility local2
#


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

3 – Setup de portas em L2

Agora vamos aos exemplos de como configurar portas ethernet.

3.1 – Normalizar interfaces

Nesse etapa garantimos que todas as interfaces L2 estarão ativas (no shutdown) e com capacidade jumbo-frame no máximo.

Cada equipamento (S5720, S6720, S6730, S6750, …) tem sua quantidade e tipo de portas.

Zerando configuração de uma porta

Terminal
# Obs: o comando "clear config this" requer confirmacao com "y" (yes)
interface xg 0/0/1
    clear configuration this
    undo shutdown
#

Portas de 10G

Terminal
# Portas 10g de 1 a 4
interface range xg 0/0/1 to xg 0/0/4
    undo shutdown
    jumboframe enable 12288
#

# Portas 10g de 1 a 24
interface range xg 0/0/1 to xg 0/0/24
    undo shutdown
    jumboframe enable 12288
#

# Portas 10g de 1 a 28
interface range xg 0/0/1 to xg 0/0/28
    undo shutdown
    jumboframe enable 12288
#

# Portas 10g de 1 a 48
interface range xg 0/0/1 to xg 0/0/48
    undo shutdown
    jumboframe enable 12288
#

# Porta especifica apenas
interface xg 0/0/1
    undo shutdown
    jumboframe enable 12288
#

Portas de 40/100 G

O modo de configuração do equipamento com QSFP pode determinar se as portas aparecem como 40GE ou 100GE.

Terminal
# --- INTERFACES DE 40G

# Portas 40g de 1 a 4
interface range 40GE 0/0/1 to 40GE 0/0/4
    undo shutdown
    jumboframe enable 12288
#

# Porta especifica apenas
interface 40GE0/0/1
    undo shutdown
    jumboframe enable 12288
#

# --- INTERFACES DE 100G

# Portas 100g de 1 a 6
interface range 100GE 0/0/1 to 100GE 0/0/6
    undo shutdown
    jumboframe enable 12288
#

# Porta especifica apenas
interface 100GE 0/0/1
    undo shutdown
    jumboframe enable 12288
#

Outras configurações em interfaces QSFP

Terminal
# Ativar uso de portas a 100g
# - Obs: Precisa dar reboot para efetivar
# - Obs: Pode precisar de licenca para dar suporte a usar em 100G

# Ativar:
assign port-speed 100GE
# ou
assign port-type 100ge all

# Desativar:
undo assign port-speed 100GE

# Ativar FEC-ETH, exemplo:
interface 100GE 0/3/0
    fec-eth standard
#

3.2 – Interfaces agregadas Bonding e LACP

Existem duas formas de distribuir (não balancear, não existe balanceamento) tráfego em várias portas agregadas logicamente (não fisicamente, de novo NÃO EXISTE BALANCEAMENTO):

  • LACP: Utiliza protocolo ativo de formação de adjacência L2, o IEEE 802.3 ad, cada ponta precisa ativamente trocar detalhes de negociação, cada ponta tem um MAC VIRTUAL que identifica a interface virtual para impedir troca de cabos entre agregações diferentes;
  • BONDING: Apenas distribui os pacotes à reviria, nenhuma das pontas precisa negociar, apenas ter cabo UP.

Exemplos de agregações comentadas:

Terminal
# Limite:
# - Normalmente suporta ate 128 interfaces agregadas (0 a 127)

# Prioridade desse equipamento nas agregacoes
# Obs: somente o switch topo de rack ou core devem
#      ter prioridade 1 (maxima possivel)
lacp priority 1

# Criar interface virtual agregadora

# - LACP IEEE 802.3ad
#   Obs: 'mode lacp' em switchs,
#        'mode lacp-static' em roteadores.
interface Eth-Trunk1
    undo shutdown
    mode lacp
    mode lacp-static
#

# - Bonding (nao pode ter o 'mode lacp')
interface Eth-Trunk1
    undo shutdown
    undo mode
#


# Modo de balanceamento - Cabecalhos simples

# - L2 (MAC de destino)
interface Eth-Trunk1
    load-balance dst-mac
#

# - L2 (MAC de origem)
interface Eth-Trunk1
    load-balance src-mac
#

# - L2 (MAC de origem e MAC de destino)
interface Eth-Trunk1
    load-balance src-dst-mac
#


# - L3 (Apenas IP de destino)
interface Eth-Trunk1
    load-balance dst-ip
#

# - L3 (Apenas IP de origem)
interface Eth-Trunk1
    load-balance src-ip
#

# - L3 (IP de origem e IP de destino)
interface Eth-Trunk1
    load-balance src-dst-ip
#


# Modo de balanceamento - Analise avancada
# Obs.: Na maioria dos switchs so e' permitido 1 modo
#       de analise avancado globalmente ativo
#       ou seja, vc usa o mesmo em todas as agregacoes
#       onde os modos simples nao sao eficientes


# Criar profile (template) de balanceamento avancado

# - Exemplo 0
load-balance-profile LACPADV
   mpls field top-label 2nd-label sip dip
#

# - Exemplo 1
load-balance-profile LACPADV
    ipv4 field sip dip l4-sport l4-dport     
#

# - Exemplo 2
load-balance-profile LACPADV
    l2 field smac dmac l2-protocol sport
    ipv6 field sip dip protocol
    ipv4 field sip dip l4-sport l4-dport protocol sport
    mpls field top-label sip sport
#

# - Exemplo 3
load-balance-profile LACPADV
    l2 field smac dmac l2-protocol sport
    ipv6 field sip dip protocol
    ipv4 field sip dip l4-sport l4-dport protocol sport
    mpls field top-label 2nd-label 3rd-label sip dip sport
#

# - Exemplo 4
load-balance-profile LACPADV
    l2 field smac dmac l2-protocol sport
    ipv6 field sip dip protocol
    ipv4 field sip dip l4-sport l4-dport protocol sport
    mpls field top-label 2nd-label 3rd-label 4th-label sip dip sport
#

# - Exemplo 5
load-balance-profile LACPADV
    l2 field smac dmac l2-protocol sport
    ipv6 field sip dip protocol
    ipv4 field sip dip l4-sport l4-dport protocol sport
    mpls field top-label 2nd-label sip dip sport
#

# - Exemplo 6
load-balance-profile LACPADV
    ipv4 field sip dip l4-sport l4-dport protocol
    mpls field top-label 2nd-label 3rd-label sip dip sport
#

# - Exemplo 7
load-balance-profile LACPADV
    l2 field smac dmac l2-protocol sport
    ipv6 field sip dip protocol
    ipv4 field sip dip l4-sport l4-dport protocol sport
    mpls field top-label sip sport
    mpls field top-label sip sport 2nd-label dip
#

# - Exemplo 8
load-balance-profile avancado
   ipv4 field sip dip l4-sport l4-dport protocol
   mpls field top-label 2nd-label 3rd-label sip dip sport
#

# - Exemplo 9
load-balance-profile OXMasterBlaster
   ipv4 field sip dip l4-sport l4-dport protocol
   mpls field top-label 2nd-label 3rd-label sip dip vlan sport
#

# - Exemplo 10
load-balance-profile LACPADV
   ipv6 field sip dip l4-sport l4-dport sport
   ipv4 field sip dip l4-sport l4-dport sport
   mpls field sip dip sport
#

# - Exemplo 11 (alguns firmware nao gostam do 3rd-label)
load-balance-profile LACPADV
   ipv6 field l4-sport l4-dport
   ipv4 field l4-sport l4-dport
   mpls field top-label 2nd-label 3rd-label sip dip l4-sport l4-dport
#

# - Exemplo 12
load-balance-profile LACPADV
   l2 field smac dmac l2-protocol sport
   ipv6 field sip dip protocol
   ipv4 field sip dip l4-sport l4-dport protocol sport
   mpls field top-label sip sport
#

# - Exemplo 13 (recomendavel)
load-balance-profile LACPADV
   l2 field smac dmac l2-protocol sport
   ipv6 field sip dip protocol
   ipv4 field sip dip l4-sport l4-dport protocol sport
   mpls field top-label 2nd-label sip dip sport
#

# Utilizando profile na interface virtual agregadora
interface Eth-Trunk1
    load-balance enhanced profile LACPADV
#


# COMMIT - Necessario em roteadores
commit
# SALVAR
run save
y

Personalizando ajustes de LACP:

Terminal
# Configurar LACP com parametros personalizados 
interface Eth-Trunk1
    mode lacp
    lacp timeout fast
    lacp preempt enable
    lacp preempt delay 10
#

Estatísticas refinadas no LACP:

Terminal
interface Eth-Trunk2
    undo portswitch
    mode lacp
    jumboframe enable 12288

    ipv4 statistic enable both
    ipv6 statistic enable both
#

Configuração de negociação (cabo, sfp, sfp+, qsfp)

Terminal
interface XGigabitEthernet0/0/7
    port media type copper
        undo negotiation auto
#

4 – STP

O STP (Spanning-Tree) permite que a rede de camada 2 forme aneis e sub-aneis mas sem gerar loops por meio da desativação (blocking) de portas propositalmente.

Terminal
# Ativar STP
stp

# Desativar STP
undo stp

# Caso o STP seja mantido ativo (aneis de acesso)
# voce pode desativar o STP na interface de backbone
interface XGigabitEthernet0/0/38
    stp disable
#

# Em interfaces com STP em anel de acesso, parametrize o STP
# - Modo STP protegido:
interface XGigabitEthernet0/0/39
    stp loop-protection
    stp bpdu-filter enable
#

5 – VLANs

Agora vamos aos exemplos de redes virtuais por tag de quadros ethernet com 802.1q (VLAN) e 802.1ad (Q-in-Q).

5.1 – VLANs simples

As redes virtuais simples IEEE 802.1q ou somente “VLANS”. Quando algo precisa ser transportado o ether-type do quadro é alterado para “0x8100” e o tipo interno é movido 4 bytes a frente (VLAN tem overhead de 4 bytes).

Regras gerais do mundo das vlans:

  • Criar: Criar a VLAN cria o “cordinha do varal”, o número da vlan determina a cor da linha (metodologia antiga chamada “lan color” ou “vlan color“);
  • Passar: Permitir e definir a forma na porta cria o “pregador com roupa”, permite a passagem dos dados entrando e saindo na porta;
  • Administrar: A vlan 1 sempre existe e sempre passa em todas as portas furtivamente
    • Toda porta onde a PVID (vlan padrão ou nativa) nao é definida explicitamente estará como acesso da vlan 1 (quadros não marcados são jogados no varal da vlan 1;
    • Toda porta trunk ou hibrid com PVID alterada para uma vlan específica permitirá a passagem da vlan 1 tagged (os quadros do varal 1 são marcados com tag 1 e passam na porta);

Por conta da furtividade da VLAN 1 é recomendável desativar STP/RSTP/MSTP nos equipamentos que atual em backbones roteados/MPLS/Segment Routing.

Colocar todas as portas em trunk e proibir a vlan 1 de passar em todas elas (faça somente se for projeto consciente):

Terminal
# Portas 10g de 1 a 48
interface range xg 0/0/1 to xg 0/0/48
    port link-type trunk
    undo port trunk allow-pass vlan 1
#

# Portas de 100G 1 a 6
int 100GE 0/0/1 to 100GE 0/0/6
    port link-type trunk
    undo port trunk allow-pass vlan 1
#

# Porta especifica apenas
interface xg 0/0/1
    port link-type trunk
    undo port trunk allow-pass vlan 1
#

Criando e passando VLANs:

Terminal
# Criar a VLAN (registrar ID)
vlan 20

# Criar VLAN em lote (numero inicial, 'to', numero final)
vlan batch 10 to 19

# Criar VLAN nomeada
vlan 30
    name Servidores-DNS
#

# Permitir vlan na porta (giga, xgiga, 40ge, 100ge, eth-trunk)

# - Porta de acesso
#   * Aceita somente quadros sem TAG de vlan
#   * Quadros são entregues no varal da vlan definida no pvid
interface XGiga 0/0/1
    description Servidor-DNS-01
    port link-type access
    port default vlan 20
#

# Porta trunk, no exemplo abaixo:
#    * Aceita os quadros marcados com tag de vlan das vlans autorizadas
#    * Quadros sem tag de vlan caem na pvid (padrao vlan 1)
#    * pvid nao explicita, logo pvid na vlan 1
#    * vlan 1 bloqueada explicitamente, pacotes nao marcados sao descartados
#    * permitir passagem das vlans de 10 a 20, e vlan 30
interface XGiga 0/0/2
    description Roteador-de-Borda
    port link-type trunk
    undo port trunk allow-pass vlan 1
    port trunk allow-pass vlan 10 to 20 30
#

# Porta trunk com pvid alterada, no exemplo abaixo:
#    * Aceita os quadros marcados com tag de vlan das vlans autorizadas
#    * Quadros sem tag de vlan caem na pvid vlan 10
#    * vlan 1 tenta passar em modo tagged, config bloqueia vlan 1 explicitamente
#    * quadros do varal da vlan 10 sao enviados sem tag
#    * quadros recebidos sem tag sao colocados no varal da vlan 10
#    * permitir passagem das vlans de 10 a 20, e vlan 30
interface XGiga 0/0/2
    description Roteador-de-Borda
    port link-type trunk
    undo port trunk allow-pass vlan 1
    port trunk pvid vlan 10
    port trunk allow-pass vlan 10 to 20 30
#

# Exemplo com problemas: vlan 10 nao funciona na interface
interface XGiga 0/0/2
    description Roteador-de-Borda
    port link-type trunk
    undo port trunk allow-pass vlan 1
    port trunk pvid vlan 10
    port trunk allow-pass vlan 11 to 20 30
# |
#  -> Motivo: colocou a vlan 10 como PVID,
#     mas nao autorizou em allow-pass (allow-pass somente de 11 a 20 e 30)

5.2 – VLANs de transporte metro-ethernet

As vlans 802.1ad são usadas para transportar vlans dentro de vlan:

  • VLAN interna ou VLAN do Cliente (CUSTOMER VLAN): VLAN que pertence ao serviço que está sendo transportado, essas vlans não interagem com as vlans do switch, logo não precisam ser criadas;
  • VLAN externa ou VLAN de Serviço (SERVICE VLAN): VLAN do switch que faz o transporte dos quadros do cliente, precisa ser cadastrada no switch com tipo especial para utilizar o ether-type “0x88A8” (padrão).

Exemplo:

Terminal
# VLANs Q-in-Q (802.1ad) - service tag - vlan de servico
#  * No exemplo abaixo todas as vlans configuradas na OLT
#    chegarão no BNG sem que precisem ser cadastradas nesse switch
#  * Com as duas portas em acesso os quadros passam inalterados
#  * Switch continua registrandos todos os enderecos MAC por porta (TCAM)

# Criar VLAN de servico
vlan 2
    name OLT-TO-BNG
    protocol-transparent
#

# Configurar interface em modo tunel de VLANs
interface xg 0/0/10
    description Huawei-BNG
    port link-type dot1q-tunnel
    port default vlan 2
#
interface xg 0/0/11
    description Nokia-OLT
    port link-type dot1q-tunnel
    port default vlan 2
#

Exemplo de transporte exótico com alteração do ether-type (usar 0x900):

Terminal
# VLANs de servico exoticos

# Criar VLAN de servico
vlan 41
    name TESTE-double-1q-A
    protocol-transparent
#
vlan 42
    name TESTE-double-1q-B
    protocol-transparent
#

# Duas interfaces tunelando vlan, tipo 0x9100
interface range xg 0/0/24 to  0/0/25
	  qinq protocol 9100
    port link-type dot1q-tunnel
    port default vlan 41
#

# Duas interfaces tunelando vlan, tipo 0x9200
interface range xg 0/0/26 to  0/0/27
	  qinq protocol 9100
    port link-type dot1q-tunnel
    port default vlan 42
#

6 – Roteamento e Interfaces L3

Em switchs é necessário observar o bloqueio da VLAN 1 e desativar o STP para que ele não coloque nenhuma porta em “blocking” e cause um shutdown inexplicavel da uma interface vlan.

6.1 – Preparativos

São preparativos inegociáveis em boas redes:

  • Definir o prefixo privado para os enlaces e loopbacks, exemplo:
    • Backbone em IPv4: 10.254.0.0/16 (65.535 IPs);
      • Entre enlaces: 10.254.x.x/30
      • Último /24 para Loopbacks: 10.254.255.X
    • Backbone em IPv6: 2001:db8:FFFF::/48
      • Entre enlaces: 2001:db8:EEEE:vlanid_aqui::/64
      • Loopbacks: 2001:db8:FFFF:FFFF::X
  • Definir o endereço único de router-id (32 bits, IPv4 da Loopback 0);
  • Opcionalmente, definir IPs públicos para Loopback 1 (proteger por firewall/policy/acl) posteriormente;
  • Desativar STP, opcional, extremamente recomendado;
  • Ativar BFD, opcional, extremamente recomendado, a presença dele ajuda a acelerar as adjacências e convergências;

Configuração de boot do roteamento do primeiro roteador:

Terminal
# Desativar chatice
lnp disable
y
undo pnp enable
y

# Desativar STP
undo stp
y

# Ativar IPv6
ipv6
#

# Ativar BFD
bfd
#

# Ativar BFD em pseudo-wire
bfd for pw enable

# Ativar multicast
multicast routing-enable
igmp
#

# Garantir a existencia da interface null 0
interface null 0
    undo shutdown
#

# Garantir a existencia da interface loopback 0
interface loopback 0
    undo shutdown
#

# Garantir a existencia da interface loopback 1
interface loopback 1
    undo shutdown
#

# BGP com modo ASN em numero inteiro (1 a 4 bilhoes)
as-notation plain
y

6.2 – Iniciando protocolos de roteamento

Agora vamos subir os robozinhos que fazem o trabalho automático de aprender e convergir rotas:

Terminal
# Determinar o router-id padrao
router-id 10.254.255.1
#


# Configurar a loopback 0
interface loopback 0
    undo shutdown
    ip address 10.254.255.1 32
    ipv6 enable
    ipv6 address 2001:db8:FFFF:FFFF::1/128
#

# Configurar instancia MPLS
mpls lsr-id 10.254.255.1
mpls
    mpls te
    mpls rsvp-te
    mpls te cspf
#

# Ativar suporte a VSI e L2VC
mpls l2vpn
#

# Ativar protocolo LDP via rotas IGP
# - Em todos os equipamentos:
mpls ldp
# - Em roteadores:
mpls ldp
    ipv4-family
#

# Iniciar protocolo BGP e definir ASN
bgp 64777
    router-id 10.254.255.1
    undo default ipv4-unicast
    undo check-first-as
    ipv4-family unicast
        undo synchronization
        preference 20 220 1
    ipv6-family unicast
        undo synchronization
        preference 20 220 1
#

# Iniciar protocolo OSPFv2 (OSPF de IPv4)
ospf 1 router-id 10.254.255.1
    preference 110
    opaque-capability enable
    area 0.0.0.0
        mpls-te enable
#

# Iniciar protocolo OSPFv3 (OSPF de IPv6)
ospfv3 1
    router-id 10.254.255.1
    preference 110
    area 0.0.0.0
#

# Iniciar MIB de OSPFv2 no SNMP
ospf mib-binding 1
#

# OSPFv2 com recursos extendidos
ospf 1
    spf-schedule-interval millisecond 10
    lsa-originate-interval 0
    lsa-arrival-interval 
    enable log config
    enable log state
    enable log error0
    graceful-restart
    enable traffic-adjustment
#

# OSPFv2 com adjacencia acelerada por BFD 
ospf 1
    bfd all-interfaces enable
    bfd all-interfaces min-tx-interval 100 min-rx-interval 100 detect-multiplier 5
#

# OSPFv3 com adjacencia acelerada por BFD
ospfv3 1
    bfd all-interfaces enable
    bfd all-interfaces min-transmit-interval 100 min-receive-interval 100 detect-multiplier 4
#

# Vincular Loopback 0 ao:
# * OSPFv2 para propagacao natural do IP de Loopback no IGP e no LDP
# * OSPFv3 para propagacao natural do IP de Loopback no IGP
interface LoopBack 0
    ospf   enable 1 area 0.0.0.0
    ospfv3        1 area 0.0.0.0
#

# Vincular Loopback 1 (caso va utilizar IPs publicos)
interface LoopBack 1
    ospf   enable 1 area 0.0.0.0
    ospfv3        1 area 0.0.0.0
#

6.3 – Enlaces do backbone

Com o boot dos protocolos de roteamento, vamos à criação das interfaces entre os roteadores:

Terminal
# Enlace entre dois switchs, ambos ligados pela XGiga 0/0/39 de cada switch

# ------------------- Switch PE 01

# Criar VLAN
vlan batch 101

# Colocar VLAN na interface L2 como tagged
interface XGiga 0/0/39
    port link-type trunk
    port trunk allow-pass vlan 101
    undo port trunk allow-pass vlan 1
    undo shutdown
#

# Criar interface L3
interface vlanif 101
    undo shutdown
    description Enlace-101-PE01-to-PE02

    ip address 10.254.1.1 255.255.255.252

    ipv6 enable
    ipv6 address auto link-local
    ipv6 address 2001:db8:EEEE:F101::1/64

    ospf cost 880
    ospf network-type p2p
    ospf enable 1 area 0.0.0.0
    ospf bfd enable
    ospf bfd min-tx-interval 500 min-rx-interval 500

    ospfv3 1 area 0.0.0.0
    ospfv3 cost 880
    ospfv3 network-type p2p
    ospfv3 bfd enable
    ospfv3 bfd min-transmit-interval 500 min-receive-interval 500

    mpls
    mpls te
    mpls rsvp-te
    mpls rsvp-te hello
    mpls ldp

    statistic enable
    statistic enable both
#

# ------------------- Switch PE 02

# Criar VLAN
vlan batch 101

# Colocar VLAN na interface L2 como tagged
interface XGiga 0/0/39
    port link-type trunk
    port trunk allow-pass vlan 101
    undo port trunk allow-pass vlan 1
    undo shutdown
#

# Criar interface L3
interface vlanif 101
    undo shutdown
    description Enlace-101-PE02-to-PE01

    ip address 10.254.1.2 255.255.255.252

    ipv6 enable
    ipv6 address auto link-local
    ipv6 address 2001:db8:EEEE:F101::2/64

    ospf cost 880
    ospf network-type p2p
    ospf enable 1 area 0.0.0.0
    ospf bfd enable
    ospf bfd min-tx-interval 500 min-rx-interval 500

    ospfv3 1 area 0.0.0.0
    ospfv3 cost 880
    ospfv3 network-type p2p
    ospfv3 bfd enable
    ospfv3 bfd min-transmit-interval 500 min-receive-interval 500

    mpls
    mpls te
    mpls rsvp-te
    mpls rsvp-te hello
    mpls ldp

    statistic enable
    statistic enable both
#

6.4 – Interfaces L3 dedicadas

Alem da Interface VLAN, existem dois casos onde podemos usar uma interface L3 sem usar um “varal”.

A interface é retirada da participação do switch interno e fica 100% ligado ao processamento de pacotes IP/MPLS, requer “undo portswitch“. Isso pode ser feito em interfaces físicas (XG, 40Ge, 100Ge) e em interfaces agregadas (Eth-Trunk).

Aditivo: Sincronia imediata entre OSPF e LDP (ospf ldp-sync).

Terminal
# Enlace entre dois switchs, ambos ligados pela XGiga 0/0/42 de cada switch

# ------------------- Switch PE 03

# Preparar interface
# 1 - Limpeza total das configs anteriores
interface XGiga 0/0/42
    clear config this
#
# 2 - Colocar no modo roteado-dedicado
interface XGiga 0/0/42
    undo shutdown
    undo portswitch
#
# 3 - Colocar configuracao direto na interface L2
interface XGiga 0/0/42
    description Enlace-103-PE03-to-PE04

    ip address 10.254.1.5 255.255.255.252

    ipv6 enable
    ipv6 address auto link-local
    ipv6 address 2001:db8:EEEE:F103::1/64

    ospf cost 880
    ospf network-type p2p
    ospf enable 1 area 0.0.0.0
    ospf bfd enable
    ospf bfd min-tx-interval 500 min-rx-interval 500
    ospf ldp-sync

    ospfv3 1 area 0.0.0.0
    ospfv3 cost 880
    ospfv3 network-type p2p
    ospfv3 bfd enable
    ospfv3 bfd min-transmit-interval 500 min-receive-interval 500

    mpls
    mpls te
    mpls rsvp-te
    mpls rsvp-te hello
    mpls ldp

    statistic enable
    statistic enable both
#

# ------------------- Switch PE 04

# Preparar interface
# 1 - Limpeza total das configs anteriores
interface XGiga 0/0/42
    clear config this
#
# 2 - Colocar no modo roteado-dedicado
interface XGiga 0/0/42
    undo shutdown
    undo portswitch
#
# 3 - Colocar configuracao direto na interface L2
interface XGiga 0/0/42
    description Enlace-103-PE04-to-PE03

    ip address 10.254.1.6 255.255.255.252

    ipv6 enable
    ipv6 address auto link-local
    ipv6 address 2001:db8:EEEE:F103::2/64

    ospf cost 880
    ospf network-type p2p
    ospf enable 1 area 0.0.0.0
    ospf bfd enable
    ospf bfd min-tx-interval 500 min-rx-interval 500
    ospf ldp-sync

    ospfv3 1 area 0.0.0.0
    ospfv3 cost 880
    ospfv3 network-type p2p
    ospfv3 bfd enable
    ospfv3 bfd min-transmit-interval 500 min-receive-interval 500

    mpls
    mpls te
    mpls rsvp-te
    mpls rsvp-te hello
    mpls ldp

    statistic enable
    statistic enable both
#

6.5 – Interfaces L3 em sub-interface

Nesse modo, um pouco menos agressivo, a VLAN só existe confinada como ponto de terminação eletrônica na interface e não existe como “varal” no switch.

Esse tipo de config pode requerer a alteração do VCMP, exemplo:

Terminal
# Para usar sub-interfaces, s6730, execute:
vcmp role server
y

Exemplo para enlace no backbone:

Terminal
# Agregacao entre dois PEs (PE07 e PE09)
interface Eth-Trunk0.301
    undo shutdown
    vlan-type dot1q 301

    description Enlace-109-PE07-to-PE09

    ip address 10.254.1.13 255.255.255.252

    ipv6 enable
    ipv6 address auto link-local
    ipv6 address 2001:db8:EEEE:F109::1/64

    ospf cost 440
    ospf network-type p2p
    ospf enable 1 area 0.0.0.0
    ospf bfd enable

    ospfv3 1 area 0.0.0.0
    ospfv3 cost 440
    ospfv3 network-type p2p
    ospfv3 bfd enable

    mpls
    mpls te
    mpls rsvp-te
    mpls rsvp-te hello
    mpls ldp

    statistic enable
    statistic enable both
#

6.6 – Interfaces L3 para NAP/PTT/IX

Em pontos de troca de tráfego é preciso dar mais tolerância à ARP e reter por mais tempo as entradas no cache para evitar inundações de broadcast (IPv4 ARP ou IPv6 ND).

Exemplo de interface em PTT-SP com MAC fixo propositalmente:

Terminal
# Interface para conectar a borda ao IX-SP

# Gesto de ARP no PTT, use com cuidado
# - arp-miss anti-attack rate-limit enable
# - arp-miss anti-attack rate-limit packet 100 interval 100
# - arp-miss speed-limit source-ip maximum 10

# Tolerancia a aprendizado de MACs
mac-address aging-time 1600

# Config especial
assign resource-mode enhanced-arp slot 0
#

# Criar interface L3 como sub-interface na xg 0/0/14
# - IX-SP VLAN de IPv4
interface XGiga 0/0/14.3931
    undo shutdown

    vlan-type dot1q 3931
    description IX-SPO-IPV4
    
    mac-address c4b8-beba-cafe

    ip address 187.16.223.159 255.255.240.0

    arp expire-time 14400
    arp rate-limit 0

    statistic enable
#

# - IX-SP VLAN de IPv6
interface XGiga 0/0/14.3932
    undo shutdown

    vlan-type dot1q 3932
    description IX-SPO-IPV6

    mac-address c4b8-beba-cafe

    ipv6 enable
    ipv6 address 2001:12F8::223:159/64
    
    statistic enable
#

6.7 – Interfaces L3 com MTU personalizado

Esse procedimento deve ser precedido da homologação de jumbo-frame (todos configurados no máximo, o menor valor suportado é o valor oficial).

O MTU deve ser pelo menos 32 bytes menores que o maior jumbo-frame da rede.

Terminal
# Personalizar MTU
# - MTU: usado pelo IPv4, IPv6, OSPF e IS-IS
# - MPLS MTU: usado pelo LDP, RSVP-TE, L2VC e VSI
interface Vlanif 171
    description PE-31-to-PE-49

    mtu 9000

    mpls mtu 9200
#

7 – Circuitos MPLS via IGP

Os circuitos MPLS sobre IGP são os enlaces virtuais criados para ligar 2 pontos (VPWS => L2VC) ou múltiplos pontos (VPLS => VSI) negociando labels de serviço (label interno) diretamente entre o roteador PE de uma ponta com o roteador PE da outra via negociação direta LDP, os labels do caminho (label externo alterado salto a salto) é negociado pelo LDP entre as adjacências de cada enlace com o auxilio do IGP (OSPF no caso).

Requisitos:

  • LDP rodando globalmente (config global: mpls e mpls ldp);
  • LDP ativo nas interfaces IGP (OSPF, interface xxx, mpls + mpls ldp);
  • LDP remoto ponto-a-ponto (remoto) entre os roteadores envolvidos no circuito (PEs);
  • Interface que irá coletar o tráfego em cada ponta.

7.1 – Peers LDP remoto

Essa configuração deve ser feita, preferencialmente, full-mesh, de todos os roteadores para todos os roteadores no backbone MPLS.

Se você configurar um roteador para se conectar nele mesmo haverá erro e a linha “remote-ip” não será gravada. Ignore esse caso.

Terminal
# Peer LDP entre as pontas
# - Loopback do PE-01
mpls ldp remote-peer PE-01
    remote-ip 10.254.255.1
#

# - Loopback do PE-02
mpls ldp remote-peer PE-09
    remote-ip 10.254.255.9
#

# - Loopback do PE-31 (parametrizado)
mpls ldp remote-peer PE-31
    remote-ip 10.254.255.31
    mpls ldp timer hello-hold 6
    mpls ldp timer hello-send 2
#

# Templates de configuracao
# - Com control-word (cabecalho adicional)
pw-template pe-01-cw
    peer-address 172.26.180.4
    control-word
#

# - Sem control-word
pw-template pe-01
    peer-address 172.26.180.4
#

7.2 – VPWS – Túnel ethernet ponto a ponto

Existem dois tipos de túneis:

  • L2VC Pseudowire: captura uma porta inteira (ethernet), permite o transporte de quadros de controle (STP, LACP) para o cliente transportado, somente a subcamada MAC de negociação de velocidade é capturada (obviamente!);
  • L2VC Sub-interface: captura somente quadros de dados (IPv4, IPv6, ARP, OSPF, BFD) mas não retransmite quadros de controle pois eles são capturados pela gestão da porta física;

LDP Remote Peer

Terminal
# Peer LDP entre as pontas
# - Loopback do PE-01
mpls ldp remote-peer PE-01
    remote-ip 10.254.255.1
#

# - Loopback do PE-02
mpls ldp remote-peer PE-02
    remote-ip 10.254.255.2
#

# - Loopback do PE-03
mpls ldp remote-peer PE-03
    remote-ip 10.254.255.3
#

# - Loopback do PE-04
mpls ldp remote-peer PE-04
    remote-ip 10.254.255.4
#

# - Loopback do PE-05 (parametrizado)
mpls ldp remote-peer PE-05
    remote-ip 10.254.255.5
    mpls ldp timer hello-hold 6
    mpls ldp timer hello-send 2
#

Template de configuração (opcional)

Terminal
# Templates de configuracao
# - Com control-word (cabecalho adicional)
pw-template pe-01-cw
    peer-address 10.254.255.1
    control-word
#
pw-template pe-02-cw
    peer-address 10.254.255.2
    control-word
#
pw-template pe-03-cw
    peer-address 10.254.255.3
    control-word
#
pw-template pe-04-cw
    peer-address 10.254.255.3
    control-word
#
pw-template pe-05-cw
    peer-address 10.254.255.5
    control-word
#

# - Sem control-word
pw-template pe-01
    peer-address 10.254.255.1
#
pw-template pe-02
    peer-address 10.254.255.2
#
pw-template pe-03
    peer-address 10.254.255.3
#
pw-template pe-04
    peer-address 10.254.255.4
#
pw-template pe-05
    peer-address 10.254.255.5
#

Pseudowire completo e transparente

Esse é o melhor dos transportes, 100% compatível com qualquer gambiarra que o cliente desejar fazer entre as pontas dele.

Terminal
# ---------------------------------- no PE-01

# Exemplo 1 (lado A)
# - Circuito 100912 cadastrado no ERP/Financeiro/Netbox/IPAM
# - Porta inteira
# - Nao usa config de template
interface XGigabitEthernet0/0/21
    undo shutdown
    undo portswitch
    description CC-100912-pe01-to-pe03

    mpls l2vc 10.254.255.3 100912
    mpls l2vpn flow-label both

    jumboframe enable 12288

    statistic enable
    statistic enable both
#

# Exemplo 2 (lado A)
# - Circuito 100777 cadastrado no ERP/Financeiro/Netbox/IPAM
# - Porta inteira
# - Usa config de template com control-word
# - Sem aditivo de flow-label
interface XGigabitEthernet0/0/22
    undo shutdown
    undo portswitch
    description CC-100777-pe01-to-pe03

    mpls l2vc pw-template pe-03-cw 100777

    jumboframe enable 12288

    statistic enable
    statistic enable both
#



# ---------------------------------- no PE-03


# Exemplo 1 (lado B)
# - Circuito 100912 cadastrado no ERP/Financeiro/Netbox/IPAM
# - Porta inteira
# - Nao usa config de template
interface XGigabitEthernet0/0/21
    undo shutdown
    undo portswitch
    description CC-100912-pe03-to-pe01

    mpls l2vc 10.254.255.1 100912
    mpls l2vpn flow-label both

    jumboframe enable 12288

    statistic enable
    statistic enable both
#

# Exemplo 2 (lado B)
# - Circuito 100777 cadastrado no ERP/Financeiro/Netbox/IPAM
# - Porta inteira
# - Usa config de template com control-word
# - Sem aditivo de flow-label
interface XGigabitEthernet0/0/22
    undo shutdown
    undo portswitch
    description CC-100777-pe03-to-pe01

    mpls l2vc pw-template pe-01-cw 100777

    jumboframe enable 12288

    statistic enable
    statistic enable both
#

Transporte L2 ponto-a-ponto de interface VLAN e sub-interface

Transportando porta inteira do PE-02 ao PE-04

Terminal
# ---------------------------------- no PE-02

# Exemplo 3 (lado A)
# - Circuito 101444
# - Vlan especifica
# - Nao usa config de template

vlan batch 1444

interface XGigabitEthernet0/0/41
    undo shutdown
    portswitch
    port link-type trunk
    undo port trunk allow-pass vlan 1
    port trunk allow-pass vlan 1444
#

interface Vlanif 1444
    undo shutdown
    description CC-101444-pe02-to-pe04

    mpls l2vc 10.254.255.4 1444
    mpls l2vpn flow-label both

    mtu 9034

    statistic enable both
#


# Exemplo 4 (lado A)
# - Circuito 101555
# - Vlan especifica em sub-interface
# - Usa config de template com control-word
# - Sem aditivo de flow-label
interface XGigabitEthernet0/0/42
    undo shutdown
    jumboframe enable 12288
#
interface XGigabitEthernet0/0/42.1555
    vlan-type dot1q 1555

    undo shutdown
    description CC-101555-pe02-to-pe04

    mpls l2vc pw-template pe-03-cw 101555

    mtu 9034

    statistic enable
    statistic enable both
#



# ---------------------------------- no PE-04



# Exemplo 3 (lado B)
# - Circuito 101444
# - Vlan especifica
# - Nao usa config de template

vlan batch 1444

interface XGigabitEthernet0/0/41
    undo shutdown
    portswitch
    port link-type trunk
    undo port trunk allow-pass vlan 1
    port trunk allow-pass vlan 1444
#

interface Vlanif 1444
    undo shutdown
    description CC-101444-pe04-to-pe02

    mpls l2vc 10.254.255.2 1444
    mpls l2vpn flow-label both

    mtu 9034

    statistic enable both
#


# Exemplo 4 (lado B)
# - Circuito 101555
# - Vlan especifica em sub-interface
# - Usa config de template com control-word
# - Sem aditivo de flow-label
interface XGigabitEthernet0/0/42
    undo shutdown
    jumboframe enable 12288
#
interface XGigabitEthernet0/0/42.1555
    vlan-type dot1q 1555

    undo shutdown
    description CC-101555-pe04-to-pe02

    mpls l2vc pw-template pe-02-cw 101555

    mtu 9034

    statistic enable
    statistic enable both
#

x

x

x

x

x

x

x

x

x

Falta:

  • negociacao de portas e analise de transceivers
  • acl
  • policy
  • traffi-shapping
  • tuneis GRE
  • vsi/vpls
  • tuneis TE
  • rotas estaticas
  • tags de rotas locais
  • prefix-list
  • community
  • route-policy
  • bgp peers
  • bgp origin
  • vrf e vpnv4
  • importacao de rotas static/direct/unr/bgp/ospf
  • atualizar firmeware e patch

x

x

Terminal




x

x

x

x

x

x

2.1 – xx

x

x

x

2.2 – x

x

2.4 – x

x

xxxxx: xxxx

2.5 – xxx

x

xxxx: xxxx

xxxx: xxxx

x

3 – ACLs

x

x

3.1 – xxx

xxx

3.2 – xxx

xxx

x

x

4 – Políticas de filtragem

x

x

x

4.1 – xxx

x

x

x

x

x

X – Políticas de roteamento

x

X – BGP

x

x

x

x

x

X – VRF

x

x

x

x

x

x

x

x

11 – Virtual Ethernet

x

x

x

x

x

x

12 – Servidor PPPOE e IPOE

x

x

x

x

13 – Servidor PPPOE e IPOE

x

x

x

Terminamos por hoje!

Patrick Brandão, patrickbrandao@gmail.com

A gratidão é um fruto de grande cultura;
não se encontra entre gente vulgar.
Samuel Johnson