Cisco

VRF-lite Cisco: separar gerência e clientes no mesmo roteador

Camadas paralelas em verde-água e grafite representando tabelas de roteamento separadas no Cisco

O VRF-lite Cisco resolve um problema comum em roteador de borda e de POP: você quer a rede de gerência separada do tráfego de cliente, ou dois clientes com a mesma faixa de IP, e não tem MPLS para isso. Com VRF-lite, o mesmo roteador passa a ter várias tabelas de roteamento independentes. Cada interface pertence a uma delas, e um pacote que entra numa VRF só enxerga as rotas daquela VRF.

Este guia monta o cenário no IOS e no IOS XE, como quem documenta e testa em laboratório: uma VRF de gerência fora de banda com rota padrão própria, duas VRFs de cliente com o mesmo endereço e OSPF dentro de uma delas. Explico o porquê de cada linha e as pegadinhas, como o IP que some da interface. Se o prompt do IOS ainda não é familiar, comece pelos comandos Cisco IOS básicos.

Resposta rápida: VRF-lite Cisco em cinco passos

  1. Crie a VRF com vrf definition NOME, defina um rd e ative address-family ipv4.
  2. Na interface, rode vrf forwarding NOME antes do IP. O comando apaga o endereço que já estava configurado.
  3. Rotas estáticas da VRF usam ip route vrf NOME.
  4. OSPF dentro da VRF usa router ospf ID vrf NOME, com capability vrf-lite.
  5. Teste sempre informando a VRF: ping vrf, traceroute vrf e show ip route vrf. Sem isso, o roteador procura na tabela global.

O que é VRF sem MPLS

VRF (Virtual Routing and Forwarding) é uma tabela de roteamento separada dentro do mesmo equipamento, com interfaces próprias. Num backbone MPLS, as VRFs ficam nos PEs e as rotas de cada cliente viajam entre eles por MP-BGP com rótulos, como no guia de L3VPN MPLS no Huawei. O VRF-lite Cisco é a mesma separação sem essa parte: as VRFs existem só dentro de um roteador, ou são estendidas para o vizinho por VLAN, uma por VRF.

A documentação da Cisco trata o assunto como Multi-VRF CE e deixa claro o limite: não há troca de rótulos nem LDP. Para separar gerência e clientes num roteador de POP, ou para atender dois clientes com faixas sobrepostas, isso basta. Se você quer revisar o papel dos rótulos, veja o que é MPLS.

ItemVRF-liteL3VPN com MPLS
Onde a VRF existeNum roteador (ou em vizinhos via VLAN)Em todos os PEs do backbone
Transporte entre roteadoresUma interface ou VLAN por VRFRótulos MPLS no mesmo enlace
Protocolo para levar as rotasEstática, OSPF ou BGP por VRFMP-BGP com route-target
RD e route-targetRD só local (opcional em muitas versões); RT não é usadoObrigatórios
EscalaPoucas VRFs e poucos roteadoresCentenas de VRFs e PEs
Um roteador Cisco com quatro tabelas de roteamento separadas por VRF-lite: global, gerência e dois clientes
Com VRF-lite, cada interface pertence a uma tabela. A gerência tem rota padrão própria, e os dois clientes podem usar o mesmo endereço.

Criar a VRF: vrf definition, rd e address-family

O IOS tem duas sintaxes. A antiga é ip vrf NOME, só para IPv4. A atual é vrf definition NOME, que trabalha com address-family e é a que a Cisco usa nos exemplos mais novos. Para um VRF-lite Cisco novo, use a atual; se o roteador já tem VRFs na sintaxe antiga, o comando vrf upgrade-cli faz a conversão, mas leia o aviso antes, porque ele apaga endereços IPv6 das interfaces envolvidas.

R1(config)# vrf definition GERENCIA
R1(config-vrf)# rd 65000:10
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# exit-address-family
R1(config-vrf)# exit
  • vrf definition GERENCIA: cria a VRF e entra no modo de configuração dela. O nome diferencia maiúsculas de minúsculas, então padronize.
  • rd 65000:10: o route distinguisher. No VRF-lite ele não sai do roteador, mas defina um por VRF assim mesmo: alguns recursos e versões pedem, e fica pronto se um dia virar L3VPN.
  • address-family ipv4 e exit-address-family: ativam IPv4 na VRF. Sem isso, a interface aceita o vrf forwarding, mas não o endereço IPv4.

O mesmo bloco se repete para cada VRF. No cenário são três: GERENCIA, CLIENTE-A e CLIENTE-B, cada uma com o seu RD:

R1(config)# vrf definition GERENCIA
R1(config-vrf)# rd 65000:10
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# exit-address-family
R1(config-vrf)# exit
R1(config)# vrf definition CLIENTE-A
R1(config-vrf)# rd 65000:101
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# exit-address-family
R1(config-vrf)# exit
R1(config)# vrf definition CLIENTE-B
R1(config-vrf)# rd 65000:102
R1(config-vrf)# address-family ipv4
R1(config-vrf-af)# exit-address-family
R1(config-vrf)# exit

vrf forwarding na interface: o IP some

Este é o erro que todo mundo comete uma vez. Pela referência de comandos da Cisco, quando a interface é associada a uma VRF, os endereços IPv4 e IPv6 que ela já tinha são removidos e precisam ser configurados de novo. Se você está fazendo isso por SSH, através daquela interface, a sessão cai na hora.

R1(config)# interface GigabitEthernet0/0/2
R1(config-if)# description GERENCIA-FORA-DE-BANDA
R1(config-if)# vrf forwarding GERENCIA
R1(config-if)# ip address 192.0.2.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit

A ordem importa: primeiro vrf forwarding, depois ip address. Numa interface que já está em produção, prepare o bloco inteiro, cole de uma vez e tenha acesso por outro caminho, como console ou outra interface. Em roteador remoto, um reload in agendado antes da mudança é a rede de segurança, a mesma ideia que aparece no guia de ACL no Cisco IOS.

O mesmo IP em duas VRFs

Como cada VRF tem a sua tabela, duas interfaces podem ter o mesmo endereço sem conflito. É o caso de dois clientes que usam a mesma faixa, ou de um laboratório que reaproveita o plano de endereçamento. Na tabela global, o IOS recusaria o segundo endereço por sobreposição. Em VRFs diferentes, aceita:

R1(config)# interface GigabitEthernet0/0/1
R1(config-if)# description CLIENTE-A
R1(config-if)# vrf forwarding CLIENTE-A
R1(config-if)# ip address 198.51.100.1 255.255.255.252
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface GigabitEthernet0/0/3
R1(config-if)# description CLIENTE-B
R1(config-if)# vrf forwarding CLIENTE-B
R1(config-if)# ip address 198.51.100.1 255.255.255.252
R1(config-if)# no shutdown
R1(config-if)# end

Rotas estáticas por VRF

A rota padrão da VRF de gerência aponta para o firewall da rede de gerência. Ela só vale dentro da VRF GERENCIA e não interfere na rota padrão da tabela global, que continua apontando para o uplink de internet. É isso que deixa a gerência funcionando mesmo quando a tabela global está com problema.

R1(config)# ip route vrf GERENCIA 0.0.0.0 0.0.0.0 192.0.2.254

O formato é o do ip route comum com vrf NOME logo depois. O next-hop 192.0.2.254 é procurado na tabela da própria VRF. Uma rota sem a palavra vrf vai para a tabela global e não ajuda em nada quem está na gerência.

OSPF dentro da VRF com capability vrf-lite

O CLIENTE-A tem um roteador próprio com a LAN 203.0.113.0/28 e prefere anunciar a rede por OSPF a pedir uma rota estática a cada mudança. Cada VRF ganha um processo OSPF próprio, associado a ela. A vizinhança e as rotas aprendidas ficam só na tabela do CLIENTE-A.

R1(config)# router ospf 20 vrf CLIENTE-A
R1(config-router)# router-id 198.51.100.1
R1(config-router)# capability vrf-lite
R1(config-router)# network 198.51.100.0 0.0.0.3 area 0
R1(config-router)# end
  • router ospf 20 vrf CLIENTE-A: processo 20, preso à VRF. O número só precisa ser único no roteador.
  • router-id: fixe à mão. Sem isso, o IOS escolhe o maior IP entre as interfaces da VRF, e o router-id muda se esse endereço mudar.
  • capability vrf-lite: quando o OSPF roda numa VRF, o IOS faz verificações pensadas para PE de MPLS, que evitam loop na redistribuição entre OSPF e BGP. Num VRF-lite Cisco não há PE, e essas verificações podem impedir rotas de entrar na tabela da VRF. O comando desliga essas checagens.
  • network ... area 0: ativa o OSPF no enlace com o cliente.

Esse OSPF é do cliente, não o do seu backbone. O IGP do backbone continua na tabela global, com as regras do guia de OSPF no provedor, e não deve conhecer nenhuma rota de cliente.

Verificar o VRF-lite Cisco: show, ping e traceroute

Quase todo comando de verificação tem uma versão com VRF. Os quatro abaixo mostram as VRFs criadas, as interfaces de cada uma, a tabela do CLIENTE-A e os vizinhos OSPF de todos os processos.

R1# show vrf
R1# show ip vrf interfaces
R1# show ip route vrf CLIENTE-A
R1# show ip ospf neighbor

No show ip vrf interfaces, o mesmo IP aparece duas vezes, em VRFs diferentes. Saída de exemplo:

Interface              IP-Address      VRF                Protocol
Gi0/0/2                192.0.2.1       GERENCIA           up
Gi0/0/1                198.51.100.1    CLIENTE-A          up
Gi0/0/3                198.51.100.1    CLIENTE-B          up

Na tabela da VRF, a LAN do cliente chega por OSPF (código O) pelo enlace com o roteador dele. Trecho de exemplo do show ip route vrf CLIENTE-A:

