Четверг
21.09.2017, 20:45
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Разное [15]
Документация [18]
Авторские статьи [45]

Поиск

Свежие статьи
Динамическое деление скоро...
port knocking на mikrotik
Установка NGINX без прав R...
Как настроить время (NTP S...
Настраеваем CROND
Биллинг MikBill на UBUNTU
Даунгрейд PHP до версии 5....
Устанавливаем в Ubuntu 10....
Как настроить MySQL
Как настроить ZendOptimize...

Форма входа
Логин:
Пароль:

Главная » Статьи » Документация

Mangle
Mangle
Спецификации
Требуемые пакеты: system
Требуемый уровень лицензии: Level1
Уровень подменю: /ip firewall mangle
Стандарты и технологии: IP
Аппаратное обеспечение: Зависит от количества правил mangle
Mangle
Уровень подменю: /ip firewall mangle
Описание
Mangle это как бы "маркер" который маркирует паке ты специальными марками для
дальнейшей обработки. Многие другие средства в RouterOS используют эти марки,
например такие как деревья очередей и NAT. Они идентифицируют пакеты по их маркам
и соответственно обрабатывая их. Марки mangle используются только мар шрутизатором,
они не передаются по сети.
Описание свойств
action (accept | add-dst-to-address-list | add-src-to-address-list | change-dscp | change-mss |
change-ttl | jump | log | mark-connection | mark-packet | mark-routing | passthrough | return | set -
priority | strip-ipv4-options; по умолчанию: accept) - предпринимаемое действие, если пакет
соответствует правилу
accept - принять пакет. Ничего не делать, т.е. пакет проследует через
маршрутизатор и не одно правило не будет применятся к нему .
add-dst-to-address-list - добавить адрес назначения IP пакета в список адресов
определенный параметром address-list
add-src-to-address-list - добавить адрес источника IP пакета в список адресов
определенный параметром address-list
change-dscp - изменение дифференцированной служебной кодовой точки(DSCP)
значение поля определяющее параметр new-dscp
change-mss - изменение максимального размера сегмента пакета на значение
определенное параметром new-mss
change-ttl - изменение параметра время жизни пакета на значение определенное
параметром new-ttl
jump - переход в цепочку определенную значением параметра jump-target
log - каждое соответствие этому действию будет добавлять сообщение в системный
журна
mark-connection - маркировка, определенная параметром new-connection на всем
соединении которое соответствует правилу
mark-packet маркировка, определенная параметром new-packet-mark на пакете,
который соответствует правилу
mark-routing маркировка пакета определенная параметр ом new-routing-mark.
Этот вид маркировки используется только для политики маршрутизации.
passthrough - игнорировать это правило и перейти к следующему
return - вернуть контроль назад в правило, из которого был осуществлен переход
set-priority - установить приоритет, определенный параметром new-priority на
пакеты, посылаемые наружу через соединение, которое способно транспортировать
приоритет(VLAN или WMM -enabled беспроводной интерфейс)
strip-ipv4-options - отделение IPv4 опций полей от IP пакета
address-list(name) - имя списка адресов в котором собранны IP адреса из правила
действиями action=add-dst-to-address или action=add-src-to-address-list. Этот список
адресов должен быть создан ранее.
address-list-timeout(time; по умолчанию: 00:00:00) - интервал, по истечении которого
адрес будет удален из списка адресов определенного параметром address-list.
Используется в совокупности с дествием add-dst-to-address-list или add-src-to-address-
list
00:00:00 - удалить адрес из списка навсегда
chain (forward | input | output | postrouting | prerouting) - цепочка для добавления в нее
определенного правила. Так как определенный трафик идет через определенные цепочки,
будьте осторожны в выборе цепочки для нового правила. Даже если правило не имеет
смысла или оно уже было созда но ранее оно все равно будет создано
comment(text) свободная форма текстового комментария для правила. Комментарий
может быть использован для обращение к сценарию.
connection-bytes(integer-integer) - соответствие пакетов только если определенное кол-во
байт было передано через определенное соединение
0 - бесконечное применение, например: connection-bytes=2000000-0 соответсвует
правилу если более чем 2Мб было передано через маршрутизатор в выбранном
соединении
connection-limit(integer, netmask) - ограничивать соединение лимитирование производить
по адресу или заблокировать адрес
connection-mark(name) - соответствие пакетов промаркированных средством mangle
определенному промаркированному соединению
connection-state (estabilished | invalid | new | related) - отслеживание состояния соединения
established - пакет принадлежит установленному соединению, например пакет
ответа или пакет который уже принадлежит установленному соединению
invalid - пакет который не может быть идентифици рован по некоторым причинам.
Это может происходить при нехватке памяти и ICMP ошибках, которые не
принадлежат другим известным соединениям. Это главный критерий для сброса
пакета
new - первый пакет в соединении
related - пакет связанный с существующим соед инением, но не являющейся частью
этого соединения, например как ICMP ошибки или пакет который начинает FTP
передачу(последнее требует включения трассировщика FTP соединения при
помощи /ip firewall service-port)
connection-type (ftp | gre | h323 | irc | mms | pptp | quake3 | tftp) - информация о соответствии
пакетов из связанных соединений, полученных из их вспомогательных трассировщиков
соединений. Трассировщики должны быть включены в /ip firewall service-port
content(text) - текст который должны содержат ь пакеты для соответствия правилу.
dscp (integer: 0..63) - DSCP (ex-ToS) - значение полей заголовка IP пакета
dst-address (IP address/netmask | IP address -IP address) - определенный диапазон адресов
которым может быть предназначен IP пакет. Примечание конс оль конвертирует ввод
значения address/netmask в валидный адрес т.е 1.1.1.1/24 будет конвертирован в 1.1.1.0/24
dst-address-list(name) - соответствие адресу назначения пакета определенному
пользователем в списке адресов.
dst-address-type (unicast | local | broadcast | multicast) - соответствие адреса назначения IP
пакета одному из типов:
unicast - IP адреса для передачи типа точка точка. В данном случае существует
только один отправитель и один получатель
local - соответствие адресам присвоеных интерфейс ам маршрутизатора
broadcast - IP пакет посланый от одной точки к другим точкам IP подсети
multicast - данный тип IP адресации предназначен для передачи от одной или более
точек к другим точкам
dst-limit (integer/time{0,1},integer,dst -address | dst-port | src-address{+},time{0,1}) -
ограничение кол-ва пакетов в секунду идущих на IP адрес назначения или порт
назначения. Как противоположность лимитирования пакетов, каждый адрес назначения /
порт назначения использует это лимитирование. Опции перечислены ниже(в порядке
появления):
count - максимальное среднее значения нормирования, ограничивает к ол-во
пакетов в секунду(pps), если не сопровождается опцией time
time - определенный временной интервал через который будет происходить
нормирование пакетов.
burst - кол-во пакетов соответствующих взрыву
mode - классификатор для лимитирования пакетов
expire - определенный интервал по истечении которого записанный IP адрес / порт
будут удалены
dst-port - (integer: 0..65535-integer: 0..65535{*}) - порт или диапазон портов назначения
fragment (yes | no) - является ли пакет фрагментом IP пакета. Стартовый пакет(т.е первый
фрагмент) не считается. Примечание если включен трассировщик соединений,
фрагментирования происходить не б удет так как система автоматически соберет каждый
пакет
hotspot (multiple choice: auth | from -client | http | local-dst | to-client) - соответствие пакетов
полученных от клиента условия HotSpot.
auth - правда, если пакет пришел от аутентифицированного HotSpot клиента
from-client - правда, если пакет пришел от любого другого HotSpot клиента
http - правда, если HotSpot клиент посылает пакет на адрес и порт определенный
для proxy сервера (Universal Proxy t echnique) или если порт назначения 80 и
включено прозрачное проксирование для данного клиента
local-dst - правда, если пакет имеет локальный IP адрес назначения
to-client правда, если пакет посылается клиенту
icmp-options (integer.integer) - соответствие ICMP типа: кодовым полям
in-bridge-port (name) - актуальный интерфейс на который заходит пакет следующий через
маршрутизатор(если бридж,то это свойство соответствует актуальному порту бриджа,
пока in-interface является бриджом) соответственно.
in-interface (name) - интерфейс на который заходит пакет следующий через
маршрутизатор(если интерфейс забриджован, то пакет будет определятся как пришедший
с интерфейса бридж)
ingress-priority (integer: 0..63) - INGRESS(полученный) приоритет пакета, если
установлен(0 в другом случае). Приоритет может быть получен также от VLAN или
WMM
ipv4-options (any | loose-source-routing | no-record-route | no-router-alert | no-source-routing |
no-timestamp | none | record-route | router-alert | strict-source-routing | timestamp) -
соответствие заголовка опции ipv4
any - соответствие по крайней мере одной опции ipv4
loose-source-routing - соответствие пакетов опции свободный источник
маршрутизации. Эта опция используется для маршрутизации дэйтаграм и
базируется на информации поставляемой источником
no-record-route - соответствие пакетов опции нет записи маршрута. Эта опция
используется для марщрутизации дэйтаграм и базируется на информации
поставляемой источником
no-router-alert - соответствие пакетов опции нет сообщения трево ги от
маршрутизатора
no-source-routing - соответствие пакетов опции нет источника маршрутизации
no-timestamp - соответствие пакетов опции timestamp
record-route - соответствие пакетов опции запись маршрута
router-alert - соответствие пакетов опции сообщени е тревоги от маршрутизатора
strict-source-routing - соответствие пакетов опции строгая маршрутизация
источника
timestamp - соответствие пакетов timestamp
jump-target (forward | input | output | postrouting | prerouting name) - название целевой
цепочки для перехода в неё, если action=jump используется
layer7-protocol (name) - Layer 7 название фильтра установленного в /ip firewall layer7-
protocol меню. Предостережение: при использовании необходима большая
вычислительная мощность
limit (integer/time{0,1},integer) - ограничить пакет согласно взятому лимиту. Используется
для уменьшения кол-ва записей в системном журнале.
count максимальное среднее нормирование пакета, ограничивает к ол-во пакетов в
секунду(pps), если сопровождается опцией time
time - определенный временной интервал по истечении, которого будет
происходить ограничение пакета
burst - к-во пакетов соответствующих взрыву
log-prefix (text) - определение нового значения маркированного соединения которое будет
использоваться в паре с action=mark-connection
new-dscp (integer: 0..63) - определение нового значения поля DSCP которое будет
использоваться в паре с action=change-dscp
new-mss (integer) - определение значения MSS которое будет использоваться в паре с
action=change-mss
new-packet-mark(name) - определение нового значения маркировки пакета которое будет
использоваться в паре сaction-mark-packet
new-priority (integer) - определение нового значения приритета пакета для включения
приоритета интерфейса, используется в паре с action=set-priority
from-dscp - установить приоритет пакета взятого из значения его поля DSCP
from-ingress - установить приоритет пакета взятого из INGRESS(в случае если
пакет был получен от интерфейса который поддерживает свойства VLAN или
WMM - включенный на радиоинерфейсе; 0 если не установлено)
new-routing-mark (name) - определение нового значения маркировки маршрута
используется в паре с action=mark-routing
new-ttl (decrement | increment | set:integer) - определение нового значения поля TTL
используется в паре с action=change-ttl
decrement - значение поля TTL будет декрементировано на указанное значение
increment - значение поля TTL будет инкре ментировано на указанное значение
set: значение поля TTL будет установлено в указанное значение
nth (integer,integer: 0..15,integer{0,1}) - соответствие пакету определенному Nth
полученному из правила. Для подсчета пакетов может быть использован один из 16
доступных счетчиков
every - соответствие каждому+1 пакету. Для примера, если каждый+1 тогда
правилу соответствует каждый второй пакет
counter определение используемого счетчика. Счетчик инкрементируется каждый
раз когда в правиле содержится соответствие nth
packet соответствие конкретно взятому(по номеру) пакету. Значение
соответственно должно находиться между 0 и every
Если эта опция включена для определенного счетчика, тогда должно быть, по
крайней мере, одно every+1 правило соответствующее этой опции покрывающее
все значения между 0 и every включительно.
out-bridge-port(name) - актуальный интерфейс через который транзитный пакет покидает
маршрутизатор(если это бридж, то это свойство соответствует актуальному порту бриджа,
до тех пор пока out-interface является бриджом)
out-interface (name) - интерфейс через который транзитный пакет покидает
маршрутизатор(если это бридж, то пакет будет является пакетом проходящим через
бридж соответственно)
p2p (all-p2p | bit-torrent | direct-connect | edonkey | fasttrack | gnutella | soulseek | warez |
winmx) - соответствие пакетов соединениям принадлежащим одному из перечисленных
протоколов P2P
packet-mark (name) - соответствие пакетов маркам проставленным средствами mangle
packet-mark
packet-size (integer: 0..65535-integer: 0..65535{0,1})-соответствие пакета определенному
размеру или диапазону указанному в байтах
min - определяет нижнюю границу диапазона
max - определяет верхнюю границу диапазона
passthrough (yes | no; по умолчанию: yes) - разрешено ли пакету следовать далее после
маркировки данной марки(свойство действительно только если действие маркирует пакет,
соединение или маршрут)
port (port{0-16}) - соответствует если другой(источник или назначение) порт
соответствует определенному в списку портов или диапазону портов(примечание при
этом должен быть выбран протокол, также как и при использовании соответстви й src-port
и dst-port)
protocol (ddp | egp | encap | ggp | gre | hmp | icmp | idrp -cmtp | igmp | ipencap | ipip | ipsec -ah |
ipsec-esp | iso-tp4 | ospf | pup | rdp | rspf | st | tcp | udp | vmtp | xns -idp | xtp | integer) -
соответствие спецефичному проток олу определяемому по имени или по номеру. При
использовании портов вам необходимо определять специфичный протокол.
psd (integer,time,integer,integer) - попытка определения TCP и UDP сканеров. Это свойство
применяется для присвоения более низкой значимости портам с высокими номерами, для
уменьшения частоты негативных обращений, как например при пассивной FTP передачи
WeightThreshold - общий объем последних TCP/UDP пакетов с
непривилегированными портами назначения пришедшими от некоторого хоста и
определенный как последовательный сканер портов
DelayThreshold - задержка пакетов с непривилегированными портами назначения
пришедшими от некоторого хоста и определенный как возможный
подпоследовательный сканер портов
LowPortWeight - объем пакетов с привилегированными (ниже 1024) портами
назначения
HighPortWeight - объем пакетов с непривилегированными портами назначения
random (integer: 1..99) - соответствие пакета взятого наугад
routing-mark (name) - соответствие пакетов промарки рованных определенной маркой
маршрута
src-address (IP address/netmask | IP address -IP address) - диапазон адресов, от которых
пришел IP пакет. Примечание консоль конвертирует ввод значение address/netmask в
действительный адрес т.е 1.1.1..1/24 конвертируется в 1.1.1.0/24
src-address-list (name) - соответствие адреса источника пакета значению определенному в
списке адресов
src-address-type (unicast | local | broadcast | multicast) - соответствие типа адреса источника
IP пакета, одному из:
unicast - IP адрес использованный для передачи от одной точки к другим точкам. В
данном случае есть только один отправитель и один получатель.
local - соответствие адресов интерфейсам маршрутизатора
broadcast - IP пакет посылаемый от одной точки ко всем другим точк ам IP подсети
multicast - этот тип IP адресации предназначен для передачи от одной или более
точек к другим точкам
src-mac-address (MAC address) - MAC адрес источника
src-port (integer: 0..65535-integer: 0..65535{*}) - порт источника или диапазон портов
tcp-flags (multiple choice: ack | cwr | ece | fin | psh | rst | syn | urg) ниже перечислены tcp
флаги
ack - подтверждение данных
cwr - уменьшение окна скопления
ece - ECH-echo флаг(явное уведомление о скоплении)
fin - закрытие соединения
psh - функция проталкивания
rst - сбросить соединение
syn - новое соединение
urg - срочные данные
tcp-mss (integer: 0..65535) - соответствие IP пакета значению TCP MSS
time (time-time,sat | fri | thu | wed | tue | mon | sun{+}) - принять создание фильтра в
назначеное время или сгенерировать пакеты в исходное время
Примечание
Вместо маркировки двух правил если вы хотите например маркировать пакет -
соединения или маршрут и больше не использовать таблицу mangle в данном
действии(другими словами промаркировать и принять пакет), вы должны отключить
установленное по умолчанию свойство passthrough промаркированного правила.
Как правило маркировка маршрута не используется для P2P, так как маршрутизация P2P
трафика всегда ведется через шлюз по умолчанию.
Пример использования
В следующей секции обсуждаются некоторые примеры использования средства mangle
Peer-to-Peer Traffic Marking
Для гарантированного улучшения качества работы сетевых соединений, интерактивный
трафик такой как VoIP и HTTP должен быть приоритетен по отношению к
неинтерактивному, такому как peer -to-peer. В RouterOS QOS использует для этого в
первую очередь маркировку типа трафика, и затем помещает его в очереди с различными
лимитами.
Представленый ниже пример пр едоставляет P2P трафику не более чем 1 Mbps всей
полосы, а всему остальному трафику разрешает использовать всю полосу:
[admin@MikroTik] > /ip firewall mangle add chain=forward
... p2p=all-p2p action=mark-connection new-connection-mark=p2p_conn
[admin@MikroTik] > /ip firewall mangle add chain =forward
... connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p
[admin@MikroTik] > /ip firewall mangle add chain=forward
... connection-mark=!p2p_conn action=mark -packet new-packet-mark=other
[admin@MikroTik] > / ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0
chain=forward p2p=all-p2p action=mark-connection new-connection-
mark=p2p_conn
1
chain=forward connection -mark=p2p_conn action=mark-packet new-packet-
mark=p2p
2
chain=forward packet-mark=!p2p_conn action=mark-packet new-packet-
mark=other
[admin@MikroTik] >
[admin@MikroTik] > /queue tree add parent=Public packet -mark=p2p limit-
at=1000000
... max-limit=100000000 priority=8
[admin@MikroTik] > / queue tree add parent=Local packet-mark=p2p limit-
at=1000000
... max-limit=100000000 priority=8
[admin@MikroTik] > /queue tree add parent=Public packet -mark=other limit-
at=1000000
... max-limit=100000000 priority=1
[admin@MikroTik] > /queue tree add parent =Local packet-mark=other limit-
at=1000000
... max-limit=100000000 priority=1
Маркировка по MAC адресам
Для маркировки трафика по известным МАС адресам которые проходят к/через
маршрутизатор выполните следующее:
[admin@MikroTik] > / ip firewall mangle add chain=prerouting
... src-mac-address=00:01:29:60:36:E7 action=mark -connection new-connection-
mark=known_mac_conn
[admin@MikroTik] > / ip firewall mangle add chain =prerouting
... connection-mark=known_mac_conn action =mark-packet new-packet-
mark=known_mac
Смена MSS
Всем известно что VPN соединения гоняют маленькие пакеты встроенные в заголовок.
Большие пакеты с MSS который превышает MSS для VPN соединения может быть
предварительно фрагментирован для посылки через данный вид соединения. Однако если
в пакете установлен флаг DF, то он не может быть фрагментирован и быть удален. В
соединениях которые имеют неверный MTU (PMTUD) это может создать ряд проблем,
включая проблемы с FTP и HTTP соединениями а также почтовыми с ервисами.
В случае соединений с потерянными PTUMD, уменьшение MSS пакетов проходящих
через VPN соединения решает эту проблему. Приведенный ниже пример демонстрирует,
как можно уменьшить значение MSS средствами mangle
[admin@MikroTik] > /ip firewall mangle add out-interface=pppoe-out
... protocol=tcp tcp -flags=syn action=change -mss new-mss=1300 chain=forward
[admin@MikroTik] > / ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0
chain=forward out-interface=pppoe-out protocol=tcp tcp-flags=syn
action=change-mss new-mss=1300
[admin@MikroTik] >

Спонсоры данной статьи


Категория: Документация | Добавил: -=shurf=- (26.07.2010)
Просмотров: 7610 | Комментарии: 2 | Рейтинг: 0.0/0

Настройка Mikrotik
Как управлять программным Raid...
Mangle
Установка биллинга Abills на U...
Настраиваем биллинг UTM с Mikr...
Разделение скорости
Серверные сценарии ч.2
Защита mikrotik от внешних вто...
Списки адресов
NAT
Mikrotik. DHCP сервер в помощь...

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Профиль
Привет: Гость

Сообщения:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или войдите!

Реклама

Наш опрос
Вы нашли на сайте нужную информацию?
Всего ответов: 55

Нашел ошибку?
Система Orphus

Статистика

Онлайн всего: 2
Гостей: 1
Пользователей: 1
Kamorkaskn



Бесплатный хостинг uCoz