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

    Помогите с Mangle для QoS.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Помогите с Mangle для QoS., RouterOS
     
    Beccara
    Guest
    #1
    0
    08.01.2006 07:37:00
    Привет всем, я настраиваю QOS на нашем edge-роутере и пытаюсь добиться следующего. С помощью mangle я хочу помечать подключения и пакеты для следующих категорий: DNS, HTTP/HTTPS, email, всё остальное, P2P, а затем помещать эти помеченные пакеты в очередь со следующими приоритетами: DNS = 1, HTTP/HTTPS = 2, email = 2, всё остальное = 7, P2P = 8.

    Проблема в том, что как только я добавляю правило mangle для всего, что не выбирается другими правилами, оно начинает выбирать всё, включая пакеты и подключения, которые должны быть под другими правилами. Вот мой список mangle:

    [admin@Edge] > ip firewall mangle print
    Flags: X - disabled, I - invalid, D - dynamic
    0   chain=prerouting protocol=tcp dst-port=53 action=mark-connection new-connection-mark=dns-con passthrough=yes
    1   chain=prerouting protocol=udp dst-port=53 action=mark-connection new-connection-mark=dns-con passthrough=yes
    2   chain=prerouting protocol=tcp dst-port=80 action=mark-connection new-connection-mark=http-con passthrough=yes
    3   chain=prerouting protocol=tcp dst-port=443 action=mark-connection new-connection-mark=http-con passthrough=yes
    4   chain=prerouting protocol=tcp dst-port=110 action=mark-connection new-connection-mark=email-con passthrough=yes
    5   chain=prerouting protocol=tcp dst-port=25 action=mark-connection new-connection-mark=email-con passthrough=yes
    6   chain=prerouting p2p=all-p2p action=mark-connection new-connection-mark=p2p-con passthrough=yes
    7   chain=prerouting p2p=!all-p2p action=mark-connection new-connection-mark=everything-con passthrough=yes
    8   chain=prerouting connection-mark=dns-con action=mark-packet new-packet-mark=dns passthrough=yes
    9   chain=prerouting connection-mark=http-con action=mark-packet new-packet-mark=http passthrough=yes
    10   chain=prerouting connection-mark=email-con action=mark-packet new-packet-mark=email passthrough=yes
    11   chain=prerouting connection-mark=everything-con action=mark-packet new-packet-mark=everything passthrough=yes
    12   chain=prerouting connection-mark=p2p action=mark-packet new-packet-mark=p2p passthrough=yes

    Кто-нибудь знает, как пометить подключения и трафик, который не выбирается другими правилами?
    Cheers
     
     
     
    yancho
    Guest
    #2
    0
    17.01.2006 09:58:00
    Добавь цепочку=prerouting p2p=all-p2p action=mark-connection new-connection-mark=p2p-con passthrough=yes
    Добавь цепочку=prerouting connection-mark=p2p action=mark-packet new-packet-mark=p2p passthrough=no (все p2p)
    Добавь цепочку=prerouting protocol=tcp dst-port=53 action=mark-connection new-connection-mark=dns-con passthrough=yes
    Добавь цепочку=prerouting protocol=udp dst-port=53 action=mark-connection new-connection-mark=dns-con passthrough=yes
    Добавь цепочку=prerouting connection-mark=dns-con action=mark-packet new-packet-mark=dns passthrough=no (dns)
    Добавь цепочку=prerouting protocol=tcp dst-port=80 action=mark-connection new-connection-mark=http-con passthrough=yes
    Добавь цепочку=prerouting protocol=tcp dst-port=443 action=mark-connection new-connection-mark=http-con passthrough=yes
    Добавь цепочку=prerouting connection-mark=http-con action=mark-packet new-packet-mark=http passthrough=no(http, может, стоит добавить порт 8080 тоже)
    Добавь цепочку=prerouting protocol=tcp dst-port=110 action=mark-connection new-connection-mark=email-con passthrough=yes
    Добавь цепочку=prerouting protocol=tcp dst-port=25 action=mark-connection new-connection-mark=email-con passthrough=yes
    Добавь цепочку=prerouting connection-mark=email-con action=mark-packet new-packet-mark=email passthrough=no (POP3S (secure) использует порт 995, IMAP - 143, IMAPS - 993)
    Цепочка=prerouting action=mark-connection new-connection-mark=everything-con passthrough=yes
    Цепочка=prerouting connection-mark=everything-con action=mark-packet new-packet-mark=everything passthrough=yes (это должно отметить все остальное)
     
     
     
    Beccara
    Guest
    #3
    0
    17.01.2006 11:23:00
    Хм, попробовал я этот "без проброса" — ну, как только пакет был помечен, он просто игнорировал правила со стороны соединения с меткой. Есть какие-нибудь идеи?
     
     
     
    raenius
    Guest
    #4
    0
    17.01.2006 06:59:00
    Ты уже разобрался с этим? Я тоже пытаюсь сделать что-то похожее.
     
     
     
    joeri91942
    Guest
    #5
    0
    18.01.2006 07:42:00
    Эмм… passthrough=no – вот правильный путь, вот части моей конфигурации (я удалил строки и конфигурационные утверждения, чтобы привести её к читабельному размеру):

    /ip fire mang exp add chain=prerouting dst-address=192.168.2.40 protocol=tcp dst-port=5061 action=mark-connection new-connection-mark=voip-con passthrough=yes disabled=no
    add chain=prerouting dst-address=192.168.2.40 protocol=udp dst-port=5061 action=mark-connection new-connection-mark=voip-con passthrough=yes disabled=no
    add chain=prerouting dst-address=192.168.2.40 protocol=tcp dst-port=19000-20000 action=mark-connection new-connection-mark=voip-con passthrough=yes comment=“” disabled=no
    add chain=prerouting dst-address=192.168.2.40 protocol=udp dst-port=19000-20000 action=mark-connection new-connection-mark=voip-con passthrough=yes comment=“” disabled=no
    add chain=prerouting connection-mark=voip-con action=mark-packet new-packet-mark=voip passthrough=no comment=“” disabled=no
    add chain=prerouting action=mark-packet new-packet-mark=slask passthrough=yes comment=“” disabled=no
    add chain=prerouting dst-address=10.11.2.77 action=mark-packet new-packet-mark=slask passthrough=yes comment=“” disabled=no
    add chain=prerouting src-address=10.11.2.77 action=mark-packet new-packet-mark=slask passthrough=yes comment=“” disabled=no

    / queue tree add name=“1 VOIP Prio” parent=global-total packet-mark=voip priority=1 disabled=no
    add name=“3 Sat” parent=global-in packet-mark=sat priority=3 disabled=no
    add name=“8 Slask” parent=global-total packet-mark=slask priority=8 disabled=no

    /que tre pr st Flags: X - disabled, I - invalid
    0   name=“1 VOIP Prio” parent=global-total packet-mark=voip limit-at=0 rate=1048 packet-rate=0 queued-bytes=0 queued-packets=0 bytes=2479767116 packets=11798027 dropped=0 overlimits=0 lends=364140 borrows=11433887
    1   name=“8 Slask” parent=global-total packet-mark=slask limit-at=0 rate=43008 packet-rate=55 queued-bytes=0 queued-packets=0 bytes=98575037754 packets=123904091 dropped=21 overlimits=0 lends=1146578 borrows=122757433
    2   name=“3 Sat” parent=global-in packet-mark=sat limit-at=0 rate=352 packet-rate=0 queued-bytes=0 queued-packets=0 bytes=6736306442 packets=62360095 dropped=0 overlimits=0 lends=786613 borrows=61573482

    Как видите, она явно использует правильную очередь для помеченной трафик. /Jörgen
     
     
     
    Beccara
    Guest
    #6
    0
    19.01.2006 02:38:00
    Огромное-преогромное спасибо за это, очень помогло — теперь вижу, что порядок моих правил был неправильный.
     
     
     
    joeri91942
    Guest
    #7
    0
    19.01.2006 07:26:00
    Пожалуйста, рад, что смог помочь! /Jörgen
     
     
     
    conchalnet
    Guest
    #8
    0
    19.01.2006 11:23:00
    joeri91942 Что делает passthrough? Хочу добавить QoS на свой bridge… придется ли менять prerouting в цепочке foward? Спасибо, Fabrício.
     
     
     
    Charlie_Whiskey
    Guest
    #9
    0
    19.01.2006 12:53:00
    Руководство говорит: «passthrough - игнорируйте это правило и переходите к следующему. Работает так же, как отключенное правило, за исключением возможности подсчета пакетов».
     
     
     
    joeri91942
    Guest
    #10
    0
    19.01.2006 12:54:00
    Мое понимание passthrough таково: все пакеты проходят через каждую цепочку, начиная с первого правила и продолжая к следующему, ЕСЛИ пакет не совпадает с правилом И опция passthrough установлена в "no". Если опция установлена в "no", то пакет выталкивается из цепочки, в которой он находился, и передается на следующий этап обработки пакета. Это означает, что если вы не используете passthrough=no, то все последующие правила что-то сделают с пакетом, если он соответствует критериям любого последующего правила – это очень плохо, если у вас есть конечное правило, которое отбрасывает все или что-то подобное.

    Итак… если вы хотите иметь набор правил для обработки трех типов трафика: high-prio - medium prio - low prio, то вам нужно сделать это в следующем порядке (это основано на моей настройке с masq для всего исходящего трафика и dst-nat для всего входящего, без бриджинга):

    1 - Пометить соединения high-prio на основе src IP / dst IP / интерфейс / порт / что угодно, опция passthrough=yes, чтобы они дошли до следующего правила.
    2 - Пометить все пакеты, имеющие метку соединения high-prio, меткой пакета high-prio, опция passthrough=no. Это выталкивает все пакеты с меткой соединения high-prio. Любые пакеты, пришедшие сюда, НЕ соответствовали вышеуказанным правилам.
    3 - Пометить соединения medium-prio на основе src IP / dst IP / интерфейс / порт / что угодно, опция passthrough=yes, чтобы они дошли до следующего правила.
    4 - Пометить все пакеты, имеющие метку соединения medium-prio, меткой пакета medium-prio, опция passthrough=no. Это выталкивает все пакеты с меткой соединения medium-prio. Любые пакеты, пришедшие на этот этап, не соответствовали НИ ОДНОМУ из вышеуказанных правил.
    5 - Пометить все пакеты с меткой пакета low-prio (последнее и финальное правило, здесь нет необходимости в passthrough, и все, что сюда приходит, имеет наивысший приоритет, поэтому помечайте все).

    Далее, создайте три правила в дереве очередей:

    1 - packet mark high-prio / приоритет 1
    2 - packet mark medium-prio / приоритет 4
    3 - packet mark low-prio / приоритет 8

    Конечно, можно использовать приоритеты 1, 2, 3, но это оставляет место для добавления дополнительных уровней.

    Для бриджинга я пока не совсем уверен, какую цепочку использовать… но запустите Winbox, разместите все соответствующие окна счетчиков, чтобы вы их видели, и попробуйте, меняйте здесь и там правило и смотрите, сколько пакетов подсчитывается в каждом правиле mangle (Winbox / IP / Firewall / Mangle).

    Надеюсь, это поможет. /Jörgen
     
     
     
    joeri91942
    Guest
    #11
    0
    19.01.2006 12:58:00
    Да… однако, если посмотреть подробное объяснение в руководстве, там указано следующее: passthrough (yes | no; default: yes) — разрешать ли пакету проходить дальше (как passthrough действия) после его пометки определённой меткой (свойство применимо только если действие — пометка пакета, соединение или маршрутная метка). Так что короткое и развёрнутое объяснение как-то не совсем совпадают. /Jörgen
     
     
     
    conchalnet
    Guest
    #12
    0
    19.01.2006 13:03:00
    Спасибо, Йорген! Твое объяснение было отличным…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры