Как на маршрутизаторах с Cisco IOS XE типа ISR4000 C8200, объединить в один L2 сегмент, порт на шасси и на NIM карте

от автора

Был у меня временный сетап, маршрутизатор Cisco 4331, к нему был подключен файрвол, какая-то АТС и еще что-то, плюс два провайдера.

Портов на шасси разумеется не хватало, коммутатор ставить не хотели по разным причинам и поставили модуль NIM-ES2-4.
Это небольшой коммутатор, который вставляется в NIM слот маршрутизатора.

Настроили SVI интерфейсы, Vlan2 и Vlan3 и все какое-то время работало, пока нам не понадобилось подключить пару L2 коммутаторов, расположенных в 500 метрах от основного здания, соответственно подключить их надо было оптикой.

Но при этом, они должны быть в одном L2 сегменте друг с другом и с одним из портов на NIM модуле, (точнее, сегмент не один так как VLAN не один).

На IOS XE Bridge Group больше нет зато есть Bridge Domain.

Настройка BDI по мануалу, создание BDI L3 интерфейсов дала в результате доступность обоих коммутаторов, но недоступность оборудования подключенного в NIM модуль.

Настройка же SVI L3 интерфейсов дает соответственно обратный эффект.

Все потому что нужно соединить оба L2 домена.

Поглубже изучив BDI стало понятно как можно заставить весь этот гибрид работать.

Идея такая:
Со всех фреймов что приходят на интерфейсы с service instance тег снимается (они понятное дело попадают в соответствующий bridge domain независимо от тега, так как прописано bridge-domain XXX.
На все что уходит с этих интерфейсов, наоборот тег навешиваем.
А SVI Vlan интерфейсы так же добавляем в Bridge domain.

И все это нужно потому, что фреймы на SVI интерфейсы приходят уже без тега.

На портах в сторону коммутаторов подключенных по оптике (то есть L3 портах на шасси) настройки такие:

interface GigabitEthernet0/0/0 no ip address negotiation auto service instance 2 ethernet  !Указываем что это dot1q и тег 2  encapsulation dot1q 2  !Тут на входящих фреймах тег снимаем.  rewrite ingress tag pop 1  !А на исходящих устанавливаем.  rewrite egress tag push dot1q 2  l2protocol peer stp  bridge-domain 2 ! service instance 3 ethernet  encapsulation dot1q 3  rewrite ingress tag pop 1  rewrite egress tag push dot1q 3  l2protocol peer stp  bridge-domain 3 !
interface GigabitEthernet0/0/2 no ip address negotiation auto service instance 2 ethernet  encapsulation dot1q 2  rewrite ingress tag pop 1  rewrite egress tag push dot1q 2  l2protocol peer stp  bridge-domain 2 ! service instance 3 ethernet  encapsulation dot1q 3  rewrite ingress tag pop 1  rewrite egress tag push dot1q 3  l2protocol peer stp  bridge-domain 3 !

Созданы два VLAN:

 vlan 2 name Sv1!vlan 3 name PC!

Далее настроены L3 интерфейсы и вот тут есть важный момент:

interface Vlan2 no ip address !Вот тут нужно тоже прописать Bridge domain service instance 2 ethernet  encapsulation untagged  bridge-domain 2 !

То же самое на втором SVI интерфейсе.

interface Vlan3 no ip address service instance 3 ethernet  encapsulation untagged  bridge-domain 3 ! interface BDI2 ip address 10.2.0.1 255.255.255.0 interface BDI3 ip address 10.3.0.1 255.255.255.0

А вот так настроен один из интерфейсов на NIM модуле, он смотрит в сторону сервера на котором есть эти два VLAN. Оба тегированные. Но там может быть например коммутатор.

interface GigabitEthernet0/1/2 switchport mode trunk  

Чтобы проверить что у нас все получилось можем посмотреть MAC адреса изученные в этом Bridge Domain:

sh bridge-domain 2Bridge-domain 2 (4 ports in all)State: UP                    Mac learning: EnabledAging-Timer: 300 second(s)    BDI2  (up)    GigabitEthernet0/0/0 service instance 2    GigabitEthernet0/0/2 service instance 2    Vlan2 service instance 2   AED MAC address    Policy  Tag       Age  Pseudoport   0   XXXX.YYYY.ZZZ1 forward dynamic   300  GigabitEthernet0/0/0.EFP2   -   XXXX.YYYY.ZZZ2 to_bdi  static    0    BDI2   0   XXXX.YYYY.ZZZ3 forward dynamic   300  Vlan2.EFP2   0   XXXX.YYYY.ZZZ4 forward dynamic   289  Vlan2.EFP2   0   XXXX.YYYY.ZZZ5 forward dynamic   292  Vlan2.EFP2   0   XXXX.YYYY.ZZZ6 forward dynamic   294  GigabitEthernet0/0/0.EFP2   0   XXXX.YYYY.ZZZ7 forward dynamic   293  GigabitEthernet0/0/2.EFP2

Тут видно что у нас в этом домене 4 интерфейса:

  • GigabitEthernet0/0/0

  • GigabitEthernet0/0/2

  • BDI2

  • Vlan2

На каком физическом порту изучены MAC адреса XXXX.YYYY.ZZZ3, XXXX.YYYY.ZZZ4, XXXX.YYYY.ZZZ5 можно посмотреть командой sh mac address-table address и указать MAC:

sh mac address-table address XXXX.YYYY.ZZZ3          Mac Address Table-------------------------------------------Vlan    Mac Address       Type        Ports----    -----------       --------    -----   2    XXXX.YYYY.ZZZ3    DYNAMIC     Gi0/1/3

Если посмотреть настройки порта Gi0/1/3 то видим:

interface GigabitEthernet0/1/3 switchport access vlan 2 switchport mode access

То есть это просто аксесс порт во втором VLAN.

Это крайне не типичный случай, однако же может быть будет кому-то полезен.

ссылка на оригинал статьи https://habr.com/ru/articles/1042348/