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

В качестве клиентов будем использовать роутеры MikroTik.

Настроим сначала наш коммутатор SW1. Создаём vpn-instance.

  1. [SW1] ip vpn-instance L3VPNTEST
  2. [SW1-vpn-instance-L3VPNTEST] ipv4-family
  3. [SW1-vpn-instance-L3VPNTEST-af-ipv4] route-distinguisher 65000:100
  4. [SW1-vpn-instance-L3VPNTEST-af-ipv4] vpn-target 65000:100 both

Теперь заходим в интерфейс, и настроим ip связность с клиентом. Я использую сабинтерфейсы, поэтому переключаю порт в L3. Но тоже самое можно проделать и с вланами, на обычном транковом порту, в таком случае настройки вешаются на влан.

На порт я подаю vlan 3, биндим наш vpn-instance, потом навешиваем ip адрес, для связи с клиентом.

  1. [SW1] interface XGigabitEthernet 0/0/16
  2. [SW1-XGigabitEthernet0/0/16] undo portswitch
  3. [SW1-XGigabitEthernet0/0/16] quit
  4. [SW1] int XGigabitEthernet 0/0/16.4050
  5. [SW1-XGigabitEthernet0/0/16.4050] dot1q termination vid 3
  6. [SW1-XGigabitEthernet0/0/16.4050] ip binding vpn-instance L3VPNTEST
  7. [SW1-XGigabitEthernet0/0/16.4050] ip address 192.168.201.1 255.255.255.0

Для того, что бы не мучиться со статическими маршрутами, настроим с клиентом динамическую маршрутизацию. Использовать будем OSPF.

  1. [SW1] ospf 2 vpn-instance L3VPNTEST
  2. [SW1-ospf-2] import-route bgp
  3. [SW1-ospf-2] area 0.0.0.0
  4. [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.

  1. [SW1] bgp 65000
  2. [SW1-bgp] peer 10.0.0.2 as-number 65000
  3. [SW1-bgp] peer 10.0.0.2 connect-interface LoopBack0
  4. [SW1-bgp] group AS65000 internal
  5. [SW1-bgp] peer AS65000 connect-interface LoopBack0
  6. [SW1-bgp] peer 10.0.0.3 group AS65000
  7. [SW1-bgp] peer 10.0.0.4 group AS65000
  8. [SW1-bgp] peer 10.0.0.5 group AS65000
  9. [SW1-bgp] peer 10.0.0.6 group AS65000
  10. [SW1-bgp] ipv4-family unicast
  11. [SW1-bgp-af-ipv4] undo synchronization
  12. [SW1-bgp-af-ipv4] reflector cluster-id 1
  13. [SW1-bgp-af-ipv4] peer 10.0.0.2 enable
  14. [SW1-bgp-af-ipv4] peer AS65000 enable
  15. [SW1-bgp-af-ipv4] peer AS65000 reflect-client
  16. [SW1-bgp-af-ipv4] peer 10.0.0.3 group AS65000
  17. [SW1-bgp-af-ipv4] peer 10.0.0.4 group AS65000
  18. [SW1-bgp-af-ipv4] peer 10.0.0.5 group AS65000
  19. [SW1-bgp-af-ipv4] peer 10.0.0.6 group AS65000
  20. [SW1-bgp-af-ipv4] quit
  21. [SW1-bgp] ipv4-family vpnv4
  22. [SW1-bgp-af-vpnv4] policy vpn-target
  23. [SW1-bgp-af-vpnv4] peer 10.0.0.2 enable
  24. [SW1-bgp-af-vpnv4] peer AS65000 enable
  25. [SW1-bgp-af-vpnv4] peer AS65000 reflect-client
  26. [SW1-bgp-af-vpnv4] peer 10.0.0.3 group AS65000
  27. [SW1-bgp-af-vpnv4] peer 10.0.0.4 group AS65000
  28. [SW1-bgp-af-vpnv4] peer 10.0.0.5 group AS65000
  29. [SW1-bgp-af-vpnv4] peer 10.0.0.6 group AS65000
  30. [SW1-bgp-af-vpnv4] quit
  31. [SW1-bgp] ipv4-family vpn-instance L3VPNTEST
  32. [SW1-bgp-L3VPNTEST] import-route ospf 2

Аналогичные настройки на RR 2. Их я не буду приводить, там всё тоже самое.

Теперь настроим нашего клиента. На МикроТике нет лупбэк интерфейсов, поэтому адрес повесим на интерфейс Bridge. Интерфейс Bridge, в данном случае, не привязан не к какому физическому интерфейсу.

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

Запускаем OSPF

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

Пингуем SW1.

Отлично, всё работает.

Теперь нужно настроить наш удалённый сайт. Заходим на SW4, и по сути, делаем тоже самое, что и на SW1, только BGP пиры уже будут не со всеми, а только с RR и RR2.

Создаём VPN.

  1. [SW4] ip vpn-instance L3VPNTEST
  2. [SW4-vpn-instance-L3VPNTEST] ipv4-family
  3. [SW4-vpn-instance-L3VPNTEST-af-ipv4] route-distinguisher 65000:100
  4. [SW4-vpn-instance-L3VPNTEST-af-ipv4] vpn-target 65000:100 both

RT и RD в рамках одного VPN должны совпадать, иначе связности не будет.

Настраиваем интерфейс в сторону клиента.

  1. [SW4] interface XGigabitEthernet 0/0/2
  2. [SW4-XGigabitEthernet0/0/2] undo portswitch
  3. [SW4-XGigabitEthernet0/0/2] quit
  4. [SW4] int XGigabitEthernet 0/0/2.4050
  5. [SW4-XGigabitEthernet0/0/2.4050] dot1q termination vid 3
  6. [SW4-XGigabitEthernet0/0/2.4050] ip binding vpn-instance L3VPNTEST
  7. [SW4-XGigabitEthernet0/0/2.4050] ip address 192.168.200.1 255.255.255.0

Поднимаем OSPF.

  1. [SW1] ospf 2 vpn-instance L3VPNTEST
  2. [SW1-ospf-2] import-route bgp
  3. [SW1-ospf-2] area 0.0.0.0
  4. [SW1-ospf-2-area-0.0.0.0] network 192.168.200.0 0.0.0.255

Настроим BGP.

  1. [SW4] bgp 65000
  2. [SW4-bgp] peer 10.0.0.1 as-number 65000
  3. [SW4-bgp] peer 10.0.0.1 connect-interface LoopBack0
  4. [SW4-bgp] peer 10.0.0.2 as-number 65000
  5. [SW4-bgp] peer 10.0.0.2 connect-interface LoopBack0
  6. [SW4-bgp] ipv4-family unicast
  7. [SW4-bgp-af-ipv4] undo synchronization
  8. [SW4-bgp-af-ipv4] peer 10.0.0.1 enable
  9. [SW4-bgp-af-ipv4] peer 10.0.0.2 enable
  10. [SW4-bgp-af-ipv4] quit
  11. [SW4-bgp] ipv4-family vpnv4
  12. [SW4-bgp-af-vpnv4] policy vpn-target
  13. [SW4-bgp-af-vpnv4] peer 10.0.0.1 enable
  14. [SW4-bgp-af-vpnv4] peer 10.0.0.2 enable
  15. [SW4-bgp-af-vpnv4] quit
  16. [SW4-bgp] ipv4-family vpn-instance L3VPNTEST
  17. [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.

  1. [SW1] display bgp vpnv4 all routing-table

И вывод с SW4.

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


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *