fb logo  VK  Feed icon.svg  

Руководство по NAT в MikroTik. Перевод официального WiKi

опубликовал от 13 Сентябрь, 2020

Преобразование сетевых адресов - это интернет-стандарт, который позволяет хостам в локальных сетях использовать один набор IP-адресов для внутренней связи и другой набор IP-адресов для внешней связи. Локальная сеть, использующая NAT, называется натированная сеть. Чтобы NAT функционировал,в каждой натированной сети должен быть шлюз NAT. Шлюз NAT (маршрутизатор NAT) выполняет перезапись IP-адреса на пути перемещения пакета из / в локальную сеть.

Существует два типа NAT:

Источник NAT или srcnat. Этот тип NAT выполняется на пакетах, которые исходят из натированной сети. Маршрутизатор NAT заменяет частный исходный адрес IP-пакета новым публичным IP-адресом По мере прохождения через маршрутизатор. Обратная операция применяется к ответным пакетам, перемещающимся в другом направлении.
Пункт назначения NAT или dstnat. Этот тип NAT выполняется для пакетов, предназначенных для натированной сети. Он чаще всего используется для того, чтобы сделать хосты в частной сети доступными из интернета. Маршрутизатор NAT, выполняющий dstnat, заменяет IP-адрес назначения IP-пакета, когда он проходит через маршрутизатор к частной сети.
Хосты за маршрутизатором с поддержкой NAT не имеют истинного сквозного подключения. Поэтому некоторые интернет-протоколы могут не работать в сценариях с NAT. Службы, требующие инициализации TCP-соединения из-за пределов частной сети или протоколов без состояния, таких как UDP, могут работать неправильно. Кроме того, некоторые протоколы изначально несовместимы с NAT, ярким примером является протокол AH из пакета IPsec.

Для преодоления этих ограничений RouterOS включает в себя ряд так называемых помощников NAT, которые позволяют выполнять обход NAT для различных протоколов.

masquerade

NAT action=masquerade является уникальной субверсией action=srcnat, он был разработан для конкретного использования в ситуациях, когда публичный IP может случайным образом изменяться, например DHCP-сервер меняет его, или PPPoE - туннель после отключения получает другой IP, короче говоря-когда публичный IP динамичен.

Каждый раз, когда интерфейс отключается и/или его IP-адрес изменяется, маршрутизатор очищает все маскированные записи отслеживания соединений, которые отправляют пакет из этого интерфейса, таким образом улучшая время восстановления системы после изменения публичного ip-адреса.

К сожалению, это может привести к некоторым проблемам, когда action=masquerade используется в установках с нестабильными соединениями/ссылками, которые маршрутизируются по другому каналу, когда первичный не работает. В таком сценарии могут произойти следующие вещи:

  • при отключении все связанные записи отслеживания соединений удаляются;
  • следующий пакет из каждого очищенного (ранее замаскированного) соединения будет поступать в брандмауэр как connection-state=new, и, если основной интерфейс не вернулся, пакет будет маршрутизирован по альтернативному маршруту (если он у вас есть), создавая таким образом новое соединение;
  • первичный канал возвращается, маршрутизация восстанавливается по первичному каналу, поэтому пакеты, принадлежащие существующим соединениям, отправляются по первичному интерфейсу без маскировки утечки локальных IP-адресов в общедоступную сеть. 

Вы можете обойти это, создав маршрут blackhole в качестве альтернативы маршруту, который может исчезнуть при отключении).

Когда action=srcnat он используется вместо этого, записи отслеживания соединений остаются, и соединения могут просто возобновиться.

Свойства используемые при создании NAT правил:

Характеристика Описание

action 

(имя действия;

по умолчанию:accept)

