Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Множественные отметки соединения

    Множественные отметки соединения

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Множественные отметки соединения, RouterOS
     
    bartmanxxi
    Guest
    #1
    0
    06.03.2012 19:13:00
    Возможно ли создать более одной метки соединения для конкретного соединения? Например, одну для управления трафиком, а другую для политики маршрутизации? Спасибо.
     
     
     
    lapsio
    Guest
    #2
    0
    07.07.2018 14:02:00
    Извиняюсь за повтор, но возможно ли сейчас сделать это как-то иначе? Маркировка маршрутизации не является состоянием (в отличие от маркировки соединений), поэтому, когда вы их перезаписываете, то либо теряете информацию PBR, либо информацию QoS для связанных пакетов. Существует ли какой-то другой способ добиться одновременно состояния для критериев маркировки маршрутизации И состояния для критериев QoS? Наивное решение — создать NxM маркировок соединений, где N — количество маркировок, связанных с PBR, а M — количество маркировок, связанных с QoS, но их число быстро вырастает до 100+ маркировок. Состояние маркировок маршрутизации необходимо, если PBR применяется к исходящему трафику (а не к пересылаемому). Например, если вы хотите, чтобы роутер отвечал на ping через тот же интерфейс, через который пришел запрос, независимо от IP-адреса источника.
     
     
     
    sindy
    Guest
    #3
    0
    07.07.2018 16:32:00
    ИЗМЕНЕНИЕ: прежде чем я закончил, @lapsio отредактировал свой пост, предложив то же самое, но менее подробно. Оставляю это здесь для ленивых.

    Одновременно можно назначить только одну метку соединения, поэтому назначение новой метки соединения означает перезапись (потерю) предыдущей. Чтобы использовать метки соединения для состояния и одновременно управлять метками маршрутизации для целей маршрутизации и метками пакетов для QoS, нужно использовать составные метки маршрутизации.

    Допустим, вам нужно назначить две разные метки маршрутизации и три разные метки пакетов для QoS, и все комбинации этих двух категорий возможны. Сначала вы используете один набор правил mangle с критериями маршрутизации, чтобы назначить промежуточные метки соединения — cm_r1 и cm_r2. Затем вы используете два похожих набора правил mangle, каждый из которых относится к одной из назначенных выше меток соединения и использует те же критерии для QoS, чтобы назначить окончательные составные метки соединения — cm_r1_q1, cm_r1_q2, cm_r1_q3, cm_r2_q1, cm_r2_q2, cm_r2_q3.

    Или можно использовать пользовательские цепочки для той же цели и назначать окончательные составные метки соединения сразу:

    /ip firewall mangle  
    ### цепочка=prerouting:  
    # пропустить назначение меток маршрутизации и пакетов, если пакет принадлежит уже помеченному соединению:  
    add chain=prerouting action=jump jump-target=assign-r-q-marks connection-mark=!no-mark  
    # сюда попадают только пакеты, принадлежащие ещё не помеченным соединениям, то есть начальные пакеты каждого соединения,  
    # потому что в chain=assign-r-q-marks всегда выносится окончательное решение, и управление оттуда не возвращается  

    add chain=prerouting action=jump jump-target=r1-conns ...критерии выбора политики маршрутизации #1 здесь...  
    # сюда должны попадать только начальные пакеты, соответствующие критериям политики маршрутизации #2  

    add chain=prerouting action=mark-connection new-connection-mark=cm_r2_q1 passthrough=yes ...критерии выбора QoS политики #1 здесь...  
    add chain=prerouting action=mark-connection new-connection-mark=cm_r2_q2 passthrough=yes connection-mark=no-mark ...критерии выбора QoS политики #2 здесь...  
    # сюда должны попадать только начальные пакеты, соответствующие критериям маршрутизации #2 и QoS политики #3  

    add chain=prerouting action=mark-connection new-connection-mark=cm_r2_q3 passthrough=yes connection-mark=no-mark  
    add chain=prerouting action=jump jump-target=assign-r-q-marks  

    ### цепочка=r1_conns:  
    add chain=r1_conns action=mark-connection new-connection-mark=cm_r1_q1 passthrough=yes ...критерии выбора QoS политики #1 здесь...  
    add chain=r1_conns action=mark-connection new-connection-mark=cm_r1_q2 passthrough=yes connection-mark=no-mark ...критерии выбора QoS политики #2 здесь...  
    # сюда должны попадать только начальные пакеты, соответствующие критериям маршрутизации #1 и QoS политики #3  

    add chain=r1_conns action=mark-connection new-connection-mark=cm_r1_q3 passthrough=yes connection-mark=no-mark  
    add chain=r1_conns action=jump jump-target=assign-r-q-marks  

    ### цепочка=assign-r-q-marks:  
    ### сначала назначаем метки маршрутизации:  
    add chain=assign-r-q-marks action=mark-routing new-routing-mark=r1 connection-mark=cm_r1_q1,cm_r1_q2,cm_r1_q3 passthrough=yes  
    add chain=assign-r-q-marks action=mark-routing new-routing-mark=r2 passthrough=yes  
    ### затем назначаем метки пакетов (QoS):  
    add chain=assign-r-q-marks action=mark-packet new-packet-mark=q1 connection-mark=cm_r1_q1,cm_r2_q1 passthrough=no  
    add chain=assign-r-q-marks action=mark-packet new-packet-mark=q2 connection-mark=cm_r1_q2,cm_r2_q2 passthrough=no  
    add chain=assign-r-q-marks action=mark-packet new-packet-mark=q3 passthrough=no
     
     
     
    lapsio
    Guest
    #4
    0
    07.07.2018 17:06:00
    Хмм, интересно, можно ли это оформить в виде шаблона. То есть создать метки для QoS, метки для маршрутизации и сделать скрипт, который будет дублировать заданную цепочку M раз, вычислять и заменять новые метки для каждой метки маршрутизации. И то же самое для очередей QoS. Я понимаю, что это возможно, но никто не найдет времени писать такой скрипт, потому что это займет минимум два дня XD. К тому же, думаю, что наличие примерно 2 тысяч правил в mangle может сильно повлиять на производительность.
     
     
     
    sindy
    Guest
    #5
    0
    07.07.2018 17:16:00
    Какой тип данных ты ожидаешь на входе у скрипта генерации? Написать такой скрипт — дело двух часов, но потом придётся потратить оставшиеся 46 часов на его отладку. Что ты имеешь в виду, говоря о том, чтобы сделать то же самое для QoS-очередей — создать отдельную копию дерева очередей для каждого WAN? А что если у WAN-разных разные пропускные способности? Правила mangle в количестве 2 тысяч — это не так уж и плохо, ведь каждый пакет проходит только небольшой их набор.
     
     
     
    lapsio
    Guest
    #6
    0
    07.07.2018 18:12:00
    Я имею в виду, например, для таких правил:  
    chain=prerouting action=jump jump-target=routemark connection-mark=no-mark  
    chain=routemark action=mark-connection new-connection-mark=mgmt in-interface=br-mgmt  
    chain=routemark action=mark-connection new-connection-mark=srv dst-address-list=networkSERVICE  
    ...

    chain=prerouting action=jump jump-target=qosmark connection-mark=no-mark  
    chain=qosmark action=mark-connection new-connection-mark=www protocol=tcp dst-port=80,443  
    chain=qosmark action=mark-connection new-connection-mark=ssh protocol=tcp dst-port=22  
    ... Ты бы передал параметр 1=qosmark, 2=mgmt,srv, и скрипт создал бы правила:  
    chain=prerouting action=jump jump-target=qosmark-mgmt connection-mark=mgmt  
    chain=qosmark-mgmt action=mark-connection new-connection-mark=mgmt-www protocol=tcp dst-port=80,443  
    chain=qosmark-mgmt action=mark-connection new-connection-mark=mgmt-ssh protocol=tcp dst-port=22  
    ...

    chain=prerouting action=jump jump-target=qosmark-srv connection-mark=srv  
    chain=qosmark-srv action=mark-connection new-connection-mark=srv-www protocol=tcp dst-port=80,443  
    chain=qosmark-srv action=mark-connection new-connection-mark=srv-ssh protocol=tcp dst-port=22  
    ... и так далее, по одной копии для каждой метки маршрутизации, переданной как параметр.  

    Было бы классно, если бы скрипт ещё умел искать все записи QueueTree с connection-marks из цепочки qosmark и тоже создавал N наборов с mgmt-* и srv-* вместо этого. Не кажется, что это что-то суперсложное, но, да, времени потребует. Я считаю, что язык скриптов ROS не особенно силён в манипуляциях и сравнении строк. Надеюсь, я достаточно понятно объяснил, что имею в виду под механикой скрипта xD Думаю, это будет симметрично. То есть, если дать ему цепочку routemark и www, ssh, он, вероятно, способен сделать это без изменений, потому что логика операции кажется той же самой.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры