Вы находитесь на странице: 1из 92

Mikrotik Certified

Traffic Control Engineer

Packer Flow Diagram

Модуль 1
Содержание
▪ Для чего нужен Packet Flow
▪ Общая схема Packet Flow. Описание блоков
▪ Простые примеры Packet Flow diagram.
▪ Сложные примеры Packet Flow diagram.
▪ FastPath, FastTrack

MTCTCE / Модуль 1 / Packer Flow Diagram 2


Цель курса MTCTCE

MTCTCE / Модуль 1 / Packer Flow Diagram 3


Цель курса MTCTCE

MTCTCE / Модуль 1 / Packer Flow Diagram 4


Манипуляции над пакетами в маршрутизаторе
Маршрутизатор совершает на проходящими через него данными множество действий:
- Маршрутизация L3– routing
- Коммутация L2 – bridging
- Коммутация MPLS – label switching
- Разрешение или отбрасывание пакетов - Firewall accept/drop
- Модификация пакетов – SRC-NAT/DST-NAT, TTL, DSCP/COS
- Модификация маршрутной информации – policy routing
- Ограничение скорости потока – QoS

- Все эти действия совершаются в строго определенном порядке


- Знание очередности действий и понимание их влияния на трафик позволяет правильно настраивать
сложные конфигурации и быстро решать проблемы
- Зная Packet Flow Вы сможете сказать, какое состояние имеет пакет/фрейм в любом месте
маршрутизатора, какие значения имеют его поля (SRC/DST IP, SRC/DST MAC, port, priority и т.д.)

MTCTCE / Модуль 1 / Packer Flow Diagram 5


Mikrotik Packet Flow, RouterOS v6

MTCTCE / Модуль 1 / Packer Flow Diagram 6


Mikrotik Packet Flow, RouterOS v6

MTCTCE / Модуль 1 / Packer Flow Diagram 7


Mikrotik Packet Flow, RouterOS v6

MTCTCE / Модуль 1 / Packer Flow Diagram 8


Упрощенная схема Packet Flow

MTCTCE / Модуль 1 / Packer Flow Diagram 9


Описание блоков Packet Flow
– физический интерфейс, через который рассматриваемые пакеты входят в роутер
– физический интерфейс, через который рассматриваемые пакеты выходят из роутера
– логический интерфейс (туннель), через который рассматриваемые пакеты входят в
роутер
– логический интерфейс (туннель), через который рассматриваемые пакеты выходят из
роутера
- локальные процессы на роутере (DNS, proxy, DHCP, ping, etc)
- точка входа пакетов в локальные процессы. Происходит финальная декапсуляция
пакета и его отбрасывание
- точка выхода данных из локальных процессов в сеть. Происходит формирование
пакетов, инкапсуляция данных

MTCTCE / Модуль 1 / Packer Flow Diagram 10


Блоки автоматических действий и выбора
- Проверка принадлежности входящего интерфейса какому-либо bridge
- Проверка принадлежности входящего интерфейса какому-либо bridge
- Поиск заголовка туннеля и проверка необходимости декапсуляции
- Проверка необходимости инкапсуляции пакета
- Поиск заголовка IPv4/IPv6, перенаправление IP-пакета на блок маршрутизации
- Проверка принадлежности входящего интерфейса какому-либо bridge
- Проверка принадлежности входящего интерфейса какому-либо bridge
- Поиск заголовка туннеля и проверка необходимости декапсуляции
- Проверка необходимости инкапсуляции пакета

MTCTCE / Модуль 1 / Packer Flow Diagram 11


Блоки автоматических действий и выбора
- декапсуляция данных из туннеля (чтение заголовка)
- инкапсуляция данных в туннель (добавление заголовка)
- выбор направления продвижения Ethernet-фрейма в bridge (коммутация фреймов)
- блок выбора направления продвижения MPLS-метки (коммутация меток)
- блок выбора продвижения IP-пакета (маршрутизация IP-пакетов)
- проверка необходимости передачи пакета или фрейма на анализ в firewall
- дешифрование IPSec
- шифрование IPSec
- определение типа MPLS-туннеля

MTCTCE / Модуль 1 / Packer Flow Diagram 12


Блоки автоматических действий и выбора

– точка перехвата трафика Hotspot-ом, работает до connection tracking


– точка выхода трафика из Hotspot
– вызов процедуры определения bridge-port в FORWARD/OUTPUT при использовании
опций in-bridge-port/out-bridge-port в модуле Routing
– изменение поведения маршрутизации уже после ROUTING DECISION
policy routing в mangle chain output
– процесс уменьшения значения TTL. Если TTL после уменьшения равен 0, пакет
отбрасывается

MTCTCE / Модуль 1 / Packer Flow Diagram 13


Блок Bridging - конфигурируемые объекты
– блок правил(filter), применяемых к фреймам, предназначенным роутеру (DST MAC)
/interface bridge filter, input chain
– блок правил (filter), применяемых к фреймам, предназначенным другим устройствам
в L2-сегменте (DST MAC)
/interface bridge filter, forward chain
– блок правил (filter), применяемых к фреймам, сгенерированным на роутере и
предназначенными другим устройствам в L2-сегменте (DST MAC)
/interface bridge filter, output chain
– блок правил (DST-NAT), применяемых к фреймам на входе в bridge
/interface bridge nat, dstnat chain
– блок правил (SRC-NAT), применяемых к фреймам на выходе из bridge
/interface bridge nat, dstnat chain

MTCTCE / Модуль 1 / Packer Flow Diagram 14


Блок Routing – группы действий
– группа действий, совершаемых на входе роутера до выбора маршрута продвижения
IP-пакетов (routing decision)
– группа действий, совершаемых после выбора маршрута продвижения IP-пакетов,
назначением которых является сам роутер
– группа действий, совершаемых после выбора маршрута продвижения IP-пакетов,
проходящих транзитом через роутер
– группа действий, совершаемых над IP-пакетами, сгенерированными на роутере и
выходящими из него
– группа действий, совершаемых на выходе из роутера над IP-пакетами, как
проходящими транзитом, так и сгенерированными на нем
Группы действий вызываются только в процессе маршрутизации IP-пакетов, но к ним
можно обращаться и в bridging посредством “Use-IP-firewall = yes”.
С этой опцией нужно быть осторожным (фильтруются фреймы, загружаются ресурсы
роутера)
MTCTCE / Модуль 1 / Packer Flow Diagram 15
Блок Routing – конфигурируемые объекты
– настройка политик IPSec, /ip ipsec policy
– таблица отслеживания соединений, /ip firewall connection tracking
– цепочка правил filter для входящих на роутер пакетов, /ip firewall filter, input chain
– цепочка правил filter для транзитных пакетов, /ip firewall filter , forward chain
– цепочка правил filter для пакетов, сгенерированных на роутере, /ip firewall filter, output
chain
– цепочка правил mangle на входе в роутер, /ip firewall mangle, prerouting chain
– цепочка правил mangle на входе в локальные процессы роутера, /ip firewall mangle,
input chain
– цепочка правил на выходе из локальных процессов роутера, /ip firewall mangle, output
chain
– цепочка правил на выходе из роутера, /ip firewall mangle, postrouting chain
MTCTCE / Модуль 1 / Packer Flow Diagram 16
Блок Routing – конфигурируемые объекты
– цепочка правил dstnat, /ip firewall nat, dstnat chain

– цепочка правил srcnat, /ip firewall nat, srcnat chain

– цепочка правил raw filter на входе в роутер, /ip firewall raw, prerouting chain

– цепочка правил raw filter на выходе из роутера, /ip firewall raw, output chain

– модуль анализа и подсчета трафика, /ip accounting

– Точка контроля и применения сложных правил HTB QoS , /queue tree

– Точка контроля и применения простых правил HTB QoS , /queue simple

- Точка контроля и применения правил QoS на ИСХОДЯЩЕМ интерфейсе, queue tree

MTCTCE / Модуль 1 / Packer Flow Diagram 17


Packet flow – routing/input

MTCTCE / Модуль 1 / Packer Flow Diagram 18


Packet flow – routing/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 19


Packet flow – routing/output

MTCTCE / Модуль 1 / Packer Flow Diagram 20


Packet flow – bridging/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 21


Пример Packet flow – routing/input

▪ Ether1 – WAN – 10.10.10.45/24


▪ Ether2 – LAN – 192.168.45.1/24
▪ No bridging
▪ Трафик, предназначенный роутеру – Winbox, DNS, DHCP, SSH, Telnet, WWWW
▪ SRC IP – 192.168.45.2, DST IP – 192.168.45.1, port – TCP/8291

MTCTCE / Модуль 1 / Packer Flow Diagram 22


Пример Packet flow – routing/input

MTCTCE / Модуль 1 / Packer Flow Diagram 23


Пример Packet flow– routing/input

MTCTCE / Модуль 1 / Packer Flow Diagram 24


Пример Packet flow – routing/input

MTCTCE / Модуль 1 / Packer Flow Diagram 25


Пример Packet flow – routing/input

MTCTCE / Модуль 1 / Packer Flow Diagram 26


Пример Packet flow – routing/input
Вопросы:
▪ Укажите номер на схеме, где пакет будет отброшен, если ему запрещен доступ
на роутер
▪ Укажите номер на схеме, где происходит ограничение скорости (QoS), если есть
правила
▪ Что произойдет, если на роутере есть правило

▪ Что произойдет, если на роутере есть правило

▪ Что произойдет, если на роутере есть правило

MTCTCE / Модуль 1 / Packer Flow Diagram 27


Пример Packet flow – routing/output

▪ Ether1 – WAN – 10.1.1.45/24


▪ Ether2 – LAN – 192.168.45.1/24
▪ No bridging
▪ Трафик, генерируемый на роутере – ping, traceroute, DNS-request, telnet, ssh,
ответы на входящие пакеты
▪ SRC IP – 192.168.45.1, DST IP – 8.8.8.8, port – UDP/53

MTCTCE / Модуль 1 / Packer Flow Diagram 28


Пример Packet flow – routing/output

MTCTCE / Модуль 1 / Packer Flow Diagram 29


Пример Packet flow– routing/output

MTCTCE / Модуль 1 / Packer Flow Diagram 30


Пример Packet flow – routing/output

MTCTCE / Модуль 1 / Packer Flow Diagram 31


Пример Packet flow – routing/output

MTCTCE / Модуль 1 / Packer Flow Diagram 32


Пример Packet flow – routing/output
Вопросы:
▪ Укажите номер на схеме, где пакет, сгенерированный на роутере, будет
отброшен, если для него есть запрещающее правило
▪ Укажите номер на схеме, где происходит ограничение скорости (QoS), если есть
правила
▪ Что произойдет, если на роутере есть правило

MTCTCE / Модуль 1 / Packer Flow Diagram 33


Пример Packet flow – routing/forward

▪ Ether1 – WAN – 10.10.10.45/24


▪ Ether2 – LAN – 192.168.45.1/24
▪ No bridging
▪ Трафик, идущий из LAN в INTERNET– www, e-mail
▪ SRC IP – 192.168.45.2, DST IP – 212.0.200.1, port – TCP/443, TCP/25

MTCTCE / Модуль 1 / Packer Flow Diagram 34


Пример Packet flow – routing/forward

▪ Составляем блок-схему потока пакетов


▪ Цвета стрелок и интерфейсов соответствуют цветам блоков на Packet Flow

ether2
ether1

ROUTER

MTCTCE / Модуль 1 / Packer Flow Diagram 35


Пример Packet flow – routing/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 36


Пример Packet flow– routing/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 37


Пример Packet flow– routing/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 38


Пример Packet flow– routing/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 39


Пример Packet flow – routing/forward
Вопросы:
▪ Укажите номер на схеме, где пакет, сгенерированный на компьютере и идущий в
Internet, будет отброшен, если для него есть запрещающее правло
▪ Укажите номер на схеме, где происходит ограничение скорости (QoS), если есть
правила
▪ Что произойдет, если на роутере есть правило

▪ Что произойдет, если на роутере есть правило

▪ Составьте диаграмму прохождения ответного пакета от 212.0.200.1

MTCTCE / Модуль 1 / Packer Flow Diagram 40


Пример Packet flow – bridging/forward

▪ Ether1 – WAN – 10.10.10.45/24

▪ Bridge-LAN (Ether2-Ether5) – 192.168.45.1/24

▪ Трафик между двумя PC 192.168.45.2, 192.168.45.3

▪ SRC IP – 192.168.45.2, DST IP – 192.168.45.3, port – TCP/445

▪ Use-IP-Firewall=no
MTCTCE / Модуль 1 / Packer Flow Diagram 41
Пример Packet flow – bridging/forward

▪ Составляем блок-схему потока пакетов


▪ Цвета стрелок и интерфейсов соответствуют цветам блоков на Packet Flow

bridge-LAN

ether2

ether3

ROUTER

MTCTCE / Модуль 1 / Packer Flow Diagram 42


Пример Packet flow – bridging/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 43


Пример Packet flow– bridging/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 44


Пример Packet flow– bridging/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 45


Пример Packet flow – bridging/forward
Вопросы:
▪ Укажите номер на схеме, где пакет, сгенерированный на первом компьютере и
идущий ко второму компьютеру, будет отброшен, если для него есть
запрещающее правило
▪ Укажите номер на схеме, где происходит ограничение скорости (QoS), если есть
правила
▪ Что произойдет, если на роутере есть правило

▪ Что произойдет, если на роутере есть правило

MTCTCE / Модуль 1 / Packer Flow Diagram 46


Пример Packet flow– bridging/forward

Use-IP-Firewall=yes

MTCTCE / Модуль 1 / Packer Flow Diagram 47


Пример Packet flow– bridging/forward

MTCTCE / Модуль 1 / Packer Flow Diagram 48


Пример Packet flow – routing/forward, bridging/input

▪ Ether1 – WAN – 10.10.10.45/24

▪ Bridge-LAN (Ether2-Ether5) – 192.168.45.1/24

▪ Трафик между PC 192.168.45.2 и 212.200.1

▪ SRC IP – 192.168.45.2, DST IP – 212.0.200.1, port – TCP/443

▪ Use-IP-Firewall=no
MTCTCE / Модуль 1 / Packer Flow Diagram 49
Пример Packet flow – routing/forward, bridging/input

▪ Составляем блок-схему потока пакетов


▪ Цвета стрелок и интерфейсов соответствуют цветам блоков на Packet Flow

bridge-LAN

ether2 ether1
ether3

ROUTER

MTCTCE / Модуль 1 / Packer Flow Diagram 50


Пример Packet flow– routing/forward, bridging/input

MTCTCE / Модуль 1 / Packer Flow Diagram 51


Пример Packet flow– routing/forward, bridging/input

MTCTCE / Модуль 1 / Packer Flow Diagram 52


Пример Packet flow– routing/forward, bridging/input

MTCTCE / Модуль 1 / Packer Flow Diagram 53


Пример Packet flow – routing/forward, bridging/input

MTCTCE / Модуль 1 / Packer Flow Diagram 54


Пример Packet flow – routing/forward, bridging/input/output

▪ Ether1 – WAN – 10.10.10.45/24

▪ Bridge-LAN (Ether2-Ether5) – 192.168.45.1/24

▪ Трафик между PC 192.168.45.2 и 212.200.1

▪ SRC IP – 192.168.45.2, DST IP – 212.0.200.1, port – TCP/443

▪ Use-IP-Firewall=no
MTCTCE / Модуль 1 / Packer Flow Diagram 55
Пример Packet flow – routing/forward, bridging/input/output

▪ Составляем блок-схему потока пакетов


▪ Цвета стрелок и интерфейсов соответствуют цветам блоков на Packet Flow

bridge-LAN

ether2 ether1
ether3

ROUTER

MTCTCE / Модуль 1 / Packer Flow Diagram 56


Пример Packet flow – routing/forward, bridging/input/output

MTCTCE / Модуль 1 / Packer Flow Diagram 57


Пример Packet flow – routing/forward, bridging/input/output

MTCTCE / Модуль 1 / Packer Flow Diagram 58


Пример Packet flow – routing/forward, bridging/input/output

MTCTCE / Модуль 1 / Packer Flow Diagram 59


Пример Packet flow – routing/forward, bridging/input/output

MTCTCE / Модуль 1 / Packer Flow Diagram 60


Пример Packet flow – routing/forward, bridging/input/output

MTCTCE / Модуль 1 / Packer Flow Diagram 61


Пример Packet flow – Site-to-site L2TP VPN

▪ lan1->router1->l2tp tunnel>-router2->lan2

▪ No bridging

▪ LAN1 – 192.168.55.0/24, LAN2 – 192.168.56.0/24

▪ SRC IP – 192.168.55.2, DST IP – 192.168.56.2, port – TCP/3389

▪ Packet flow diagram of router1, router2


MTCTCE / Модуль 1 / Packer Flow Diagram 62
Пример Packet flow – site-to-site L2TP VPN

ether2 ether1

l2tp-vpn
ether1 ether2

ROUTER1
l2tp-vpn

ROUTER2

MTCTCE / Модуль 1 / Packer Flow Diagram 63


Пример Packet flow – site-to-site L2TP VPN
router1

MTCTCE / Модуль 1 / Packer Flow Diagram 64


Пример Packet flow – site-to-site L2TP VPN
router1

MTCTCE / Модуль 1 / Packer Flow Diagram 65


Пример Packet flow – site-to-site L2TP VPN
router1

MTCTCE / Модуль 1 / Packer Flow Diagram 66


Пример Packet flow – site-to-site L2TP VPN
router2

MTCTCE / Модуль 1 / Packer Flow Diagram 67


Пример Packet flow – site-to-site L2TP VPN
router2

MTCTCE / Модуль 1 / Packer Flow Diagram 68


Пример Packet flow – site-to-site L2TP VPN
router2

MTCTCE / Модуль 1 / Packer Flow Diagram 69


Пример Packet flow – Site-to-site IPSec VPN

▪ lan1->router1->ipsec tunnel>-router2->lan2

▪ No bridging

▪ LAN1 – 192.168.55.0/24, LAN2 – 192.168.56.0/24

▪ SRC IP – 192.168.55.2, DST IP – 192.168.56.2, port – TCP/3389

▪ Packet flow diagram of router1, router2


MTCTCE / Модуль 1 / Packer Flow Diagram 70
Пример Packet flow – Site-to-site IPSec VPN

ether2

ether1
ether1
ROUTER1 ether2

ROUTER2

MTCTCE / Модуль 1 / Packer Flow Diagram 71


Пример Packet flow – Site-to-site IPSec VPN
router1

MTCTCE / Модуль 1 / Packer Flow Diagram 72


Пример Packet flow – site-to-site IPSec VPN
router1

MTCTCE / Модуль 1 / Packer Flow Diagram 73


Пример Packet flow – site-to-site IPSec VPN
router1

MTCTCE / Модуль 1 / Packer Flow Diagram 74


Пример Packet flow – Site-to-site IPSec VPN
router2

MTCTCE / Модуль 1 / Packer Flow Diagram 75


Пример Packet flow – site-to-site IPSec VPN
router2

MTCTCE / Модуль 1 / Packer Flow Diagram 76


Пример Packet flow – site-to-site IPSec VPN
router2

MTCTCE / Модуль 1 / Packer Flow Diagram 77


Задание для самостоятельной работы
▪ Нарисуйте диаграммы PacketFlow для следующих сценариев:
▪ lan->router(srcnat)->internet
▪ Internet->router(dstnat)->lan server
▪ lan1->router1-> eoip tunnel with routing->router2->lan2
▪ lan1->router1->eoip tunnel with bridging->router2->lan2
▪ lan1->router1->ipsec tunnel>-router2->lan2
▪ lan1->(bridge)router1->l2tp tunnel with ipsec->router2(bridge)->lan2
▪ remote VPN client over l2tp->Internet->router->lan
▪ remote VPN client over l2tp with ipsec->Internet->router->lan
▪ remote VPN client over l2tp with ipsec->Internet->router(srcnat)->internet
▪ lan1->switch->vlan->router1->eoip tunnel with routing->router2->vlan->switch->lan2

MTCTCE / Модуль 1 / Packer Flow Diagram 78


Fast Path
▪ Рассмотренный выше путь прохождения пакетов является длинным,
многоступенчатым и сильно загружает роутер, даже если его конфигурация
содержит мало настроек
▪ Slow Path – «медленный путь»
▪ В RouterOS поддерживается «быстрый путь» - Fast Path
▪ Fast Path задействует ресурсы сетевых интерфейсов практически без
использования CPU
▪ Для использования Fast Path нужна поддержка драйверов сетевых интерфейсов,
активация Fast Path в настройках и отсутствие правил firewall, nat, mangle, qos и т.д.
▪ Поддерживаемые типы интерфейсов: ether (только в RB,CRS, CCR), wlan, bridge,
eoip, vlan, gre, ipip и т.д.
▪ Поддерживается только для IPv4, IPv4 fasttrack, traffic generator, bridge, mpls

MTCTCE / Модуль 1 / Packer Flow Diagram 79


Включение Fast Path

MTCTCE / Модуль 1 / Packer Flow Diagram 80


Bridge forwarding + Fast Path

MTCTCE / Модуль 1 / Packer Flow Diagram 81


Routing forwarding + Fast Path

MTCTCE / Модуль 1 / Packer Flow Diagram 82


Routing forwarding + Fast Path

MTCTCE / Модуль 1 / Packer Flow Diagram 83


Routing forwarding + Fast Path + FastTrack

MTCTCE / Модуль 1 / Packer Flow Diagram 84


SlowPath vs FastPath

MTCTCE / Модуль 1 / Packer Flow Diagram 85


Half-FastPath

Если один из интерфейсов не поддерживает FastPath, схема работы Fast Path


может быть только такой:

MTCTCE / Модуль 1 / Packer Flow Diagram 86


FastPath, FastTrack
▪ https://wiki.mikrotik.com/wiki/Manual:Fast_Path
▪ https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
▪ Презентация Яниса Мегиса на MUM MD 2015 -
http://mum.mikrotik.com/presentations/MD15/presentation_3078_1452171948.pdf
▪ Детальнее FastPath/FastTrack будем изучать в Module 2 - Firewall

MTCTCE / Модуль 1 / Packer Flow Diagram 87


Старый Packet Flow, RouterOS v3,4,5
▪ https://wiki.mikrotik.com/wiki/Manual:Packet_Flow
▪ Есть существенные отличия
▪ Более медленный и сложный

MTCTCE / Модуль 1 / Packer Flow Diagram 88


Linux Netfilter, iptables
▪ https://www.digitalocean.co
m/community/tutorials/a-
deep-dive-into-iptables-
and-netfilter-architecture
▪ Hooks - ловушки
▪ Chains - цепочки
▪ Tables – таблицы:
filter, nat, mangle, raw,
connection tracking

MTCTCE / Модуль 1 / Packer Flow Diagram 89


Домашнее задание

▪ Повторить модель OSI, TCP/IP, IPv4 subnetting, ARP


▪ Читать модуль 1 и доп. материал по ссылкам
▪ Взять примеры сложных конфигураций маршрутизатора (VPN, IPSec,
tunnels, bridging, routing, nat, mangle, qos) и нарисовать Packet Flow Diagram

MTCTCE / Модуль 1 / Packer Flow Diagram 90


Ссылки
▪ https://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6

▪ https://wiki.mikrotik.com/wiki/Manual:Packet_Flow

▪ https://wiki.mikrotik.com/wiki/Manual:Fast_Path

▪ https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack

▪ http://mum.mikrotik.com/presentations/MD15/presentation_3078_1452171948.pdf

▪ https://www.digitalocean.com/community/tutorials/a-deep-dive-into-iptables-and-netfilter-
architecture

MTCTCE / Модуль 1 / Packer Flow Diagram 91


Контакты:

Алексей Чобан
+373 69999975
ac@itlab.md

Вам также может понравиться