Действие, которое необходимо предпринять, если пакет соответствует правилу:
  • accept - примите пакет. Пакет не передается следующему правилу NAT.
  • add-dst-to-address-list - добавить адрес назначения в список адресов, указанный address-list параметром
  • add-src-to-address-list - добавить исходный адрес в список адресов, указанный address-list параметром
  • dst-nat - заменяет адрес назначения и / или порт IP-пакета на значения, заданны в to-addresses и to-ports параметром 
  • jump - переход к пользовательской цепочке, заданной значением jump-target параметра
  • log - добавьте сообщение в системный журнал, содержащее следующие данные:in-interface, out-interface, src-mac, protocol, src-ip:port->dst-ip: порт и длина пакета. После того, как пакет сопоставлен, он передается следующему правилу в списке, аналогичному passthrough
  • masquerade - заменяет исходный порт IP-пакета на указанный to-ports параметром и заменяет исходный адрес IP-пакета на IP, определенный средством маршрутизации.
  • netmap - создает статическое отображение 1:1 одного набора IP-адресов на другой. Часто используется для распределения публичных IP адресов хостам в частных сетях
  • passthrough - если пакет соответствует правилу, передаст обработку к следующему правилу увеличив счётчик (полезно для статистики).
  • redirect - заменяет порт назначения IP-пакета на указанный to-ports параметром, а адрес назначения-на один из локальных адресов маршрутизатора
  • return - передает управление обратно в цепочку, откуда произошел прыжок
  • same - дает конкретному клиенту один и тот же IP-адрес источника/назначения из поставляемого диапазона для каждого соединения. Это наиболее часто используется для служб, которые ожидают один и тот же адрес клиента для нескольких подключений от одного и того же клиента
  • src-nat - заменяет исходный адрес IP-пакета на значения, заданные to-addressesto-ports параметром and

address-list 

(строка; по умолчанию: )

Имя используемого списка адресов. Применимо, если действие является add-dst-to-address-list или add-src-to-address-list

address-list-timeout

 (none-dynamic | none-static / time;

по умолчанию: none-dynamic)

Интервал времени, по истечении которого адрес будет удален из списка адресов, указанного address-list параметром. Используется в сочетании с add-dst-to-address-list add-src-to-address-list действиями.
  • Значение none-dynamic (00:00:00) оставит адрес в списке адресов до перезагрузки.
  • Значение none-static оставит адрес в списке адресов навсегда и даже будет включен в экспорт конфигурации / резервную копию
chain (имя; по умолчанию: ) Указывает, к какому правилу цепочки будет добавлено правило. Если входные данные не совпадают с именем уже определенной цепочки, будет создана новая цепочка.
comment (строка; по умолчанию: ) Описательный комментарий к правилу.

connection-bytes 

(integer-целое число; по умолчанию: )

Сопоставляет пакеты только в том случае, если заданное количество байтов было передано через конкретное соединение. 0 - означает бесконечность, например connection-bytes=2000000-0 означает, что правило совпадает, если через соответствующее соединение было передано более 2 МБ

connection-limit 

(целое число, netmaks;

по умолчанию: )

Сопоставляет соединения по адресу или блоку адресов после достижения заданного значения.

connection-mark 

(no-mark / string;

по умолчанию: )

Соответствует пакетам, помеченным через средство mangle, с определенной меткой соединения. Если параметр no-mark не установлен, правило будет соответствовать любому немаркированному соединению.

connection-rate 

(Целое число 0..4294967295;

по умолчанию: )

Скорость соединения - это сопоставитель брандмауэра, который позволяет захватывать трафик на основе текущей скорости соединения.

connection-type

 (ftp | h323 / irc | pptp / quake3 / sip | tftp; по умолчанию: )

Сопоставляет пакеты от связанных соединений на основе информации от их помощников по отслеживанию соединений. Соответствующий помощник подключения должен быть включен в разделе / ip firewall service-port
content (строка; по умолчанию: ) Сопоставьте пакеты, содержащие указанный текст

dscp (целое число: 0..63;

по умолчанию: )

Соответствует полю заголовка IP-адреса DSCP.

dst-address

 (Диапазон IP / netmask / IP;

по умолчанию: )

Сопоставляет пакеты, назначение которых равно указанному IP-адресу или попадает в указанный диапазон IP-адресов.

dst-address-list 

(имя; по умолчанию: )

Сопоставляет адрес назначения пакета с определяемым пользователем списком адресов

dst-address-type

 (одноадресная /

локальная /

широковещательная /

многоадреснаяпередача ;

по умолчанию: )

Соответствует типу адреса назначения:
  • unicast - IP-адрес, используемый для передачи данных точка-точка
  • local - если dst-адрес назначен одному из интерфейсов маршрутизатора
  • broadcast - пакет отправляется на все устройства в подсети
  • multicast - пакет пересылается на определенную группу устройств

dst-limit 

(integer [/time],

integer,

dst-address | dst-port | src-address [/time];

по умолчанию: )

Сопоставляет пакеты до тех пор, пока не будет превышен заданный предел pps. В отличие от limitmatcher, каждый IP-адрес назначения / порт назначения имеет свой собственный предел. Параметры записываются в следующем формате: count [/time], burst, mode [/expire].
  • count - максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
  • time - задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно)
  • burst - количество пакетов, не учитываемых по пакетной скорости
  • mode - классификатор для ограничения скорости передачи пакетов
  • expire - указывает интервал, после которого записанный ip-адрес /порт будет удален (необязательно)

