Перед нами всё та же схема, из базового MPLS, и те же коммутаторы Huawei S6720 и S6330. Добавим в неё L3VPN.

В качестве клиентов будем использовать роутеры MikroTik.
Настроим сначала наш коммутатор SW1. Создаём vpn-instance.
- [SW1] ip vpn-instance L3VPNTEST
- [SW1-vpn-instance-L3VPNTEST] ipv4-family
- [SW1-vpn-instance-L3VPNTEST-af-ipv4] route-distinguisher 65000:100
- [SW1-vpn-instance-L3VPNTEST-af-ipv4] vpn-target 65000:100 both
Теперь заходим в интерфейс, и настроим ip связность с клиентом. Я использую сабинтерфейсы, поэтому переключаю порт в L3. Но тоже самое можно проделать и с вланами, на обычном транковом порту, в таком случае настройки вешаются на влан.
На порт я подаю vlan 3, биндим наш vpn-instance, потом навешиваем ip адрес, для связи с клиентом.
- [SW1] interface XGigabitEthernet 0/0/16
- [SW1-XGigabitEthernet0/0/16] undo portswitch
- [SW1-XGigabitEthernet0/0/16] quit
- [SW1] int XGigabitEthernet 0/0/16.4050
- [SW1-XGigabitEthernet0/0/16.4050] dot1q termination vid 3
- [SW1-XGigabitEthernet0/0/16.4050] ip binding vpn-instance L3VPNTEST
- [SW1-XGigabitEthernet0/0/16.4050] ip address 192.168.201.1 255.255.255.0
Для того, что бы не мучиться со статическими маршрутами, настроим с клиентом динамическую маршрутизацию. Использовать будем OSPF.
- [SW1] ospf 2 vpn-instance L3VPNTEST
- [SW1-ospf-2] import-route bgp
- [SW1-ospf-2] area 0.0.0.0
- [SW1-ospf-2-area-0.0.0.0] network 192.168.201.0 0.0.0.255
Для каждого клиента нужен будет отдельный процесс OSPF, и запускаем мы его для конкретного VPN. Внутрь клиентского OSPF мы импортируем BGP маршруты, это нужно для того, что бы передавать через BGP клиентские маршруты, с одного PE на другой. В данном случае с SW1 на SW4. Теперь настроим BGP.
Что бы не городить full-mesh BGP (каждый с каждым), я буду использовать Роут-Рефлекторы. В моей схеме будет 2 RR, это SW1 и SW2. Все оставшиеся коммутаторы должны будут иметь связность только с этими двумя.
Конфигурация BGP на SW1.
- [SW1] bgp 65000
- [SW1-bgp] peer 10.0.0.2 as-number 65000
- [SW1-bgp] peer 10.0.0.2 connect-interface LoopBack0
- [SW1-bgp] group AS65000 internal
- [SW1-bgp] peer AS65000 connect-interface LoopBack0
- [SW1-bgp] peer 10.0.0.3 group AS65000
- [SW1-bgp] peer 10.0.0.4 group AS65000
- [SW1-bgp] peer 10.0.0.5 group AS65000
- [SW1-bgp] peer 10.0.0.6 group AS65000
- [SW1-bgp] ipv4-family unicast
- [SW1-bgp-af-ipv4] undo synchronization
- [SW1-bgp-af-ipv4] reflector cluster-id 1
- [SW1-bgp-af-ipv4] peer 10.0.0.2 enable
- [SW1-bgp-af-ipv4] peer AS65000 enable
- [SW1-bgp-af-ipv4] peer AS65000 reflect-client
- [SW1-bgp-af-ipv4] peer 10.0.0.3 group AS65000
- [SW1-bgp-af-ipv4] peer 10.0.0.4 group AS65000
- [SW1-bgp-af-ipv4] peer 10.0.0.5 group AS65000
- [SW1-bgp-af-ipv4] peer 10.0.0.6 group AS65000
- [SW1-bgp-af-ipv4] quit
- [SW1-bgp] ipv4-family vpnv4
- [SW1-bgp-af-vpnv4] policy vpn-target
- [SW1-bgp-af-vpnv4] peer 10.0.0.2 enable
- [SW1-bgp-af-vpnv4] peer AS65000 enable
- [SW1-bgp-af-vpnv4] peer AS65000 reflect-client
- [SW1-bgp-af-vpnv4] peer 10.0.0.3 group AS65000
- [SW1-bgp-af-vpnv4] peer 10.0.0.4 group AS65000
- [SW1-bgp-af-vpnv4] peer 10.0.0.5 group AS65000
- [SW1-bgp-af-vpnv4] peer 10.0.0.6 group AS65000
- [SW1-bgp-af-vpnv4] quit
- [SW1-bgp] ipv4-family vpn-instance L3VPNTEST
- [SW1-bgp-L3VPNTEST] import-route ospf 2
Аналогичные настройки на RR 2. Их я не буду приводить, там всё тоже самое.
Теперь настроим нашего клиента. На МикроТике нет лупбэк интерфейсов, поэтому адрес повесим на интерфейс Bridge. Интерфейс Bridge, в данном случае, не привязан не к какому физическому интерфейсу.

