Так и пойдём от простого к сложному. Начнём с ситуации, когда один клиент имеет два подключения в один маршрутизатор:
Сначала попробуем настроить всё так, как мы делали это раньше:
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
Пинг между филиалами появляется — они друг друга видят.
Но при этом они видят и, например, адрес Loopback R1:
Соответственно, они видят всю сеть провайдера и будут видеть сети других клиентов.
Поэтому настраиваем 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.
А вот до внутреннего адреса провайдера уже не будет:
Аналогичные настройки нужно сделать и для клиента 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 полностью изолированы от сети провайдера и друг от друга:
Теперь растягиваем удовольствие на сеть linkmeup:
Первый шаг настройки — создать 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
Собственно всё. Теперь каждая сеть знает свои маршруты:
В принципе, на базе одной физической сети мы создали три абсолютно самостоятельных виртуальных сети, внутри которых можно делать практически всё, что угодно — хоть свой MPLS поднимать.
Но, как и было сказано раньше — это очень инертное решение, поэтому переходим к MPLS BGP VPN.