dst-port 

(целое число [- integer]: 0..65535;

по умолчанию: )

Список номеров портов назначения (через запятую) или диапазонов номеров портов

fragment

 (да / нет; по умолчанию: )

Соответствует фрагментированным пакетам. Первый (стартовый) фрагмент не считается. Если отслеживание соединений включено, то фрагментов не будет, так как система автоматически собирает каждый пакет

hotspot

 (auth | from-client / http / local-dst | to-client;

по умолчанию: )

Сопоставляет пакеты, полученные от клиентов HotSpot, с различными Сопоставителями HotSpot.
  • auth - соответствует аутентифицированным клиентским пакетам HotSpot
  • from-client - сопоставляет пакеты, поступающие от клиента HotSpot
  • http - соответствует HTTP-запросам, отправленным на сервер HotSpot
  • local-dst - сопоставляет пакеты, предназначенные для сервера HotSpot
  • to-client - сопоставляет пакеты, которые отправляются клиенту HotSpot

icmp-options

 (integer:целое число;

по умолчанию: )

Соответствует типу ICMP:кодовые файлы

in-bridge-port

 (name;

по умолчанию: )

Фактический интерфейс c которого пакет вошел в маршрутизатор, если входящий интерфейс является мостом

in-interface 

(name; по умолчанию: )

Интерфейс с которого пакет вошел в маршрутизатор

ingress-priority 

(целое число: 0..63;

по умолчанию: )

Соответствует входному приоритету пакета. Приоритет может быть получен из VLAN, WMM или MPLS EXP bit.

ipsec-policy 

(вход | выход, ipsec / нет;

по умолчанию: )

Соответствует политике, используемой IpSec. Значение записывается в следующем формате: direction, policy. Направление используется для выбора соответствия политике, используемой для декапсуляции, или политике, которая будет использоваться для инкапсуляции.
  • in - действителен в предварительной, входной и прямой цепочках
  • out - действителен в ПОСТПРОТЯЖНЫХ, выходных и прямых цепочках
  • ipsec - соответствует, если пакет подлежит обработке IpSec;
  • none - соответствует пакету, который не подлежит обработке IpSec (например, транспортный пакет IpSec).

Например, если маршрутизатор получает инкапсулированный Ipsec пакет GRE, то правило ipsec-policy=in, ipsec будет соответствовать пакету GRE, но правило ipsec-policy=in, none будет соответствовать пакету ESP.

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 - совпадение пакетов без опции метки времени
  • record-route - сопоставьте пакеты с опцией маршрута записи
  • router-alert - сопоставьте пакеты с опцией изменения маршрутизатора
  • strict-source-routing - сопоставьте пакеты со строгим вариантом маршрутизации источника
  • timestamp - сопоставьте пакеты с меткой времени

jump-target 

(имя; по умолчанию: )

Имя целевой цепочки, к которой нужно перейти. Применимо только в том случае, если action=jump

layer7-protocol 

(имя; по умолчанию: )

Имя фильтра Layer7 определяется в меню протокола layer7.

limit

(integer,

time,

integer;

по умолчанию: )

Сопоставляет пакеты до тех пор, пока не будет превышен заданный предел pps. Параметры записываются в следующем формате: count [/time], burst.
  • count - максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
  • time - задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно, если не указано значение 1s).)
  • пакет-количество пакетов, не учитываемых по пакетной скорости

log-prefix 

(строка; по умолчанию: )

Добавляет указанный текст в начало каждого сообщения журнала. Применимо, если action=log

nth 

(целое число,

integer;

по умолчанию: )

Соответствует каждому N-му пакету.

out-bridge-port 

(имя; по умолчанию: )

Фактический интерфейс пакет покидает маршрутизатор, если исходящий интерфейс является мостом

out-interface

 (; По умолчанию: )

Интерфейс пакет покидает маршрутизатор

packet-mark

 (no-mark / string;

по умолчанию: )

Соответствует пакетам, помеченным через средство mangle, с определенной меткой пакета. Если не установлен знак, правило будет соответствовать любому немаркированному пакету.

packet-size 

(целое число [- integer]: 0..65535;

по умолчанию: )

Соответствует пакетам указанного размера или диапазона размеров в байтах.

per-connection-classifier 

(ValuesToHash:

Denominator/Remainder;

По Умолчанию: )

PCC matcher позволяет разделить трафик на равные потоки с возможностью сохранения пакетов с определенным набором опций в одном конкретном потоке.

