0.-vrf-lite.md
1 # VRF-Lite 2 3 Так и пойдём от простого к сложному. Начнём с ситуации, когда один клиент имеет два подключения в один маршрутизатор: 4 5  6 7 Сначала попробуем настроить всё так, как мы делали это раньше: 8 9 **Linkmeup:** 10 11 ```text 12 Linkmeup(config)# interface FastEthernet0/0 13 Linkmeup(config-if)# description To C3PO_1 14 Linkmeup(config-if)# ip address 192.168.0.1 255.255.255.0 15 16 Linkmeup(config)# interface FastEthernet0/1 17 Linkmeup(config-if)# description To C3PO_2 18 Linkmeup(config-if)# ip address 192.168.1.1 255.255.255.0 19 ``` 20 21 **C3PO\_1:** 22 23 ```text 24 C3PO_1(config)# interface FastEthernet0/0 25 C3PO_1(config-if)# description To Linkmeup 26 C3PO_1(config-if)# ip address 192.168.0.2 255.255.255.0 27 28 C3PO_1(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1 29 ``` 30 31 **C3PO\_2:** 32 33 ```text 34 C3PO_2(config)# interface FastEthernet0/0 35 C3PO_2(config-if)# description To Linkmeup 36 C3PO_2(config-if)# ip address 192.168.1.2 255.255.255.0 37 38 C3PO_2(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1 39 ``` 40 41 Пинг между филиалами появляется — они друг друга видят. 42  43 44 Но при этом они видят и, например, адрес Loopback R1: 45  46 47 Соответственно, они видят всю сеть провайдера и будут видеть сети других клиентов. 48 49 Поэтому настраиваем VRF: 50 51 ```text 52 Linkmeup(config)#ip vrf C3O 53 ``` 54 55 Чтобы в этот VRF поместить клиентов, нужно их интерфейсы привязать к VRF: 56 57 ```text 58 Linkmeup(config)# interface FastEthernet0/0 59 Linkmeup(config-if)# ip vrf forwarding C3PO 60 % Interface FastEthernet0/0 IP address 192.168.0.1 removed due to enabling VRF C3PO 61 ``` 62 63 Обратите внимание, что после выполнения команды **ip vrf forwarding C3PO**, IOS удалил IP-адреса с интерфейсов, теперь их нужно настроить повторно. Это произошло для того, чтобы удалить указанные подсети из глобальной таблицы маршрутизации. 64 65 ```text 66 Linkmeup(config)# interface FastEthernet0/0 67 Linkmeup(config-if)# ip address 192.168.0.1 255.255.255.0 68 69 Linkmeup(config-if)#interface FastEthernet0/1 70 Linkmeup(config-if)# ip vrf forwarding C3PO 71 % Interface FastEthernet0/0 IP address 192.168.1.1 removed due to enabling VRF C3PO 72 Linkmeup(config-if)# ip address 192.168.1.1 255.255.255.0 73 ``` 74 75 После повторной настройки адреса эти подсети появятся уже в таблице маршрутизации VRF. 76  77 78 Проверяем снова пинг: 79  80 81 А вот до внутреннего адреса провайдера уже не будет: 82  83 84 Аналогичные настройки нужно сделать и для клиента TARS: 85 86 ```text 87 Linkmeup(config)# ip vrf TARS 88 89 Linkmeup(config-if)# interface FastEthernet1/0 90 Linkmeup(config-if)# ip vrf forwarding TARS 91 Linkmeup(config-if)# ip address 100.0.0.1 255.255.255.252 92 93 Linkmeup(config-if)#interface FastEthernet1/1 94 Linkmeup(config-if)# ip vrf forwarding TARS 95 Linkmeup(config-if)# ip address 100.0.1.1 255.255.255.252 96 ``` 97 98 Вот и славно. VRF TARS и C3PO полностью изолированы от сети провайдера и друг от друга: 99 100  101 102  103 104  105 106 Теперь растягиваем удовольствие на сеть linkmeup: 107 108  109 110 **Первый шаг** настройки — **создать VRF** на каждом узле от R1 до R3: 111 112 ```text 113 Linkmeup_R1(config)#ip vrf C3PO 114 Linkmeup_R1(config)#ip vrf TARS 115 ``` 116 117 ```text 118 Linkmeup_R2(config)#ip vrf C3PO 119 Linkmeup_R2(config)#ip vrf TARS 120 ``` 121 122 ```text 123 Linkmeup_R3(config)#ip vrf C3PO 124 Linkmeup_R3(config)#ip vrf TARS 125 ``` 126 127 \* Следует понимать, что VRF — это строго локальное для узла понятие. Вполне можно устанавливать разные имена VRF на разных маршрутизаторах. 128 129 **Второй шаг** — **создать цепочку линковых сетей между всеми узлами** и **привязать каждую пару интерфейсов к нужному VRF**. 130 131 > Мы не стали указывать на схеме линковые адреса, чтобы не загромождать её. Для порядка выберем префиксы 10.0/16 для собственно сети провайдера \(VLAN1\), 192.168/16 для C3PO Electronic \(Vlan 2\) и 100.0/16 для TARS’ Robotics \(Vlan 3\). 132 133 _**Linkmeup\_R1**_**:** 134 135 ```text 136 Linkmeup_R1(config)#interface FastEthernet0/0 137 Linkmeup_R1(config-if)#description To C3PO_Electronic_1 138 Linkmeup_R1(config-if)#ip vrf forwarding C3PO 139 Linkmeup_R1(config-if)#ip address 192.168.0.1 255.255.255.0 140 141 Linkmeup_R1(config)#interface FastEthernet0/1 142 Linkmeup_R1(config-if)#description To Linkmeup_R2 143 Linkmeup_R1(config-if)#ip address 10.0.12.1 255.255.255.0 144 145 Linkmeup_R1(config)#interface FastEthernet0/1.2 146 Linkmeup_R1(config-subif)#description to Linkmeup_R2_vrf_C3PO 147 Linkmeup_R1(config-subif)#encapsulation dot1Q 2 148 Linkmeup_R1(config-subif)#ip vrf forwarding C3PO 149 Linkmeup_R1(config-subif)#ip address 192.168.12.1 255.255.255.0 150 151 Linkmeup_R1(config)#interface FastEthernet0/1.3 152 Linkmeup_R1(config-subif)#description To Linkmeup_R2_in_TARS 153 Linkmeup_R1(config-subif)#encapsulation dot1Q 3 154 Linkmeup_R1(config-subif)#ip vrf forwarding TARS 155 Linkmeup_R1(config-subif)#ip address 100.0.12.1 255.255.255.0 156 157 Linkmeup_R1(config)#interface FastEthernet1/0 158 Linkmeup_R1(config-if)#description To TARS_1 159 Linkmeup_R1(config-if)#ip vrf forwarding TARS 160 Linkmeup_R1(config-if)#ip address 100.0.0.1 255.255.255.0 161 ``` 162 163 **Конфигурация других узлов** 164 165 _**Linkmeup\_R2**_**:** 166 167 ```text 168 Linkmeup_R2(config)#interface FastEthernet0/0 169 Linkmeup_R2(config-if)#description To Linkmeup_R1 170 Linkmeup_R2(config-if)#ip address 10.0.12.2 255.255.255.0 171 172 Linkmeup_R2(config)#interface FastEthernet0/0.2 173 Linkmeup_R2(config-subif)#description To Linkmeup_R1_vrf_C3PO 174 Linkmeup_R2(config-subif)#encapsulation dot1Q 2 175 Linkmeup_R2(config-subif)#ip vrf forwarding C3PO 176 Linkmeup_R2(config-subif)#ip address 192.168.12.2 255.255.255.0 177 178 Linkmeup_R2(config)#interface FastEthernet0/0.3 179 Linkmeup_R2(config-subif)#description To Linkmeup_R1_vrf_TARS 180 Linkmeup_R2(config-subif)#encapsulation dot1Q 3 181 Linkmeup_R2(config-subif)#ip vrf forwarding TARS 182 Linkmeup_R2(config-subif)#ip address 100.0.12.2 255.255.255.0 183 184 Linkmeup_R2(config)#interface FastEthernet0/1 185 Linkmeup_R2(config-if)#description To Linkmeup_R3 186 Linkmeup_R2(config-if)#ip address 10.0.23.2 255.255.255.0 187 188 Linkmeup_R2(config)#interface FastEthernet0/1.2 189 Linkmeup_R2(config-subif)#description To Linkmeup_R3_vrf_C3PO 190 Linkmeup_R2(config-subif)#encapsulation dot1Q 2 191 Linkmeup_R2(config-subif)#ip vrf forwarding C3PO 192 Linkmeup_R2(config-subif)#ip address 192.168.23.2 255.255.255.0 193 194 Linkmeup_R2(config)#interface FastEthernet0/1.3 195 Linkmeup_R2(config-subif)#description To Linkmeup_R3_vrf_TARS 196 Linkmeup_R2(config-subif)#encapsulation dot1Q 3 197 Linkmeup_R2(config-subif)#ip vrf forwarding TARS 198 Linkmeup_R2(config-subif)#ip address 100.0.23.2 255.255.255.0 199 ``` 200 201 _**Linkmeup\_R3**_**:** 202 203 ```text 204 Linkmeup_R3(config)#interface FastEthernet0/0 205 Linkmeup_R3(config-if)#description To Linkmeup_R2 206 Linkmeup_R3(config-if)#ip address 10.0.23.3 255.255.255.0 207 208 Linkmeup_R3(config)#interface FastEthernet0/0.2 209 Linkmeup_R3(config-subif)#description To Linkmeup_R2_vrf_C3PO 210 Linkmeup_R3(config-subif)#encapsulation dot1Q 2 211 Linkmeup_R3(config-subif)#ip vrf forwarding C3PO 212 Linkmeup_R3(config-subif)#ip address 192.168.23.3 255.255.255.0 213 214 Linkmeup_R3(config)#interface FastEthernet0/0.3 215 Linkmeup_R3(config-subif)#description To Linkmeup_R2_vrf_TARS 216 Linkmeup_R3(config-subif)#encapsulation dot1Q 3 217 Linkmeup_R3(config-subif)#ip vrf forwarding TARS 218 Linkmeup_R3(config-subif)#ip address 100.0.23.3 255.255.255.0 219 220 Linkmeup_R3(config)#interface FastEthernet0/1 221 Linkmeup_R3(config-if)#description To C3PO_2 222 Linkmeup_R3(config-if)#ip vrf forwarding C3PO 223 Linkmeup_R3(config-if)#ip address 192.168.1.1 255.255.255.0 224 225 Linkmeup_R3(config)#interface FastEthernet1/0 226 Linkmeup_R3(config-if)#description To TARS_2 227 Linkmeup_R3(config-if)#ip vrf forwarding TARS 228 Linkmeup_R3(config-if)#ip address 100.0.1.1 255.255.255.0 229 ``` 230 231 **Третий** — **поднять IGP в VRF**. 232 _**Linkmeup\_R1**_**:** 233 234 ```text 235 Linkmeup_R1(config)#router ospf 2 vrf C3PO 236 Linkmeup_R1(config-router)#network 192.168.0.0 0.0.255.255 area 0 237 238 Linkmeup_R1(config)#router ospf 3 vrf TARS 239 Linkmeup_R1(config-router)#network 100.0.0.0 0.0.255.255 area 0 240 241 Linkmeup_R1(config)#router isis 1 242 Linkmeup_R1(config-router)#net 10.0000.0000.0001.00 243 244 Linkmeup_R1(config)#interface FastEthernet0/1 245 Linkmeup_R1(config-if)#ip router isis 1 246 ``` 247 248 **Конфигурация других узлов** 249 250 _**Linkmeup\_R2**_**:** 251 252 ```text 253 Linkmeup_R2(config)#router ospf 2 vrf C3PO 254 Linkmeup_R2(config-router)#network 192.168.0.0 0.0.255.255 area 0 255 256 Linkmeup_R2(config)#router ospf 3 vrf TARS 257 Linkmeup_R2(config-router)#network 100.0.0.0 0.0.255.255 area 0 258 259 Linkmeup_R2(config)#router isis 1 260 Linkmeup_R2(config-router)#net 10.0000.0000.0001.00 261 262 Linkmeup_R2(config)#interface FastEthernet0/0 263 Linkmeup_R2(config-if)#ip router isis 1 264 265 Linkmeup_R2(config)#interface FastEthernet0/1 266 Linkmeup_R2(config-if)#ip router isis 1 267 ``` 268 269 _**Linkmeup\_R3**_**:** 270 271 ```text 272 Linkmeup_R3(config)#router ospf 2 vrf C3PO 273 Linkmeup_R3(config-router)#network 192.168.0.0 0.0.255.255 area 0 274 275 Linkmeup_R3(config)#router ospf 3 vrf TARS 276 Linkmeup_R3(config-router)#network 100.0.0.0 0.0.255.255 area 0 277 278 Linkmeup_R3(config)#router isis 1 279 Linkmeup_R3(config-router)#net 10.0000.0000.0001.00 280 281 Linkmeup_R3(config)#interface FastEthernet0/0 282 Linkmeup_R3(config-if)#ip router isis 1 283 ``` 284 285 > ISIS для связности внутренней сети провайдера, OSPF для VPN. 286 > OSPF поднимается и с клиентами, чтобы они изучали маршруты динамически. Соответственно, в них должна быть конструкция вроде этой: 287 > 288 > ```text 289 > C3PO_1(config)# router ospf 1 290 > C3PO_1(config-router)# network 192.168.0.0 0.0.255.255 area 0 291 > ``` 292 293 Собственно всё. Теперь каждая сеть знает свои маршруты: 294 295  296 297  298 299 В принципе, на базе одной физической сети мы создали три абсолютно самостоятельных виртуальных сети, внутри которых можно делать практически всё, что угодно — хоть свой MPLS поднимать. 300 301 Но, как и было сказано раньше — это очень инертное решение, поэтому переходим к MPLS BGP VPN. 302