pred8or
@pred8or

CRS328/RouterOS + IP телефон Cisco — как завести?

Есть коммутатор CRS328. По SFP1 на него приходит (упрощая) 2 vlan: 100 - для компьютеров, 200 - для телефонии. В порт eth1 подключен телефон CP-7821, на него в режиме Any с PVID 100 подаются оба vlan. На телефоне настроено Admin VLAN 200, PC VLAN 100. Всё как на иллюстрации:

60e7f86858319336058823.png

Если коммутатор в режиме SwOS, настройки таковы:

Вкладка System: Раздел General, галочки Independent VLAN Lookup, IGMP Snooping. Раздел DHCP & PPPoE Snooping, Trusted Ports - галочки на eth1 и sfp1

Вкладка VLANs: заводим 2 vlan: 100 и 200. В эти vlan-ы включаем порты eth1 и sfp1. По умолчанию стоят галочки Port Isolation и Learning

Вкладка VLAN: eth1 - VLAN Mode: enabled, VLAN Receive: any, Default Vlan ID: 100
sfp1 - VLAN Mode: enabled, VLAN Receive: only tagged, Default Vlan ID: 1

Всё работает. Телефон регистрируется, получает конфигурацию TFTP и сетевые настройки, звонит, пропускает трафик на компьютер (хотя непонятно зачем прописывать PC vlan если он должен быть нетегированным, но так хотя бы работает).

Перезагружаем коммутатор в RouterOS

Конфиг (несущественное опущено, L3 нет ничего):

/interface bridge add add-dhcp-option82=yes dhcp-snooping=yes igmp-snooping=yes name=switch-bridge vlan-filtering=yes
/interface bridge port add bridge=switch-bridge frame-types=admit-only-vlan-tagged ingress-filtering=yes interface=sfp-sfpplus1 trusted=yes
/interface bridge port add bridge=switch-bridge interface=ether1 pvid=100 trusted=yes
/interface bridge vlan add bridge=switch-bridge tagged=sfp-sfpplus1 vlan-ids=100
/interface bridge vlan add bridge=switch-bridge tagged=sfp-sfpplus1,ether1 vlan-ids=200


Телефон зависает на поиске сети, конфигурацию TFTP и сетевые настройки не получает. Трафик на компьютер пропускает

Как починить?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
pred8or
@pred8or Автор вопроса
Решение получилось, причём достаточно простое.

Добавляем правило в /interface ethernet switch rule, которым устанавливаем трафику от телефона нужный vlan, и наводим порядок в других правилах:

/interface bridge add add-dhcp-option82=yes dhcp-snooping=yes igmp-snooping=yes name=switch-bridge vlan-filtering=yes
/interface bridge port add bridge=switch-bridge frame-types=admit-only-vlan-tagged ingress-filtering=yes interface=sfp-sfpplus1 trusted=yes
/interface bridge port add bridge=switch-bridge interface=ether1 pvid=100
/interface bridge vlan add bridge=switch-bridge tagged=sfp-sfpplus1 untagged=ether1 vlan-ids=100
/interface bridge vlan add bridge=switch-bridge tagged=sfp-sfpplus1 untagged=ether1 vlan-ids=200
/interface ethernet switch rule add new-vlan-id=200 ports=ether1 src-mac-address=50:67:AE:00:00:00/FF:FF:FF:00:00:00 switch=switch1


На телефонном аппарате убираем всё про vlan-ы, порт eth1 оставляем в режиме any (хотя можно будет попробовать ещё untagged) с PVID 100. В порт eth1 пускаем vlan 100 и 200 untagged. Добавляем правило что трафик, идущий с порта eth1 с MAC наших телефонов Cisco (по маске) насильственно маркировать тегом 200.

По умолчанию, в списке правил есть динамическое правило, которое заруливает трафик udp/67-68 на CPU. Так вот, если это правило оставлять первым, то телефон регистрируется в сети VLAN 100, что неправильно. А если переместить его вниз, то всё начинает работать как было задумано.

Дополнительным бонусом получившейся конструкции стало то что эти порты коммутатора теперь стало можно объявлять недоверенными, что улучшает управляемость.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hint000
@hint000
у админа три руки
Пока ясно, что DHCP перестаёт работать.
А DHCP-сервер на этом Микротике поднят?
И попробуйте для эксперимента убрать dhcp-snooping=yes
Также послушайте трафик, есть ли что-то с портами 68\udp, 67\udp.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы