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

Прочитано 71925 раз Последнее изменение Вторник, 23 Август 2022 13:40

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

Комментарии   

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

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

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

Через месяц эпидемия короновируса накроет РБ
В связи с распространением коронавируса настоятельно рекомендуется использовать UDP вместо TCP, чтобы избежать лишних рукопожатий.   Друг из Китая сказал, что лучше не брать коронавирус Covid-19, так как в сентябре выйдет новая версия Covid-20.   - Рабинович, вы заболели и до
Твой кролик написал - Your Bunny Wrote
Американские программисты очень долго не могли понять почему их pyсские коллеги пpи зависании Windows всё время повторяют фpазy твой кролик написал (Your Bunny Wrote) (английский вариант следует прочитать быстро).
Анекдот дня
Что делает сисадмин, просыпаясь после дикой пьянки?— Тестирует память…
Анекдот дня
Переустановка Windows - как разморозка холодильника. Помогает, но ненадолго..  
Что делает сисадмин?
Сисадмин сидит в баре и хлещет пиво.Подходит к нему девица и спрашивает:— Молодой человек, а сколько сейчас времени, хи-хи, не подскажете?Сисадмин берет ее за руку, показывает на часы на ее руке и с ненавистью в голосе говорит:— ВОТ ЗДЕСЬ... ВСЕ.... НАПИСАНО!!!
«
»
  • 1
  • 2
  • 3
  • 4
  • 5

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

Услуги по удалённой настройке MikroTik от профессионала
Полноценное использование маршрутизатора MikroTik достигается только в результате его грамотной настройки. Неопытный специалист может очень долго провозиться с маршрутизатором, так и не заставив его
Услуги переустановки Windows с выездом в офис
Переустановка Windows на дому и офисе с выездом по Минску весьма востребованная услуга. Иногда ввиду заражения вирусами или вредоносными программами, а также после случайно удаления системных
Услуги ремонта компьютеров с выездом в офис
Каждый из нас хоть раз сталкивался с неожиданной поломкой компьютера, его комплектующих, или же сбоя в программном обеспечении. Зачастую, это происходит в самый неподходящий момент: когда нужно
Услуги настройки Wi-Fi сети на дому и в офисе
Настроим любые Wi-Fi роутеры с выездом к вам на дом или в офис по Минску. Современные компьютерные технологии предлагают пользователю все новые достижения, способные сделать работу с компьютером и
Услуги по настройке модемов на дому и в офисе
Настроим роутеры белорусских интернет провайдеров с выездом на дом и в офис по Минску. Сегодня многие пользователи знакомы с беспроводными сетями, знают о преимуществах их использования. Однако
Услуги установки и настройки свободных программ
Для начинающих пользователей Windows и Mac мы предлагаем услуги установки и настройки свободного программного обеспечения с выездом по Минску в офис. Предлагаем вам установить: пакет офисных
Услуги настройки роутеров в офисе и на дому
Использование маршрутизатора (англ. router) возможно только после его правильной настройки, а это не так уж и просто. Как правило нет опредёлённой методологии для осуществления настройки, ведь
Услуги настройки и обслуживания локальных сетей
Настройка локальной сети в Минске является ответственным этапом запуска сетей и требует тщательной проработки квалифицированными специалистами. Локальные сети (проводные и беспроводные) дают
Услуги монтажа локальной вычислительной сети
Прокладка локальных сетей это комплексная работа, которая выполняется нашими специалистами качественно, продуманно и в сроки, четко оговоренные с заказчиком. На сегодняшний день, прокладка
Услуги подключения и настройки периферийных устройств
Если Вы приобрели оборудование для персонального компьютера, но не знаете как его установить и настроить, не хотите копаться в тонкостях подобных работ или же не имеете на это время, опытные
Услуги чистки ноутбуков от пыли в офисе
Одна из самых распространенных неисправностей ноутбука является перегрев из-за забившейся пылью системы охлаждения. В следствии чего ноутбук тормозит, а порой даже выключается.  Если Ваш

Авторизация