/ 11.-mpls-l3vpn / 2.-praktika / 0.-vrf-lite.md
0.-vrf-lite.md
  1  # VRF-Lite
  2  
  3  Так и пойдём от простого к сложному. Начнём с ситуации, когда один клиент имеет два подключения в один маршрутизатор:
  4  
  5  ![](https://img-fotki.yandex.ru/get/16122/83739833.49/0_103dd1_f74f9233_orig.png)
  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  ![](https://img-fotki.yandex.ru/get/15593/83739833.48/0_103d3c_cf3b51f4_orig.png)
 43  
 44  Но при этом они видят и, например, адрес Loopback R1:  
 45  ![](https://img-fotki.yandex.ru/get/15533/83739833.48/0_103d3d_33bf3545_orig.png)
 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  ![](https://img-fotki.yandex.ru/get/3014/83739833.48/0_103d3e_ab5ff929_orig.png)
 77  
 78  Проверяем снова пинг:  
 79  ![](https://img-fotki.yandex.ru/get/34/83739833.48/0_103d3f_cdaa6450_orig.png)
 80  
 81  А вот до внутреннего адреса провайдера уже не будет:  
 82  ![](https://img-fotki.yandex.ru/get/16173/83739833.48/0_103d40_e8f6a7c5_orig.png)
 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  ![](https://img-fotki.yandex.ru/get/15558/83739833.48/0_103d41_6615b7ca_orig.png)
101  
102  ![](https://img-fotki.yandex.ru/get/3305/83739833.48/0_103d42_e91bcc25_orig.png)
103  
104  ![](https://img-fotki.yandex.ru/get/68668/83739833.55/0_10e87d_55804798_orig.png)
105  
106  Теперь растягиваем удовольствие на сеть linkmeup:
107  
108  ![](https://img-fotki.yandex.ru/get/4521/83739833.52/0_10708c_112f4c47_orig.png)
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  ![](https://img-fotki.yandex.ru/get/3007/83739833.48/0_103d45_666e6e1d_orig.png)
296  
297  ![](https://img-fotki.yandex.ru/get/116164/83739833.55/0_10e87e_22fbaa75_orig.png)
298  
299  В принципе, на базе одной физической сети мы создали три абсолютно самостоятельных виртуальных сети, внутри которых можно делать практически всё, что угодно — хоть свой MPLS поднимать.
300  
301  Но, как и было сказано раньше — это очень инертное решение, поэтому переходим к MPLS BGP VPN.
302