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

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
- Crie a VRF com
vrf definition NOME, defina umrde ativeaddress-family ipv4. - Na interface, rode
vrf forwarding NOMEantes do IP. O comando apaga o endereço que já estava configurado. - Rotas estáticas da VRF usam
ip route vrf NOME. - OSPF dentro da VRF usa
router ospf ID vrf NOME, comcapability vrf-lite. - Teste sempre informando a VRF:
ping vrf,traceroute vrfeshow 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.
| Item | VRF-lite | L3VPN com MPLS |
|---|---|---|
| Onde a VRF existe | Num roteador (ou em vizinhos via VLAN) | Em todos os PEs do backbone |
| Transporte entre roteadores | Uma interface ou VLAN por VRF | Rótulos MPLS no mesmo enlace |
| Protocolo para levar as rotas | Estática, OSPF ou BGP por VRF | MP-BGP com route-target |
| RD e route-target | RD só local (opcional em muitas versões); RT não é usado | Obrigatórios |
| Escala | Poucas VRFs e poucos roteadores | Centenas de VRFs e PEs |

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 ipv4eexit-address-family: ativam IPv4 na VRF. Sem isso, a interface aceita ovrf 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/1Ping 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.
ping vrf e só depois ajuste os serviços um a um.Erros comuns no VRF-lite Cisco
| Sintoma | Causa provável | O que fazer |
|---|---|---|
| Interface ficou sem IP | vrf forwarding aplicado depois do ip address | Reconfigurar o endereço depois do vrf forwarding |
| Ping falha, mas a rota existe | Teste sem a palavra vrf | Usar ping vrf e traceroute vrf |
| Rota estática não aparece na VRF | ip route sem vrf, foi para a global | Recriar com ip route vrf |
| OSPF vizinho em Full, mas sem rotas na VRF | LSAs com bit DN ignorados (checagem de PE) | capability vrf-lite no processo |
| Interface não aceita IPv4 | VRF sem address-family ipv4 | Ativar address-family ipv4 na VRF |
| Syslog ou NTP pararam após mover a gerência | Serviço ainda usa a tabela global | Configurar 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.