port

 (целое число [- integer]: 0..65535;

по умолчанию: )

Соответствует, если какой-либо порт (исходный или конечный) соответствует указанному списку портов или диапазонам портов. Применимо только в том случае, если используется протокол TCP или UDP

protocol

 (имя или идентификатор протокола;

по умолчанию: tcp)

Соответствует определенному IP-протоколу, определяемому именем или номером протокола

psd

 (integer,

time,

integer,

integer;

по умолчанию: )

Попытки обнаружить сканирование TCP и UDP. Параметры представлены в следующем формате WeightThreshold, DelayThreshold, LowPortWeight, HighPortWeight
  • WeightThreshold - общий вес последних пакетов TCP / UDP с различными портами назначения, поступающих с одного хоста и обрабатываемых как последовательность сканирования портов.
  • DelayThreshold-задержка для пакетов с разными портами назначения, поступающих с одного и того же хоста, которые будут обрабатываться как возможная подпоследовательность сканирования портов
  • LowPortWeight-вес пакетов с привилегиями (
  • HighPortWeight-вес пакета с непривилегированным портом назначения

random 

(целое число: 1..99;

по умолчанию: )

Сопоставляет пакеты случайным образом с заданной вероятностью.

routing-mark

 (строка; по умолчанию: )

Сопоставляет пакеты, помеченные средством mangle, с определенной меткой маршрутизации

same-not-by-dst

 (yes | no;

по умолчанию: )

Указывает, следует ли учитывать или не учитывать IP-адрес назначения при выборе нового исходного IP-адреса. Применимо, если action=same

src-address

 (Ip / Netmaks, диапазон Ip;

по умолчанию: )

Сопоставляет пакеты, источник которых равен указанному IP-адресу или попадает в указанный диапазон IP-адресов.

src-address-list 

(имя; по умолчанию: )

Сопоставляет исходный адрес пакета с определяемым пользователем списком адресов

src-address-type

 (одноадресная / локальная /

широковещательная /

многоадреснаяпередача

; по умолчанию: )

Соответствует типу адреса источника:

  • unicast - IP-адрес, используемый для передачи данных точка-точка
  • local - если адрес назначен одному из интерфейсов маршрутизатора
  • broadcast - пакет отправляется на все устройства в подсети
  • multicast - пакет пересылается на определенную группу устройств

src-port 

(целое число [- integer]: 0..65535;

по умолчанию: )

Список исходных портов и диапазоны исходных портов. Применимо только в том случае, если протокол TCP или UDP.

src-mac-address

 (MAC-адрес; по умолчанию: )

Соответствует исходному MAC-адресу пакета

tcp-mss

 (целое число [- integer]: 0..65535;

по умолчанию: )

Соответствует значению TCP MSS IP пакета

time

 (время-время, СБ / пт / чт |

СР | Вт | Пн / Вс; по умолчанию: )

Позволяет создать фильтр, основанный на времени и дате прибытия пакетов или, для локально генерируемых пакетов, времени и дате отправления

to-addresses

 (IP-адрес[-IP-адрес];

по умолчанию: 0.0.0.0)

Замените исходный адрес указанным. Применимо, если действие dst-nat, netmap, same, src-nat

to-ports 

(целое число [- integer]: 0..65535;

по умолчанию: )

Замените исходный порт на указанный. Применимо, если действие-dst-nat, redirect, masquerade, netmap, same, src-nat
ttl (целое число: 0..255; по умолчанию: ) Соответствует значению TTL пакетов

Бета версия перевода официального WiKi MikroTik

Прочитано 36080 раз Последнее изменение Понедельник, 14 Сентябрь 2020 00:50
Кардаш Александр

Автор статей по настройке ОС и сетевого оборудования. Отвечу на форуме на ваши вопросы. Добрый айтишник! 

Сайт: https://netflow.by/forum/newtopic

Другие материалы с нашего сайта:

Комментарии   

PRODVi
# 0 PRODVi 29.01.2021 12:35
Вопрос - обязательно ли указывать адрес src при создании правила НАТ, если у нас есть разрешающее правило для этого адреса, и в конце стоит всё зарпещающее? И в какой последовательности работает проброс - сначала файрвол, потом НАТ или наоборот?
Ответить

Добавить комментарий

Комментарий будет удалён, если не будет содержать осмысленный текст. В тексте сообщения не должно быть бесполезных ссылок на другие сайты.

 rss  vk groupe

 

Нравится ли вам наш блог?

Услуги по удалённой настройке MikroTik
Полноценное использование маршрутизатора MikroTik достигается только в результате его грамотной настройки. Неопытный специалист может очень долго провозиться с маршрутизатором, так и не заставив его
Услуги настройки Wi-Fi сети на дому и в офисе
Настроим любые Wi-Fi роутеры с выездом к вам на дом или в офис по Минску. Современные компьютерные технологии предлагают пользователю все новые достижения, способные сделать работу с компьютером и
Услуги ремонта компьютеров с выездом в офис
Каждый из нас хоть раз сталкивался с неожиданной поломкой компьютера, его комплектующих, или же выхода из строя программного обеспечения. Зачастую, это происходит в самый неподходящий момент: когда
Услуги по настройке модемов на дому и в офисе
Настроим роутеры белорусских интернет провайдеров с выездом на дом и в офис по Минску. Сегодня многие пользователи знакомы с беспроводными сетями, знают о преимуществах их использования. Однако
Услуги настройки роутеров в офисе и на дому
Использование маршрутизатора (англ. router) возможно только после его правильной настройки, а это не так уж и просто. Как правило нет опредёлённой методологии для осуществления настройки, ведь
Услуги монтажа локальной вычислительной сети
Прокладка локальных сетей это комплексная работа, которая выполняется нашими специалистами качественно, продуманно и в сроки, четко оговоренные с заказчиком. На сегодняшний день, прокладка
Услуги чистки ноутбуков от пыли в офисе
Одна из самых распространенных неисправностей ноутбука является перегрев из-за забившейся пылью системы охлаждения. В следствии чего ноутбук тормозит, а порой даже выключается.  Если Ваш
Услуги по модернизации компьютеров в офисе
Модернизация компьютеров предполагает изменение модульной конструкции компьютера, при обеспечении совместимости комплектующих. Основной целью модернизации является изменение качественных
Услуги настройки компьютера с выездом в офис
Сегодня невозможно себе представить работу офиса без компьютера, компьютерная техника есть почти в каждом доме: стационарные компьютеры, ноутбуки, принтеры, сканеры и так далее. К сожалению, в работе
Услуги подключения и настройки периферийных устройств
Если Вы приобрели оборудование для персонального компьютера, но не знаете как его установить и настроить, не хотите копаться в тонкостях подобных работ или же не имеете на это время, опытные
Услуги разработки сайтов на CMS Joomla
Разработка сайтов визиток на Joomla для маленьких компаний и их маркетинговое развитие – одна из наших специализаций. Зачастую, чтобы привлечь клиентов в интернете достаточно описания товара или
Услуги переустановки macOS с выездом в офис
Услуги установки Mac OS X иногда требуются пользователям, если накопилось много ненужных настроек или программного обеспечение, которое уже не нужно или даже является вредоносным. Не только для
Услуги установки и расширения Wi-Fi сети
Всё более востребованными являются услуги установки и расширения Wi-Fi в Минске. В кафе и ресторанах Wi-Fi устанавливают в маркетинговых целях. В офисах для работы с ноутбуками, принтерами и
Услуги по установке и обслуживанию MikroTik
Профеcсиональные маршрутизаторы MikroTik представляет собой миникомпьютер с пpогpамным обеспечением на основе Linux. В нём заложены мощные возможности и гибкость настройки.  Их
Услуги восстановления macOS с выездом в офис
Мы также оказываем услуги по восстановлению упавшей операционной системы macOS X или полную переустановку системы с сохранением всех пользовательских данных. Не нужно везти компьютер к нам, мастер
Услуги по SEO продвижению сайтов Joomla
Успешно оказываем услуги по продвижению сайтов Joomla. Мы знаем, что такое продвижение бизнеса в интернете, и поможем вашему сайту приводить новых клиентов, а вам получать прибыль.
«
»
  • 1
  • 2
Рекламодатели перечислили альтернативные YouTube площадки для размещения рекламы
Вот уже более 2-х недель российские рекламодатели не могут размещать свои ролики на YouTube. Примерно половина всех рекламных бюджетов приходилась именно на этот видеохостинг, который позволял делать
Facebook и Instagram признаны экстремистскими в РФ
Facebook (ныне входит в корпорацию Meta) никогда не была белой и пушистой. Уже очень давно Марк Цукерберг отдал контроль за публикациями в руки американских спецслужб, позволив отслеживать действия
Роскомнадзор назвал причину для блокировки Google и YouTube – русофобская политика сервисов
Вчера из РИА поступила тревожная новость: Роскомнадзор от намерений заблокировать YouTube на территории России переходит к действию. Ограничения, как предполагалось, полноценно введут к концу

Авторизация