Линковый интерфейс ether4. Здесь может возникнуть вопрос, почему интерфейс не транковый, просто у меня между МикротиКом и SW1 есть коммутатор, на котором порт, в сторону МикроТика не тегированый, а в сторону SW1 уже подаётся транк.
Запускаем OSPF


И видим, что соседство поднялось.

Пингуем SW1.

Отлично, всё работает.
Теперь нужно настроить наш удалённый сайт. Заходим на SW4, и по сути, делаем тоже самое, что и на SW1, только BGP пиры уже будут не со всеми, а только с RR и RR2.
Создаём VPN.
- [SW4] ip vpn-instance L3VPNTEST
- [SW4-vpn-instance-L3VPNTEST] ipv4-family
- [SW4-vpn-instance-L3VPNTEST-af-ipv4] route-distinguisher 65000:100
- [SW4-vpn-instance-L3VPNTEST-af-ipv4] vpn-target 65000:100 both
RT и RD в рамках одного VPN должны совпадать, иначе связности не будет.
Настраиваем интерфейс в сторону клиента.
- [SW4] interface XGigabitEthernet 0/0/2
- [SW4-XGigabitEthernet0/0/2] undo portswitch
- [SW4-XGigabitEthernet0/0/2] quit
- [SW4] int XGigabitEthernet 0/0/2.4050
- [SW4-XGigabitEthernet0/0/2.4050] dot1q termination vid 3
- [SW4-XGigabitEthernet0/0/2.4050] ip binding vpn-instance L3VPNTEST
- [SW4-XGigabitEthernet0/0/2.4050] ip address 192.168.200.1 255.255.255.0
Поднимаем OSPF.
- [SW1] ospf 2 vpn-instance L3VPNTEST
- [SW1-ospf-2] import-route bgp
- [SW1-ospf-2] area 0.0.0.0
- [SW1-ospf-2-area-0.0.0.0] network 192.168.200.0 0.0.0.255
Настроим BGP.
- [SW4] bgp 65000
- [SW4-bgp] peer 10.0.0.1 as-number 65000
- [SW4-bgp] peer 10.0.0.1 connect-interface LoopBack0
- [SW4-bgp] peer 10.0.0.2 as-number 65000
- [SW4-bgp] peer 10.0.0.2 connect-interface LoopBack0
- [SW4-bgp] ipv4-family unicast
- [SW4-bgp-af-ipv4] undo synchronization
- [SW4-bgp-af-ipv4] peer 10.0.0.1 enable
- [SW4-bgp-af-ipv4] peer 10.0.0.2 enable
- [SW4-bgp-af-ipv4] quit
- [SW4-bgp] ipv4-family vpnv4
- [SW4-bgp-af-vpnv4] policy vpn-target
- [SW4-bgp-af-vpnv4] peer 10.0.0.1 enable
- [SW4-bgp-af-vpnv4] peer 10.0.0.2 enable
- [SW4-bgp-af-vpnv4] quit
- [SW4-bgp] ipv4-family vpn-instance L3VPNTEST
- [SW4-bgp-L3VPNTEST] import-route ospf 2
Теперь настраиваем 2-й МикроТик.

Здесь адрес 192.168.1.6 для управления самим МикроТиком, в OSPF он не участвует.
Настраиваем OSPF.


Пингуем SW4.

Отлично, связь есть. Проверяем установилось ли соседство.

Соседство есть.
Теперь попингуем наш удалённый сайт.

Теперь пинганём с первого МикроТика.

Всё работает, связность через L3VPN между удалёнными офисами есть.
Посмотрим трассировку.

Об особенностях пинга в MPLS сети, хорошо написано в СДСМ. Меня, для тестов, такое поведение устраивает. Удобно наблюдать через какие коммутаторы ходят пакеты. Такое поведение можно выключить, в глобальной конфигурации ввести [SW1]undo ttl propagate, затем в привилегированном режиме нужно перезапустить MPLS процесс <SW1>reset mpls ldp.
Запускаем трассировку.

Больше нашу сеть в трассировке не видно. Клиент видит только свою сеть, как будто напрямую подключён к удалённому маршрутизатору.
Командой display mpls lsp, можно посмотреть сервисную метку, назначенную на VPN. Её же видно и в трассировке.

Теперь посмотрим таблицу маршрутизации на наших коммутаторах.
Поскольку это VPN, то и маршруты в глобальной таблице не будет. И наши клиенты никак не смогут попасть в нашу сеть. В этом и есть смысл vpn. Клиентские vpn маршруты нужно смотреть в bgp таблице vpnv4.
- [SW1] display bgp vpnv4 all routing-table

И вывод с SW4.

Все маршруты ходят. Связность есть. L3VPN настроен.
Добавить комментарий