VRF(Virtual Routing and Forwarding)는 하나의 라우터 안에 논리적으로 여러 개의 라우팅 테이블을 구성하는 기술입니다. 주로 망 분리를 위해 써요. 장비는 한 대지만 VRF마다 독립된 라우터처럼 동작합니다.

그림에서는 각 라우터 안에 VRF 1과 VRF 2가 있고, 상대 라우터의 같은 VRF끼리 각각 연결됩니다. VRF마다 라우팅 테이블이 따로라서 서로 다른 VRF의 트래픽은 섞이지 않아요. 덕분에 서로 통신하면 안 되는 망을 한 장비에서 나눠 운영할 수 있고, VRF마다 라우팅 테이블이 독립적이어서 같은 IP 대역도 VRF별로 따로 쓸 수 있습니다.
EOS에서는 기본 VRF인 default가 자동으로 만들어지고, 이름을 바꾸거나 따로 설정할 수 없습니다. 나머지 VRF는 vrf instance 명령으로 직접 만들어요.
VRF를 만들고, 그 VRF에서 라우팅을 켠 다음, 인터페이스를 VRF에 넣습니다.
vrf instance BLUE
vrf instance RED
ip routing vrf BLUE
ip routing vrf RED
interface Vlan10
vrf BLUE
ip address 10.10.10.1/24
interface Vlan20
vrf RED
ip address 20.20.20.1/24
localhost(config)#sh vrf
Maximum number of VRFs allowed: 1024
VRF Protocols State Interfaces
BLUE IPv4 routing Vl10
RED IPv4 routing Vl20
default IPv4 routing Et3, Vl4094
Maximum number of VRFs allowed: 1024는 이 장비에서 만들 수 있는 최대 VRF 수입니다. 플랫폼마다 다릅니다.VRF별 라우팅 테이블(show ip route vrf <이름>)은 이렇게 나옵니다.
| VRF | 경로 | 인터페이스 |
|---|---|---|
| BLUE | 10.10.10.0/24 (directly connected) | Vlan10 |
| RED | 20.20.20.0/24 (directly connected) | Vlan20 |
| default | 192.168.1.0/24 (directly connected) | Vlan4094 |
| default | 192.168.2.0/24 (directly connected) | Ethernet3 |
각 VRF마다 서로 다른 대역을 가지고 있는 걸 볼 수 있어요. BLUE의 라우팅 테이블에는 RED 대역(20.20.20.0/24)이 없으니, BLUE에서 RED로는 갈 수 없습니다. 이게 VRF로 망을 분리하는 원리예요.
show ip route vrf BLUE처럼 써야 해당 VRF가 보여요. VRF를 지정하지 않으면 기본적으로 default VRF 기준으로 보입니다.L(VRF Leaked) 표시가 붙어요.VRF는 한 장비 안에 라우팅 테이블을 여러 개 만들어 망을 논리적으로 나누는 기술입니다. VRF마다 속한 인터페이스와 경로가 따로여서 서로 다른 VRF는 기본적으로 통신할 수 없고, 필요할 때만 route leaking으로 경로를 열어줍니다.