Routing Table: CLIENTE-A
Gateway of last resort is not set

      198.51.100.0/24 is variably subnetted, 2 subnets, 2 masks
C        198.51.100.0/30 is directly connected, GigabitEthernet0/0/1
L        198.51.100.1/32 is directly connected, GigabitEthernet0/0/1
      203.0.113.0/28 is subnetted, 1 subnets
O        203.0.113.0 [110/2] via 198.51.100.2, 2d04h, GigabitEthernet0/0/1

Ping e traceroute com VRF

R1# ping vrf GERENCIA 192.0.2.254
R1# traceroute vrf CLIENTE-A 203.0.113.1
R1# ping 192.0.2.254

Os dois primeiros testes funcionam porque informam a VRF. O terceiro falha de propósito: sem vrf, o roteador procura 192.0.2.254 na tabela global, onde essa rede não existe. Quando o técnico diz que o roteador não alcança a gerência, essa é a primeira coisa a conferir.

Caso prático: gerência fora de banda numa VRF

O uso mais comum de VRF-lite Cisco num provedor é tirar a gerência da tabela global. A porta de gerência vai para a VRF GERENCIA, com rota padrão própria, e o tráfego de clientes e trânsito nunca passa por ela. Se a tabela global for poluída por um vazamento de rota ou por um erro de BGP, o acesso ao roteador continua de pé.

O ponto de atenção são os serviços do próprio roteador. SSH de entrada, NTP, syslog, SNMP, TACACS e transferência de arquivos precisam saber em qual VRF está o servidor. Cada um tem a sua forma de receber a VRF, e a sintaxe muda entre versões do IOS e do IOS XE. Confira na referência de comandos da sua versão antes de mover a gerência, e teste cada serviço depois.

Se a VTY tem ACL de acesso, revise também como ela trata conexões que chegam por uma VRF. Uma ACL certa na tabela global pode bloquear o mesmo acesso quando ele passa a vir da VRF de gerência.

Ordem segura: configure a VRF e a rota padrão dela, mova a interface de gerência com acesso pelo console ou por outra porta, teste ping vrf e só depois ajuste os serviços um a um.

Erros comuns no VRF-lite Cisco

SintomaCausa provávelO que fazer
Interface ficou sem IPvrf forwarding aplicado depois do ip addressReconfigurar o endereço depois do vrf forwarding
Ping falha, mas a rota existeTeste sem a palavra vrfUsar ping vrf e traceroute vrf
Rota estática não aparece na VRFip route sem vrf, foi para a globalRecriar com ip route vrf
OSPF vizinho em Full, mas sem rotas na VRFLSAs com bit DN ignorados (checagem de PE)capability vrf-lite no processo
Interface não aceita IPv4VRF sem address-family ipv4Ativar address-family ipv4 na VRF
Syslog ou NTP pararam após mover a gerênciaServiço ainda usa a tabela globalConfigurar o serviço com a VRF de gerência

Perguntas frequentes

O VRF-lite Cisco precisa de MPLS?

Não. O VRF-lite é exatamente o uso de VRFs sem MPLS. As tabelas ficam no roteador e, se precisarem ir até o vizinho, viajam por interfaces ou VLANs separadas, uma por VRF.

O rd é obrigatório no VRF-lite Cisco?

No VRF-lite ele não é anunciado para ninguém, mas vale definir um por VRF. Algumas versões e recursos pedem o RD, e ele já fica pronto se a VRF um dia virar L3VPN.

Qual a diferença entre ip vrf e vrf definition?

O ip vrf é a sintaxe antiga, só IPv4. O vrf definition trabalha com address-family e aceita IPv4 e IPv6 na mesma VRF. Na interface, a primeira usa ip vrf forwarding e a segunda, vrf forwarding.

Por que o IP da interface sumiu depois do vrf forwarding?

Porque o IOS remove os endereços IPv4 e IPv6 quando a interface muda de tabela. É comportamento documentado. Configure o endereço de novo, sempre depois do vrf forwarding.

Dá para trocar rotas entre duas VRFs?

Dá, com vazamento de rotas entre VRFs, mas isso já foge do VRF-lite simples e pede planejamento. Para a gerência, o normal é não vazar nada e usar um firewall como ponto de passagem controlado.

Conclusão

Com VRF-lite Cisco, um roteador só passa a ter tabelas separadas para gerência e clientes, sem MPLS e sem equipamento extra. A configuração é curta: vrf definition com RD e address-family, vrf forwarding antes do IP, rotas e OSPF com a palavra vrf e testes sempre informando a tabela.

Comece pela VRF de gerência, que dá o maior ganho com o menor risco, e mova os serviços do roteador com calma. Quando o número de VRFs e de roteadores crescer a ponto de uma VLAN por VRF virar problema, é hora de olhar para MPLS e L3VPN, como no guia de L3VPN MPLS no Huawei.

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 *