Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Правило маршрутизации VS маршрутизация по метке Mangle

    Правило маршрутизации VS маршрутизация по метке Mangle

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Правило маршрутизации VS маршрутизация по метке Mangle, RouterOS
     
    vovan700i
    Guest
    #1
    0
    05.12.2023 13:39:00
    Привет! Согласно документации, для политики маршрутизации можно использовать любой из следующих методов или оба вместе:

    routing rule, например:
    /routing rule
    add action=lookup dst-address=9.9.9.9/32 src-address=192.168.2.0/24 table=vrf-wan2

    mangle mark routing, например:
    /ip firewall mangle
    add action=mark-routing chain=prerouting dst-address=9.9.9.9/32 new-routing-mark=vrf-wan2 src-address=192.168.2.0/24

    Из моего опыта, на версии v7.12.1 работают именно routing rules, а mangle rules — нет. При этом routing rules не принимают address lists и вообще предоставляют мало параметров для фильтрации трафика. Поэтому я хотел бы использовать mangle rules, но у меня не получается заставить их работать так же, как routing rules.

    Кто-нибудь знает, в чём реальное отличие между этими двумя методами? Может, я упускаю какие-то дополнительные возможности mangle rules, которые есть у routing rules «под капотом»?
     
     
     
    otgooneo
    Guest
    #2
    0
    19.07.2024 08:56:00
    Ребята, похоже, у вас отлично получилось с этим делом, и это полезно для таких, как я. Спасибо!
     
     
     
    millenium7
    Guest
    #3
    0
    12.08.2024 06:47:00
    Кто-нибудь знает, когда это исправили? В версии 7.15.3 работает, а в 7.12.1 и ниже — нет.
     
     
     
    Lokamaya
    Guest
    #4
    0
    15.11.2024 08:38:00
    Проверил несколько конфигураций, и есть несколько подходов для решения этой задачи, каждый со своими плюсами и минусами.  
    Полностью использовать Tables Rule.  
    Плюсы: просто, если работаешь с несколькими vlan/subnet, автоматически блокирует vlan/subnet, то есть они не могут пинговать друг друга и так далее.  
    Минусы: чем больше vlan, тем больше головной боли, и нужно продумывать, как сделать так, чтобы некоторые IP/subnet (например, локальный сервер) были доступны из других vlan/subnet.  

    Комбинировать Tables Rule с Mangle>Mark Routing.  
    Плюсы: более гибко, и если настроить правильно (с nat и ip>route), то не нужно беспокоиться о доступе между vlan/портами/subnet в одном мосте.  
    Минусы: насколько я понимаю, это потребляет больше ресурсов (CPU, память), но я точно не уверен.
     
     
     
    Lokamaya
    Guest
    #5
    0
    15.11.2024 09:15:00
    Вот как я подошёл к этому с помощью Mangle и Table Rule:

    /interface list  
    add name=WAN  
    add name=LAN  
    add name=MGMT  

    # WAN2, WAN3, WAN4 используют DHCP  
    /ip dhcp-client  
    # add interface=ether1-WAN1 use-peer-dns=no use-peer-ntp=no add-default-route=no  
    add interface=ether2-WAN2 use-peer-dns=no use-peer-ntp=no add-default-route=yes default-route-distance=12 comment=WAN2  
    add interface=ether3-WAN3 use-peer-dns=no use-peer-ntp=no add-default-route=yes default-route-distance=13 comment=WAN3  
    add interface=ether4-WAN4 use-peer-dns=no use-peer-ntp=no add-default-route=yes default-route-distance=14 comment=WAN4  

    # WAN1 использует PPPoE  
    /interface pppoe-client  
    add interface=ether1-WAN1 name=pppoe-WAN1 user=secretuser add-default-route=yes default-route-distance=11 comment=WAN1  

    # Добавляем все интернет-соединения в список WAN  
    /interface list member  
    add interface=pppoe-WAN1 list=WAN  
    add interface=ether2-WAN2 list=WAN  
    add interface=ether3-WAN3 list=WAN  
    add interface=ether4-WAN4 list=WAN  

    /ip firewall address-list  
    # локальная подсеть: нужна для Mangle  
    add address=192.168.0.0/16 list=local_subnet  
    add address=172.16.0.0/12 list=local_subnet  
    add address=10.0.0.0/8 list=local_subnet  
    # IP-адреса WAN1  
    add address=192.168.10.0/24 list=WAN1-conn  
    add address=192.168.11.0/24 list=WAN1-conn  
    add address=192.168.12.0/24 list=WAN1-conn  
    # IP-адрес WAN2  
    add address=192.168.20.0/24 list=WAN2-conn  
    # IP-адрес WAN3  
    add address=192.168.30.0/24 list=WAN3-conn  
    # IP-адрес WAN4  
    add address=192.168.40.0/24 list=WAN4-conn  
    add address=192.168.41.0/24 list=WAN4-conn  

    # VRF  
    /routing table  
    add disabled=no fib name=rtab-WAN1  
    add disabled=no fib name=rtab-WAN2  
    add disabled=no fib name=rtab-WAN3  
    add disabled=no fib name=rtab-WAN4  
    add disabled=no name=rtab-toBlackhole  

    # MANGLE  
    /ip firewall mangle  
    add action=mark-routing chain=prerouting dst-address-list=!local_subnet new-routing-mark=rtab-WAN1 passthrough=no src-address-list=WAN1-conn comment=WAN1  
    add action=mark-routing chain=prerouting dst-address-list=!local_subnet new-routing-mark=rtab-WAN2 passthrough=no src-address-list=WAN2-conn comment=WAN2  
    add action=mark-routing chain=prerouting dst-address-list=!local_subnet new-routing-mark=rtab-WAN3 passthrough=no src-address-list=WAN3-conn comment=WAN3  
    add action=mark-routing chain=prerouting dst-address-list=!local_subnet new-routing-mark=rtab-WAN4 passthrough=no src-address-list=WAN4-conn comment=WAN4  

    # NAT  
    /ip firewall nat  
    add action=masquerade chain=srcnat out-interface=pppoe-WAN1 routing-mark=rtab-WAN1 comment=WAN1  
    add action=masquerade chain=srcnat out-interface=ether2-WAN2 routing-mark=rtab-WAN2 comment=WAN2  
    add action=masquerade chain=srcnat out-interface=ether3-WAN3 routing-mark=rtab-WAN3 comment=WAN3  
    add action=masquerade chain=srcnat out-interface=ether4-WAN4 routing-mark=rtab-WAN4 comment=WAN4  
    add action=masquerade chain=srcnat out-interface-list=WAN comment=WAN-Fallback  

    # Создаём правила для ROUTING-MARK из Mangle  
    /routing rule  
    add action=lookup disabled=no routing-mark=rtab-WAN1 table=rtab-WAN1  
    add action=lookup disabled=no routing-mark=rtab-WAN2 table=rtab-WAN2  
    add action=lookup disabled=no routing-mark=rtab-WAN3 table=rtab-WAN3  
    add action=lookup disabled=no routing-mark=rtab-WAN4 table=rtab-WAN4  

    # Теперь время настроить IP>ROUTE  
    # WAN-Fallback: дистанция 11,12,13,14 динамически добавляется в конфигурации DHCP и PPPoE выше  
    /ip route  
    add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=pppoe-WAN1 routing-table=rtab-WAN1 scope=30 target-scope=10  
    add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ether2-WAN2 routing-table=rtab-WAN2 scope=30 target-scope=10  
    add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ether3-WAN3 routing-table=rtab-WAN3 scope=30 target-scope=10  
    add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ether4-WAN4 routing-table=rtab-WAN4 scope=30 target-scope=10  

    Обрати внимание на эту строку:  
    /ip firewall mangle add action=mark-routing chain=prerouting dst-address-list=!local_subnet new-routing-mark=rtab-WAN1  

    Она важна, когда мы хотим помечать только интернет-соединения. Локальные соединения при этом не затрагиваются правилами таблицы. Удачи!
     
     
     
    sas2k
    Guest
    #6
    0
    15.11.2024 09:42:00
    Проще всего просто добавить: dst-address-type=!local, local — уже определённое значение. Значит, нет необходимости управлять списком local_subnet.
     
     
     
    Lokamaya
    Guest
    #7
    0
    15.11.2024 09:51:00
    Я попробовал это на Router OS v7.16, но, похоже, всё работает не так, как я ожидал.
     
     
     
    CGGXANNX
    Guest
    #8
    0
    15.11.2024 10:23:00
    Нет! dst-address-type local — это не то, что вы думаете. В данном случае local означает все отдельные IP-адреса самого роутера, включая любые публичные WAN IP-адреса роутера. Подсети LAN-интерфейсов туда не входят!
     
     
     
    sas2k
    Guest
    #9
    0
    15.11.2024 10:57:00
    Могу ошибаться, давайте разберёмся. https://wiki.mikrotik.com/Manual:IP/Firewall/Mangle dst-address-type (unicast | local | broadcast | multicast; по умолчанию: ) local — если dst-address назначен одному из интерфейсов роутера. Так что, думаю, назначения IP к интерфейсу находятся здесь: IP -> Addresses. Полагаю, что все соответствия интерфейс-адрес входят в псевдоним «local». Так же, как и дефолтный мост defconf, например: /ip address add address=192.168.0.1/24 comment=defconf interface=bridge network=192.168.0.0 Обычно есть и другой defconf: /interface list member add comment=defconf interface=bridge list=LAN Я не прав?
     
     
     
    CGGXANNX
    Guest
    #10
    0
    15.11.2024 11:55:00
    В вашем примере dst-address-type=local совпадёт с 192.168.0.1 (этот один адрес /32), но не с 192.168.0.2, 192.168.0.3 и так далее… Значит, вы не можете использовать его вместо dst-address=192.168.0.0/24! Аналогично, dst-address-type=!local исключит 192.168.0.1, но с радостью совпадёт с 192.168.0.40, а это значит, что он не заменит dst-address=!192.168.0.1/24.

    С такой дефиницией local_subnet из поста @Lokamaya:
    /ip firewall address-list  
    #local subnet: нужен для Mangle  
    add address=192.168.0.0/16 list=local_subnet  
    add address=172.16.0.0/12 list=local_subnet  
    add address=10.0.0.0/8 list=local_subnet  

    dst-address-type=!local — это точно не замена dst-address-list=!local_subnet.

    Он заменил бы dst-address-list=!router_ips только если бы router_ips были определены, например, так:  
    /ip firewall address-list  
    add address=192.168.10.1/32 list=router_ips  
    add address=192.168.20.1/32 list=router_ips  
    add address=91.82.73.64/32 list=router_ips  

    где 91.82.73.64 — WAN IP адрес от провайдера, а 192.168.10.1/24 и 192.168.20.1/24 — IP-адреса, назначенные на двух интерфейсах роутера.
     
     
     
    Lokamaya
    Guest
    #11
    0
    15.11.2024 12:08:00
    Отличное замечание. Согласен.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры