> For the complete documentation index, see [llms.txt](https://linkmeup.gitbook.io/sdsm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linkmeup.gitbook.io/sdsm/11.-mpls-l3vpn/2.-praktika/0.-vrf-lite.md).

# VRF-Lite

Так и пойдём от простого к сложному. Начнём с ситуации, когда один клиент имеет два подключения в один маршрутизатор:

![](https://img-fotki.yandex.ru/get/16122/83739833.49/0_103dd1_f74f9233_orig.png)

Сначала попробуем настроить всё так, как мы делали это раньше:

**Linkmeup:**

```
Linkmeup(config)# interface FastEthernet0/0
Linkmeup(config-if)# description To C3PO_1
Linkmeup(config-if)# ip address 192.168.0.1 255.255.255.0

Linkmeup(config)# interface FastEthernet0/1
Linkmeup(config-if)# description To C3PO_2
Linkmeup(config-if)# ip address 192.168.1.1 255.255.255.0
```

**C3PO\_1:**

```
C3PO_1(config)# interface FastEthernet0/0
C3PO_1(config-if)# description To Linkmeup
C3PO_1(config-if)# ip address 192.168.0.2 255.255.255.0

C3PO_1(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1
```

**C3PO\_2:**

```
C3PO_2(config)# interface FastEthernet0/0
C3PO_2(config-if)# description To Linkmeup
C3PO_2(config-if)# ip address 192.168.1.2 255.255.255.0

C3PO_2(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1
```

Пинг между филиалами появляется — они друг друга видят.\
![](https://img-fotki.yandex.ru/get/15593/83739833.48/0_103d3c_cf3b51f4_orig.png)

Но при этом они видят и, например, адрес Loopback R1:\
![](https://img-fotki.yandex.ru/get/15533/83739833.48/0_103d3d_33bf3545_orig.png)

Соответственно, они видят всю сеть провайдера и будут видеть сети других клиентов.

Поэтому настраиваем VRF:

```
Linkmeup(config)#ip vrf C3O
```

Чтобы в этот VRF поместить клиентов, нужно их интерфейсы привязать к VRF:

```
Linkmeup(config)# interface FastEthernet0/0
Linkmeup(config-if)# ip vrf forwarding C3PO
% Interface FastEthernet0/0 IP address 192.168.0.1 removed due to enabling VRF C3PO
```

Обратите внимание, что после выполнения команды **ip vrf forwarding C3PO**, IOS удалил IP-адреса с интерфейсов, теперь их нужно настроить повторно. Это произошло для того, чтобы удалить указанные подсети из глобальной таблицы маршрутизации.

```
Linkmeup(config)# interface FastEthernet0/0
Linkmeup(config-if)# ip address 192.168.0.1 255.255.255.0

Linkmeup(config-if)#interface FastEthernet0/1
Linkmeup(config-if)# ip vrf forwarding C3PO
% Interface FastEthernet0/0 IP address 192.168.1.1 removed due to enabling VRF C3PO
Linkmeup(config-if)# ip address 192.168.1.1 255.255.255.0
```

После повторной настройки адреса эти подсети появятся уже в таблице маршрутизации VRF.\
![](https://img-fotki.yandex.ru/get/3014/83739833.48/0_103d3e_ab5ff929_orig.png)

Проверяем снова пинг:\
![](https://img-fotki.yandex.ru/get/34/83739833.48/0_103d3f_cdaa6450_orig.png)

А вот до внутреннего адреса провайдера уже не будет:\
![](https://img-fotki.yandex.ru/get/16173/83739833.48/0_103d40_e8f6a7c5_orig.png)

Аналогичные настройки нужно сделать и для клиента TARS:

```
Linkmeup(config)# ip vrf TARS

Linkmeup(config-if)# interface FastEthernet1/0
Linkmeup(config-if)# ip vrf forwarding TARS
Linkmeup(config-if)# ip address 100.0.0.1 255.255.255.252

Linkmeup(config-if)#interface FastEthernet1/1
Linkmeup(config-if)# ip vrf forwarding TARS
Linkmeup(config-if)# ip address 100.0.1.1 255.255.255.252
```

Вот и славно. VRF TARS и C3PO полностью изолированы от сети провайдера и друг от друга:

![](https://img-fotki.yandex.ru/get/15558/83739833.48/0_103d41_6615b7ca_orig.png)

![](https://img-fotki.yandex.ru/get/3305/83739833.48/0_103d42_e91bcc25_orig.png)

![](https://img-fotki.yandex.ru/get/68668/83739833.55/0_10e87d_55804798_orig.png)

Теперь растягиваем удовольствие на сеть linkmeup:

![](https://img-fotki.yandex.ru/get/4521/83739833.52/0_10708c_112f4c47_orig.png)

**Первый шаг** настройки — **создать VRF** на каждом узле от R1 до R3:

```
Linkmeup_R1(config)#ip vrf C3PO
Linkmeup_R1(config)#ip vrf TARS
```

```
Linkmeup_R2(config)#ip vrf C3PO
Linkmeup_R2(config)#ip vrf TARS
```

```
Linkmeup_R3(config)#ip vrf C3PO
Linkmeup_R3(config)#ip vrf TARS
```

\* Следует понимать, что VRF — это строго локальное для узла понятие. Вполне можно устанавливать разные имена VRF на разных маршрутизаторах.

**Второй шаг** — **создать цепочку линковых сетей между всеми узлами** и **привязать каждую пару интерфейсов к нужному VRF**.

> Мы не стали указывать на схеме линковые адреса, чтобы не загромождать её. Для порядка выберем префиксы 10.0/16 для собственно сети провайдера (VLAN1), 192.168/16 для C3PO Electronic (Vlan 2) и 100.0/16 для TARS’ Robotics (Vlan 3).

***Linkmeup\_R1*****:**

```
Linkmeup_R1(config)#interface FastEthernet0/0
Linkmeup_R1(config-if)#description To C3PO_Electronic_1
Linkmeup_R1(config-if)#ip vrf forwarding C3PO
Linkmeup_R1(config-if)#ip address 192.168.0.1 255.255.255.0

Linkmeup_R1(config)#interface FastEthernet0/1
Linkmeup_R1(config-if)#description To Linkmeup_R2
Linkmeup_R1(config-if)#ip address 10.0.12.1 255.255.255.0

Linkmeup_R1(config)#interface FastEthernet0/1.2
Linkmeup_R1(config-subif)#description to Linkmeup_R2_vrf_C3PO
Linkmeup_R1(config-subif)#encapsulation dot1Q 2
Linkmeup_R1(config-subif)#ip vrf forwarding C3PO
Linkmeup_R1(config-subif)#ip address 192.168.12.1 255.255.255.0

Linkmeup_R1(config)#interface FastEthernet0/1.3
Linkmeup_R1(config-subif)#description To Linkmeup_R2_in_TARS
Linkmeup_R1(config-subif)#encapsulation dot1Q 3
Linkmeup_R1(config-subif)#ip vrf forwarding TARS
Linkmeup_R1(config-subif)#ip address 100.0.12.1 255.255.255.0

Linkmeup_R1(config)#interface FastEthernet1/0
Linkmeup_R1(config-if)#description To TARS_1
Linkmeup_R1(config-if)#ip vrf forwarding TARS
Linkmeup_R1(config-if)#ip address 100.0.0.1 255.255.255.0
```

**Конфигурация других узлов**

***Linkmeup\_R2*****:**

```
Linkmeup_R2(config)#interface FastEthernet0/0
Linkmeup_R2(config-if)#description To Linkmeup_R1
Linkmeup_R2(config-if)#ip address 10.0.12.2 255.255.255.0

Linkmeup_R2(config)#interface FastEthernet0/0.2
Linkmeup_R2(config-subif)#description To Linkmeup_R1_vrf_C3PO
Linkmeup_R2(config-subif)#encapsulation dot1Q 2
Linkmeup_R2(config-subif)#ip vrf forwarding C3PO
Linkmeup_R2(config-subif)#ip address 192.168.12.2 255.255.255.0

Linkmeup_R2(config)#interface FastEthernet0/0.3
Linkmeup_R2(config-subif)#description To Linkmeup_R1_vrf_TARS
Linkmeup_R2(config-subif)#encapsulation dot1Q 3
Linkmeup_R2(config-subif)#ip vrf forwarding TARS
Linkmeup_R2(config-subif)#ip address 100.0.12.2 255.255.255.0

Linkmeup_R2(config)#interface FastEthernet0/1
Linkmeup_R2(config-if)#description To Linkmeup_R3
Linkmeup_R2(config-if)#ip address 10.0.23.2 255.255.255.0

Linkmeup_R2(config)#interface FastEthernet0/1.2
Linkmeup_R2(config-subif)#description To Linkmeup_R3_vrf_C3PO
Linkmeup_R2(config-subif)#encapsulation dot1Q 2
Linkmeup_R2(config-subif)#ip vrf forwarding C3PO
Linkmeup_R2(config-subif)#ip address 192.168.23.2 255.255.255.0

Linkmeup_R2(config)#interface FastEthernet0/1.3
Linkmeup_R2(config-subif)#description To Linkmeup_R3_vrf_TARS
Linkmeup_R2(config-subif)#encapsulation dot1Q 3
Linkmeup_R2(config-subif)#ip vrf forwarding TARS
Linkmeup_R2(config-subif)#ip address 100.0.23.2 255.255.255.0
```

***Linkmeup\_R3*****:**

```
Linkmeup_R3(config)#interface FastEthernet0/0
Linkmeup_R3(config-if)#description To Linkmeup_R2
Linkmeup_R3(config-if)#ip address 10.0.23.3 255.255.255.0

Linkmeup_R3(config)#interface FastEthernet0/0.2
Linkmeup_R3(config-subif)#description To Linkmeup_R2_vrf_C3PO
Linkmeup_R3(config-subif)#encapsulation dot1Q 2
Linkmeup_R3(config-subif)#ip vrf forwarding C3PO
Linkmeup_R3(config-subif)#ip address 192.168.23.3 255.255.255.0

Linkmeup_R3(config)#interface FastEthernet0/0.3
Linkmeup_R3(config-subif)#description To Linkmeup_R2_vrf_TARS
Linkmeup_R3(config-subif)#encapsulation dot1Q 3
Linkmeup_R3(config-subif)#ip vrf forwarding TARS
Linkmeup_R3(config-subif)#ip address 100.0.23.3 255.255.255.0

Linkmeup_R3(config)#interface FastEthernet0/1
Linkmeup_R3(config-if)#description To C3PO_2
Linkmeup_R3(config-if)#ip vrf forwarding C3PO
Linkmeup_R3(config-if)#ip address 192.168.1.1 255.255.255.0

Linkmeup_R3(config)#interface FastEthernet1/0
Linkmeup_R3(config-if)#description To TARS_2
Linkmeup_R3(config-if)#ip vrf forwarding TARS
Linkmeup_R3(config-if)#ip address 100.0.1.1 255.255.255.0
```

**Третий** — **поднять IGP в VRF**.\
***Linkmeup\_R1*****:**

```
Linkmeup_R1(config)#router ospf 2 vrf C3PO
Linkmeup_R1(config-router)#network 192.168.0.0 0.0.255.255 area 0

Linkmeup_R1(config)#router ospf 3 vrf TARS
Linkmeup_R1(config-router)#network 100.0.0.0 0.0.255.255 area 0

Linkmeup_R1(config)#router isis 1
Linkmeup_R1(config-router)#net 10.0000.0000.0001.00

Linkmeup_R1(config)#interface FastEthernet0/1
Linkmeup_R1(config-if)#ip router isis 1
```

**Конфигурация других узлов**

***Linkmeup\_R2*****:**

```
Linkmeup_R2(config)#router ospf 2 vrf C3PO
Linkmeup_R2(config-router)#network 192.168.0.0 0.0.255.255 area 0

Linkmeup_R2(config)#router ospf 3 vrf TARS
Linkmeup_R2(config-router)#network 100.0.0.0 0.0.255.255 area 0

Linkmeup_R2(config)#router isis 1
Linkmeup_R2(config-router)#net 10.0000.0000.0001.00

Linkmeup_R2(config)#interface FastEthernet0/0
Linkmeup_R2(config-if)#ip router isis 1

Linkmeup_R2(config)#interface FastEthernet0/1
Linkmeup_R2(config-if)#ip router isis 1
```

***Linkmeup\_R3*****:**

```
Linkmeup_R3(config)#router ospf 2 vrf C3PO
Linkmeup_R3(config-router)#network 192.168.0.0 0.0.255.255 area 0

Linkmeup_R3(config)#router ospf 3 vrf TARS
Linkmeup_R3(config-router)#network 100.0.0.0 0.0.255.255 area 0

Linkmeup_R3(config)#router isis 1
Linkmeup_R3(config-router)#net 10.0000.0000.0001.00

Linkmeup_R3(config)#interface FastEthernet0/0
Linkmeup_R3(config-if)#ip router isis 1
```

> ISIS для связности внутренней сети провайдера, OSPF для VPN.\
> OSPF поднимается и с клиентами, чтобы они изучали маршруты динамически. Соответственно, в них должна быть конструкция вроде этой:
>
> ```
> C3PO_1(config)# router ospf 1
> C3PO_1(config-router)# network 192.168.0.0 0.0.255.255 area 0
> ```

Собственно всё. Теперь каждая сеть знает свои маршруты:

![](https://img-fotki.yandex.ru/get/3007/83739833.48/0_103d45_666e6e1d_orig.png)

![](https://img-fotki.yandex.ru/get/116164/83739833.55/0_10e87e_22fbaa75_orig.png)

В принципе, на базе одной физической сети мы создали три абсолютно самостоятельных виртуальных сети, внутри которых можно делать практически всё, что угодно — хоть свой MPLS поднимать.

Но, как и было сказано раньше — это очень инертное решение, поэтому переходим к MPLS BGP VPN.
