@Ign0r

Проблемы при маршрутизации коммутаторов Mikrotik с имеющейся инфраструктурой. Где ошибка?

Ранее не имел дел с железом от Mikrotik, поэтому не всегда понимаю их логику реализации функционала. Задача стояла в организации автономной подсети для SIP-телефонии с выходом в город через BRI (E1) с обеспечением отказоустойчивости "на оптимальном уровне" (читай - "бюджетно"). Были приобретены два коммутатора Mikrotik CRS354-48P-4S+2Q+, две станции Yeastar P570 + FXO/FXS шлюзы и гигабитные модели IP-аппаратов Yealink. В процессе внедрения возникло желание сэкономить на портах коммутации и ряд рабочих мест завести через телефоны. Как следствие - потребовалось связать с имеющейся инфраструктурой. Для наглядности накидал схему соединения...
66f1702166a04534164405.png
В верхней половине - то, что было до внедрения. В нижней - всё что добавилось. Синим цветом - обозначены порты, красным - весовые коэфициенты коммутаторов и портов для вычисления маршрутов.

Была идея задействовать возможность маршрутизации в Mikrotik'ах для локализации SIP-трафика на уровне switch-6 и switch-7, а в аплинк гнать только трафик рабочих ПК и служебный (NTP, DNS, DHCP и т.п.)
UPDATE: MLAG и LACP пока не делал. Нарисовано чисто "для проработки вопроса"

Конфигурирование на примере switch-6:
# Отключение ненужного
/interface ethernet
set [ find default-name=ether1 ] poe-out=off
...
set [ find default-name=ether8 ] poe-out=off
set [ find default-name=ether47 ] l2mtu=10218 poe-out=off
set [ find default-name=ether48 ] l2mtu=10218 poe-out=off
set [ find default-name=qsfpplus1-1 ] disabled=yes
...
set [ find default-name=qsfpplus1-4 ] disabled=yes
set [ find default-name=qsfpplus2-1 ] disabled=yes
...
set [ find default-name=qsfpplus2-4 ] disabled=yes
set [ find default-name=sfp-sfpplus1 ] disabled=yes
...
set [ find default-name=sfp-sfpplus4 ] disabled=yes

# Создание списков группировки портов
/interface list
add comment="contains uplink interfaces" name=uplink
add comment="contains all pbx and sip-gate interfaces" name=sip-core
add comment="contains workplaces interfaces" name=workplace

/interface list member
add interface=ether1 list=uplink
add interface=ether2 list=uplink
add interface=ether3 list=sip-core
...
add interface=ether8 list=sip-core
add interface=ether9 list=workplace
...
add interface=ether46 list=workplace

# Создание бриджа и добавление интерфейсов
/interface bridge
add name=br0 admin-mac=48:A9:8A:D3:78:0D auto-mac=no add-dhcp-option82=yes dhcp-snooping=yes igmp-snooping=yes frame-types=admit-only-untagged-and-priority-tagged vlan-filtering=yes

/interface bonding
add name=bond1 slaves=ether47,ether48 mode=802.3ad transmit-hash-policy=layer-2-and-3

/interface bridge port
add bridge=br0 interface=uplink trusted=yes
add bridge=br0 interface=sip-core bpdu-guard=yes frame-types=admit-only-untagged-and-priority-tagged pvid=20
add bridge=br0 interface=workplace bpdu-guard=yes
add bridge=br0 interface=bond1 frame-types=admit-only-vlan-tagged

# Создание VLAN и добавление портов
/interface vlan
add comment=voip interface=br0 name=br0.20 vlan-id=20
add comment=mgmt interface=br0 name=br0.50 vlan-id=50

/interface bridge vlan
add bridge=br0 tagged=br0,bond1 vlan-ids=20
add bridge=br0 tagged=br0,ether1,ether2,bond1 vlan-ids=50

# Присвоение адресов
/ip address
add address=192.168.1.6/24 interface=br0 network=192.168.1.0
add address=192.168.20.2/24 interface=br0.20 network=192.168.20.0
add address=192.168.50.6/24 interface=br0.50 network=192.168.50.0

# Добавление статических маршрутов
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-table=main scope=30 suppress-hw-offload=no target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.8 routing-table=main scope=30 suppress-hw-offload=no target-scope=10

# Определение правил фильтрации
/ip firewall filter
add action=reject chain=input comment="IP-spoofing protection" connection-state=new protocol=tcp reject-with=tcp-reset tcp-flags=syn,ack
add action=accept chain=input comment="Accept packets in state Established or Related" connection-state=established,related,untracked
add action=accept chain=forward comment="Accept packets in state Established or Related" connection-state=established,related,untracked
add action=drop chain=input comment="Drop packets in state Invalid" connection-state=invalid
add action=drop chain=forward comment="Drop packets in state Invalid" connection-state=invalid
add action=accept chain=input comment="ICMP - Destination unreachable (fragmentation required)" icmp-options=3:4 protocol=icmp
add action=accept chain=input comment="ICMP - Echo request" icmp-options=8:0-255 protocol=icmp
add action=accept chain=input comment="ICMP - Time exceeded" icmp-options=11:0-255 protocol=icmp
add action=drop chain=input comment="Drop all" disabled=yes
add action=drop chain=forward comment="Drop all" disabled=yes

При проверке доступности вторго коммутатора имеем следующую картину:66f1742d10099708052456.png
Не понимаю куда убегают пакеты? Может на ситуацию влиять L3 Hw Offloading свитча или Hardware offloading интерфейсов?
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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