Информация
Настройка
Новости
Контакты
Новинка
Хит
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
  • Changelogs
  • Архив
    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 Корзина
    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 Корзина
    Статьи
    Настройки
    NAT в RouterOS

    NAT в RouterOS

     13788

    Что такое трансляция сетевых адресов (NAT)? Представьте, что у вас дома есть несколько устройств, которые подключены к интернету через один и тот же Wi-Fi роутер. NAT — это правило интернета, которое позволяет всем этим устройствам иметь один общий адрес для внешнего мира, но уникальные адреса внутри вашего дома. Это как если бы у вашего дома был один почтовый адрес, но много разных комнат. Шлюз NAT — это ваш Wi-Fi роутер, который помогает пересылать пакеты данных (почту) между вашими устройствами и интернетом.

    Когда вы заходите на сайт, NAT запоминает это действие и использует его для всех последующих данных, которые принадлежат этому соединению.

    Важно: Если вы меняете настройки NAT, вам нужно обновить информацию в вашем роутере, чтобы все продолжало работать правильно.

    Виды NAT

    Исходящий NAT (srcnat) работает с данными, которые отправляются из вашей сети в интернет. Ваш роутер заменяет ваш внутренний адрес на общедоступный, когда данные проходят через него. А для данных, идущих обратно, происходит обратное действие.

    Входящий NAT (dstnat) нужен для того, чтобы данные из интернета могли достичь определённого устройства в вашей сети. Это полезно, например, если вы хотите, чтобы ваш домашний сервер был доступен извне.

    С появлением новой версии RouterOS, в настройках NAT появились дополнительные опции для управления данными, которые идут непосредственно на роутер или отправляются с него:

    • input — для данных, приходящих на роутер.
    • output — для данных, отправляемых с роутера.
    /ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=22 to-addresses=10.0.0.3 protocol=tcp

    Это правило NAT говорит, что если кто-то хочет подключиться к вашему серверу по адресу 172.16.16.1 через порт 22, роутер автоматически перенаправит этот запрос на устройство с внутренним IP-адресом 10.0.0.3.

    Чтобы увеличить безопасность, можно настроить NAT так, чтобы подключения были возможны только с определённого внешнего адреса.

    Зачем нужен NAT?

    NAT, или трансляция сетевых адресов, это способ, как ваш домашний Wi-Fi роутер позволяет всем устройствам в доме общаться с внешним интернетом, используя один общий IP-адрес. Это немного похоже на то, как в квартире один почтовый ящик используется для всех кто в ней живет.

    Допустим, вы хотите дать доступ к вашему офисному серверу из любой точки мира. Вам нужно настроить специальные правила на вашем офисном роутере, чтобы интернет-трафик мог найти этот сервер.

    /ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=22 to-addresses=10.0.0.3 protocol=tcp

    Это правило говорит: "Когда кто-то хочет подключиться к порту 22 на адресе 172.16.16.1, направьте это соединение к серверу с внутренним IP 10.0.0.3".

    Если вы хотите сделать подключение еще более безопасным, можно ограничить доступ только с вашего домашнего IP-адреса, например, с 192.168.88.1.

    Как работает исходящий NAT?

    Исходящий NAT или «маскарадинг» позволяет вашим устройствам, например, офисному компьютеру или серверу, выходить в интернет, скрывая их реальные адреса за одним общедоступным IP-адресом. Это как если бы вы отправляли письма с общего адреса, а не с личного.

    /ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=src-nat to-addresses=172.16.16.1 out-interface=WAN
    /ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=masquerade out-interface=WAN

    Когда ваш интернет-канал изменяется или отключается, роутер автоматически "очищает" все настройки, связанные с исходящим трафиком, что позволяет быстро восстановить соединение.

    Однако, если у вас есть проблемы со стабильностью связи, это может привести к непредвиденным ситуациям:

    • Когда интернет временно отключается, все текущие соединения "забываются" роутером;
    • Пакеты данных от «потерянных» соединений рассматриваются как новые, если основной канал еще не работает, и могут быть перенаправлены через запасной маршрут;
    • Когда основное соединение восстанавливается, данные начинают идти через него, но уже без использования маскарадинга, что может раскрыть ваши внутренние IP-адреса.

    Чтобы избежать проблем, можно настроить специальный маршрут, который будет действовать как "черная дыра" для данных, если основной канал связи перестанет работать. Это поможет предотвратить непреднамеренное раскрытие внутренних адресов.

    Когда вы используете NAT, устройства за роутером не могут напрямую соединяться с внешним миром, что иногда мешает работе некоторых интернет-сервисов. Например, игры или сервисы, требующие прямого соединения через TCP или UDP, могут работать нестабильно.

    В MikroTik RouterOS есть специальные "помощники NAT", которые позволяют обойти эти ограничения для определенных типов трафика. Это значит, что даже при использовании NAT, вы можете настроить доступ так, чтобы большинство интернет-приложений работало без проблем.

    Маскарадинг и исходящий NAT, хоть и выполняют похожие функции — скрывают ваш внутренний IP за общедоступным, — работают немного по-разному. Маскарадинг автоматически выбирает IP-адрес интерфейса, через который проходит трафик, в качестве исходного адреса для пакетов данных.

    Что такое CGNAT?

    CGNAT — это способ, с помощью которого интернет-провайдеры экономят IP-адреса, необходимые для подключения к интернету. Вместо того чтобы давать каждому устройству уникальный IP-адрес, CGNAT позволяет множеству устройств делиться одним адресом. Это похоже на большой офис, где у всех один и тот же почтовый адрес, но с разными внутренними номерами кабинетов.

    Этот метод использует специальное пространство адресов (100.64.0.0/10) внутри сети провайдера и преобразует их в один или несколько общедоступных IP-адресов на выходе в интернет.

    Как настроить CGNAT?

    /ip firewall nat

    add chain=src-nat action=srcnat src-address=100.64.0.0/10 to-address=2.2.2.2 out-interface=

    • 2.2.2.2 - это общедоступный IP-адрес, используемый для доступа в интернет.
    • public_if - это интерфейс роутера, который подключен к интернету.

    Преимущества CGNAT очевидны: меньше нужно общедоступных IP-адресов, что экономит ресурсы. Однако есть и недостатки:

    • Роутеры провайдеров должны работать интенсивнее, чтобы отслеживать все адресные преобразования, что требует дополнительных вычислительных мощностей.
    • Могут возникать проблемы с играми в интернете, когда игроки находятся за одним общедоступным IP.
    • Сложнее отслеживать активность пользователей по юридическим требованиям, так как многие используют один и тот же IP.
    • Усложняется настройка входящих подключений, например, для веб-серверов или IP-телефонии, так как обычная переадресация портов не работает.
    • Возможно достижение лимита подключений к некоторым онлайн-сервисам, так как все подключения идут с одного IP.
    • Технологии, требующие уникальных IP-адресов, такие как 6to4, не будут работать должным образом.

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

    /ip firewall filter
    add chain=input src-address=100.64.0.0/10 action=drop in-interface=<;public_if>
    add chain=output dst-address=100.64.0.0/10 action=drop out-interface=<;public_if>
    add chain=forward src-address=100.64.0.0/10 action=drop in-interface=<;public_if>
    add chain=forward src-address=100.64.0.0/10 action=drop out-interface=<;public_if>
    add chain=forward dst-address=100.64.0.0/10 action=drop out-interface=<;public_if>

    Интернет-провайдерам иногда сложно следить за всеми адресами в большой сети, особенно когда используется технология, которая позволяет многим пользователям делиться одним IP-адресом. Но есть хорошая новость: существует специальное правило (называемое RFC 7422), которое помогает упростить этот процесс. Вместо того чтобы вести подробный учет каждого подключения, это правило позволяет автоматически соотносить личные адреса пользователей с определенными диапазонами портов общедоступного IP-адреса.

    Это делает управление сетью проще и помогает быстро находить и решать проблемы, если кто-то использует интернет для недобросовестных целей.

    В RouterOS описанный алгоритм можно выполнить с помощью нескольких функций скрипта. Давайте рассмотрим пример:

    Внутренний IP Внешний IP/Диапазон портов
    100.64.1.1 2.2.2.2:2000-2099
    100.64.1.2 2.2.2.2:2100-2199
    100.64.1.3 2.2.2.2:2200-2299
    100.64.1.4 2.2.2.2:2300-2399
    100.64.1.5 2.2.2.2:2400-2499
    100.64.1.6 2.2.2.2:2500-2599

    Вместо ручного написания правил NAT, мы могли бы написать функцию, которая добавляет такие правила автоматически.

    :global sqrt do={ 
    :for i from=0 to=$1 do={
    :if ($i * $i) $1 do={ :return ($i - 1) }
    }
    }

    :global addNatRules do={
    /ip firewall nat add chain=srcnat action=jump jump-target=xxx \
    src-address="$($srcStart . $count)"

    :local x [ :$sqrt $count]
    :local y $x
    :if ($x * $x $count) do={ :set y ($x + 1) }
    :for i from=0 to=$y do={
    /ip firewall nat add chain=xxx action=jump jump-target=xxx-$($i) \
    src-address="$($srcStart + ($x * $i))-$($srcStart + ($x * ($i + 1) - 1))"
    }

    :for i from=0 to=($count - 1) do={
    :local prange "$($portsStart + ($i * $portsPerAddr))-$($portsStart + (($i + 1) * $portsPerAddr) - 1)"
    /ip firewall nat add chain=xxx-($i / $x)" action=src-nat protocol=tcp src-address=($srcStart + $i) \
    to-address=$toAddr to-ports=$prange
    /ip firewall nat add chain="xxx-($i / $x)" action=src-nat protocol=udp src-address=($srcStart + $i) \
    to-address=$toAddr to-ports=$prange
    }
    }

    Когда вы добавляете определенный скрипт в вашу сетевую систему, он позволяет использовать новую функцию под названием "addNatRules". Допустим, у нас есть задача настроить правила для шести разных устройств в нашей сети, чтобы все они могли соединяться с интернетом через один и тот же внешний IP-адрес, который для нас является 2.2.2.2. Каждому устройству мы хотим дать возможность использовать свой уникальный диапазон из 100 портов, начиная с номера 2000. Используя эту новую функцию, мы можем легко настроить эти правила.

    $addNatRules count=6 srcStart=100.64.1.1 toAddr=2.2.2.2 portStart=2000 portsPerAddr=100

    Теперь вы должны быть в состоянии получить набор правил:

    [admin@rack1_b18_454] /ip firewall nat print 
    Flags: X - disabled, I - invalid, D - dynamic
    0 chain=srcnat action=jump jump-target=xxx src-address=100.64.1.1.0/26 log=no log-prefix=""
    1 chain=xxx action=jump jump-target=xxx-0 src-address=100.64.1.1.0/26 log=no log-prefix=""
    2 chain=xxx action=jump jump-target=xxx-1 src-address=100.64.1.1.0/26 log=no log-prefix=""
    3 chain=xxx action=jump jump-target=xxx-2 src-address=100.64.1.1.0/26 log=no log-prefix=""
    4 chain=xxx-0 action=src-nat to-addresses=2.2.2.2 to-ports=2000-2099 protocol=tcp src-address=100.64.1.1.0/26 log=no log-prefix=""
    5 chain=xxx-0 action=src-nat to-addresses=2.2.2.2 to-ports=2000-2099 protocol=udp src-address=100.64.1.1.0/26 log=no log-prefix=""
    6 chain=xxx-0 action=src-nat to-addresses=2.2.2.2 to-ports=2100-2199 protocol=tcp src-address=100.64.1.1.0/26 log=no log-prefix=""
    7 chain=xxx-0 action=src-nat to-addresses=2.2.2.2 to-ports=2100-2199 protocol=udp src-address=100.64.1.1.0/26 log=no log-prefix=""
    8 chain=xxx-1 action=src-nat to-addresses=2.2.2.2 to-ports=2200-2299 protocol=tcp src-address=100.64.1.1.0/26 log=no log-prefix=""
    9 chain=xxx-1 action=src-nat to-addresses=2.2.2.2 to-ports=2200-2299 protocol=udp src-address=100.64.1.1.0/26 log=no log-prefix=""
    10 chain=xxx-1 action=src-nat to-addresses=2.2.2.2 to-ports=2300-2399 protocol=tcp src-address=100.64.1.1.0/26 log=no log-prefix=""
    11 chain=xxx-1 action=src-nat to-addresses=2.2.2.2 to-ports=2300-2399 protocol=udp src-address=100.64.1.1.0/26 log=no log-prefix=""
    12 chain=xxx-2 action=src-nat to-addresses=2.2.2.2 to-ports=2400-2499 protocol=tcp src-address=100.64.1.1.0/26 log=no log-prefix=""
    13 chain=xxx-2 action=src-nat to-addresses=2.2.2.2 to-ports=2400-2499 protocol=udp src-address=100.64.1.1.0/26 log=no log-prefix=""
    14 chain=xxx-2 action=src-nat to-addresses=2.2.2.2 to-ports=2500-2599 protocol=tcp src-address=100.64.1.1.0/26 log=no log-prefix=""
    15 chain=xxx-2 action=src-nat to-addresses=2.2.2.2 to-ports=2500-2599 protocol=udp src-address=100.64.1.1.0/26 log=no log-prefix=""

    Что такое NAT с волосковым контуром?

    NAT с волосковым контуром (или NAT Loopback) это когда вы можете обращаться к устройствам в вашей собственной домашней сети через внешний IP-адрес, который обычно используется для доступа из интернета. Это как если бы вы звонили на свой домашний номер телефона с мобильного телефона, находясь дома, и ожидали, что кто-то внутри дома ответит.

    Пример правила для настройки NAT Loopback в вашем роутере выглядит так:

    /ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=443 to-addresses=10.0.0.3 to-ports=443 protocol=tcp
    

    Как это работает:

    • Когда вы с домашнего компьютера пытаетесь получить доступ к веб-серверу в вашей сети, вы используете внешний IP-адрес роутера.
    • Роутер "понимает", что вы хотите подключиться к устройству внутри сети и направляет запрос к нужному устройству.
    • Ответ от сервера возвращается обратно на ваш компьютер, как если бы вы обращались к нему напрямую по внутреннему IP-адресу.

    Но если кто-то попытается подключиться к этому же внешнему IP-адресу, находясь внутри вашей сети, могут возникнуть проблемы без дополнительных настроек:

    • Ваш запрос будет перенаправлен непосредственно на сервер, минуя роутер, и сервер ответит напрямую, что может вызвать путаницу в сети.

    Как настроить NAT для работы независимо от конечной точки

    Этот тип NAT позволяет вашим устройствам подключаться к интернету, используя одни и те же порты и IP-адреса, что упрощает управление сетью. Он особенно полезен для UDP-трафика, например, для онлайн-игр или видеозвонков.

    Пример правила для настройки:

    /ip firewall nat add action=endpoint-independent-nat chain=srcnat out-interface=WAN protocol=udp
    

    Это правило гарантирует, что входящий и исходящий трафик использует одни и те же порты и IP-адреса, облегчая обмен данными через ваш роутер.

    Дополнительные настройки:

    • randomize-port - эта опция позволяет рандомизировать порты, увеличивая безопасность вашей сети.

    IPv4

    Свойства

    Характеристика Описание
    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 [/exp.

    • count - максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
    • time - задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно)
    • burst - количество пакетов, не учитываемых по пакетной скорости
    • mode - классификатор для ограничения скорости передачи пакетов
    • expire - указывает интервал, после которого записанный ip-адрес /порт будет удален (необязательно)
    dst-port
    (целое число [- integer]: 0..65535;
    по умолчанию: )
    Список номеров портов назначения (через запятую) или диапазонов номеров портов
    fragment
    (да / нет; по умолчанию: )
    Соответствует фрагментированным пакетам. Первый (стартовый) фрагмент не считается. Если отслеживание соединений включено, то фрагментов не будет, так как система автоматически собирает каждый пакет
    hotspot
    (auth | from-client / http / local-dst | to-client;
    по умолчанию: )
    Сопоставляет пакеты, полученные от клиентов HotSpot, с различными Сопоставителями Hot.

    • 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; по умолчанию: )
    Соответствует параметрам заголовка .

    • 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], b.

    • count - максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
    • time - задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно, если не указано значение 1s)
    • burst-количество пакетов, не учитываемых по пакетной скорости
    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, HighPortWt

    • WeightThreshold - общий вес последних пакетов TCP / UDP с различными портами назначения, поступающих с одного хоста и обрабатываемых как последовательность сканирования портов.
    • DelayThreshold-задержка для пакетов с разными портами назначения, поступающих с одного и того же хоста, которые будут обрабатываться как возможная подпоследовательность сканирования портов
    • LowPortWeight-вес пакетов с привилегированным (<1024) портом назначения
    • 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 пакетов

    Статистика

    Свойство Описание
    packets (целое число) Общее количество пакетов, соответствующих правилу
    bytes (целое число) Общее количество байтов, соответствующих правилу

    Для отображения дополнительных свойств только для чтения

    [admin@MikroTik] > ip firewall nat print stats all
    Flags: X - disabled, I - invalid, D - dynamic
    # CHAIN ACTION BYTES PACKETS
    0 srcnat masquerade 265 659 987

    IPv6

    Поддержка NAT66 доступна начиная с RouterOS v7.1.

    ipv6/firewall/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:port и длину пакета. После того как пакет соответствует правилу, он передается следующему правилу в списке, аналогично passthrough
    • masquerade - замена порта исходного IP на порт, указанный параметром to-ports и замена исходного адреса IP на IP, определенный маршрутизационной установкой.
    • netmap - создает статическое 1:1 отображение одного набора IP-адресов на другой. Часто используется для отображения публичных IP-адресов на хосты в частных сетях
    • passthrough - если пакет соответствует правилу, увеличивается счетчик и переход к следующему правилу (полезно для статистики).
    • redirect - заменяет порт назначения IP-пакета на порт, указанный параметром to-ports и замена адреса назначения на один из локальных адресов маршрутизатора
    • return - передает управление обратно в цепочку, откуда был сделан jump
    • src-nat - заменяет исходный адрес IP-пакета на значения, указанные параметрами to-addresses и to-ports
    address-list (строка; По умолчанию: )Имя списка адресов, который будет использоваться. Применимо, если действие add-dst-to-address-list или add-src-to-address-list
    address-list-timeout (none-dynamic | none-static | время; По умолчанию: 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 (целое-целое; По умолчанию: )Соответствует пакетам только если определенное количество байт было передано через конкретное соединение.
    connection-limit (целое,маска; По умолчанию: )Соответствует соединениям по адресу или блоку адресов после достижения заданного значения.
    connection-mark (no-mark | строка; По умолчанию: )Соответствует отмеченным соединениям с помощью утилиты управления с определенной отметкой соединения. Если no-mark установлен, соответствует любому неотмеченному соединению.
    connection-rate (целое 0.4294967295; По умолчанию: )Rate - это механизм брандмауэра, который позволяет фильтровать трафик на основе текущей скорости соединения.
    connection-state (установлено | недействительно | новое | связанное | неотслеживаемое; По умолчанию: )

    анализирует данные аналитики отслеживания соединений для конкретного пакета:

    • established - пакет, принадлежащий к существующему соединению
    • invalid - пакет, который не имеет определенного состояния в отслеживании соединений (обычно - пакеты с неправильной последовательностью/подтверждением, пакеты с неправильным числом ack, или в случае использования на маршрутизаторе ресурсов), по этой причине недействительный пакет не будет участвовать в NAT (только состояние connection-state=new пакеты делают), и будет по-прежнему содержать исходный исходный IP-адрес, когда маршрутизируется. Мы настоятельно рекомендуем отбрасывать все пакеты с состоянием connection-state=invalid в брандмауэрах фильтра вперед и входящих цепях
    • new - пакет, который начал новое соединение, или иным образом связан с соединением, которое еще не отправляло пакеты в обоих направлениях.
    • related - пакет, который связан с соединением, но не является частью существующего соединения, например, ICMP ошибки или пакет, который начинает FTP данных соединения
    • untracked - пакет, который был установлен для обхода отслеживания соединения в брандмауэре RAW таблицах.
    connection-type (ftp | h323 | irc | pptp | quake3 | sip | tftp; По умолчанию: ) Соответствует пакетам от связанных соединений на основе информации от их отслеживания соединений помощников. Для соответствующего соединения помощник должен быть включен под /ip firewall service-port
    content (строка; По умолчанию: ) Соответствует пакетам, которые содержат определенный текст
    dscp (целое 0..63; По умолчанию: ) Соответствует заголовку IP пакета DSCP.
    dst-address (IP/netmask | IP range; По умолчанию: ) Соответствует пакетам, адрес назначения которых равен указанному IP или попадает в указанный диапазон IP.
    dst-address-list (имя; По умолчанию: ) Соответствует адресу назначения пакета против пользовательского списка адресов.
    dst-address-type (unicast | local | broadcast | multicast; По умолчанию: )
    • unicast - IP-адрес используется для точечной передачи
    • local - dst-address присваивается одному из интерфейсов маршрутизатора
    • broadcast - пакет отправляется на все устройства в подсети
    • multicast - пакет перенаправляется определенной группе устройств
    dst-limit (integer/time;integer,dst-address [dst-port | src-address/time]; По умолчанию: )

    Соответствует пакетам до тех пор, пока не будет превышен заданный предел PPS.

    В отличие от сопоставителя limit, каждый адрес/порт назначения IP имеет свой собственный limit.

    Параметры записаны в следующем формате: count[/time],burst,mode[/expire].

    dst-port (integer-integer); 0.65535; По умолчанию: ) Список номеров портов назначения или диапазонов портов в формате Range[/Port], например, dst-port=123-345,456-678
    icmp-options (integer/integer; По умолчанию: ) Соответствует кодам полей типа ICMP.
    in-bridge-port (имя; По умолчанию: ) Фактический интерфейс, через который пакет вошел в маршрутизатор, если входящий интерфейс является мостом.
    in-bridge-port-list (имя; По умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов моста. Работает так же, как и in-bridge-port.
    in-interface (имя; По умолчанию: ) Интерфейс, через который пакет вошел в маршрутизатор.
    in-interface-list (имя; По умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов. Работает так же, как и in-interface.
    ingress-priority (целое 0..63; По умолчанию: ) Соответствует приоритету пакета при входе. Приоритет может быть получен из VLAN, WMM или MPLS EXP бит.
    ipsec-policy (in | out, ipsec | none; По умолчанию: )

    Соответствует политике, используемой IPSec. Значение записано в следующем формате: направление, политика. Используется для выбора, соответствует ли политика, используемая для декапсуляции или капсуляции.

    • in - соответствует, если пакет подлежит обработке IPSec
    • out - соответствует, если пакет прошел обработку IPSec
    • ipsec - соответствует, если пакет проходит обработку IPSec
    • none - соответствует пакету, который не подлежит обработке IPSec (например, пакеты транспорта IPSec).

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

    jump-target (имя; По умолчанию: ) Указывает цель перехода jump. Применяется только если action=jump
    layer7-protocol (имя; По умолчанию: ) Фильтр Layer7 с именем, определенным в меню протоколов layer7.
    limit (целое/время,целое; По умолчанию: )

    Соответствует пакетам, только если превышен указанный предел PPS. Параметры записаны в следующем формате: количество[/время],бурст.

    • count - максимальная средняя скорость пакетов, измеряемая в пакетах за время
    • time - указывает время, в течение которого измеряется скорость пакетов (необязательно)
    • burst - количество пакетов, не учитываемых при измерении скорости пакетов
    log (yes | no; По умолчанию: no) Добавляет сообщение в системный журнал, содержащее следующие данные: in-interface, out-interface, src-mac, protocol, src-ip:port->dst-ip:port и длину пакета.
    log-prefix (строка; По умолчанию: ) Добавляет указанный текст в начале каждого системного сообщения журнала. Применимо, если action=log или log=yes настроено.
    out-bridge-port (имя; По умолчанию: ) Фактический интерфейс, через который пакет покидает маршрутизатор, если исходящий интерфейс является мостом.
    out-bridge-port-list (имя; По умолчанию: ) Набор интерфейсов, определенных в списке мостов. Работает так же, как out-bridge-port.
    out-interface (По умолчанию: ) Интерфейс, через который пакет покидает маршрутизатор.
    out-interface-list (имя; По умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов. Работает так же, как out-interface.
    packet-mark (no-mark | строка; По умолчанию: ) Соответствует пакетам, отмеченным определенной меткой пакета. Если no-mark установлен, правило будет соответствовать любому немаркированному пакету.
    packet-size (целое/целое); 0..65535; По умолчанию: ) Соответствует пакетам определенного размера или диапазона размеров в байтах.
    per-connection-classifier (ValuesToHash:Denominator/Remainder; По умолчанию: ) Классификатор PCC позволяет разделить трафик на равные потоки с возможностью поддерживать пакеты с определенным набором опций в одном конкретном потоке.
    port (целое/целое); 0..65535; По умолчанию: ) Соответствует если любой (источник или назначение) порт соответствует указанному списку портов или диапазонов портов. Применимо только если protocol является TCP или UDP.
    protocol (имя или protocol ID; По умолчанию: tcp) Соответствует определенному IP-протоколу, указанному по имени протокола или номеру.
    priority (целое; 0..63; По умолчанию: ) Соответствует приоритету пакета после того, как был установлен новый приоритет. Приоритет может быть получен из VLAN, WMM, DSCP, MPLS EXP бита, или из приоритета, который был установлен при использовании действия set-priority.
    random (целое; 1..99; По умолчанию: ) Соответствует пакетам случайно с заданной вероятностью.
    routing-mark (строка; По умолчанию: ) Соответствует пакетам, отмеченным определенной маркировкой маршрутизации.
    src-address (IP/Netmask, IP range; По умолчанию: ) Соответствует пакетам, источник которых равен указанному IP или попадает в указанный IP диапазон.
    src-address-list (имя; По умолчанию: ) Соответствует источнику адреса пакета против определенного списка адресов.
    src-address-type (unicast | local | broadcast | multicast; По умолчанию: )

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

    • unicast - если IP-адрес используется для точечной передачи
    • local - если адрес назначения присвоен одному из интерфейсов маршрутизатора
    • broadcast - если пакет отправляется на все устройства в подсети
    • multicast - если пакет направлен определенной группе устройств
    src-port (целое-целое); 0..65535; По умолчанию: ) Список источниковых портов и диапазонов источниковых портов. Применяется только если протокол TCP или UDP.
    tcp-flags (ack | cwr | ece | fin | psh | rst | syn | urg; По умолчанию: )

    Список определенных флагов TCP:

    • ack - подтверждение данных
    • cwr - уменьшение размера окна перегрузки
    • ece - флаг ECN-эхо (явное уведомление о перегрузке)
    • fin - закрытие соединения
    • psh - функция толчка
    • rst - разрыв соединения
    • syn - новое соединение
    • urg - срочные данные
    src-mac-address (MAC адрес; По умолчанию: ) Соответствует источнику MAC адреса пакета.
    tcp-mss (целое-целое); 0..65535; По умолчанию: ) Соответствует значению MSS TCP пакета.
    time (время-время,sat | fri | thu | wed | tue | mon | sun; По умолчанию: ) Создает фильтр, основанный на времени отправления пакетов и дате, для локально созданных пакетов, время отправления и дата.
    to-addresses (IP адрес/IP адрес; По умолчанию: 0.0.0.0) Заменяет оригинальный адрес с указанным адресом. Применимо, если действие dst-nat, netmap, same, src-nat.
    to-ports (целое-целое); 0..65535; По умолчанию: ) Заменяет оригинальный порт с указанным портом. Применимо, если действие dst-nat, redirect, masquerade, netmap, same, src-nat.
    Статистика
    Свойство Описание
    bytes (целое) Общее количество байт, соответствующих правилу
    packets (целое) Общее количество пакетов, соответствующих правилу

    Чтобы отобразить дополнительные свойства, доступные только для чтения:

    ipv6/firewall/nat/print stats

    Читайте так же

    • Настройка доступа к компьютеру в компании через MikroTik с использованием Radmin
    • RouterOS Enterprise: сервер хранения данных на базе вашего маршрутизатора
    • NFS на устройствах MikroTik с RouterOS
    • Новое в реализации SMB на устройствах MikroTik с RouterOS
    • Протокол точного времени
    • Конфигурация DNS на маршрутизаторе MikroTik
    Назад к списку
      Подпишитесь на рассылку наших новостей и акций
      Подписаться
      +7 495 320-55-52
      info@mikrotik.moscow
      Электрозаводская, Бауманская
      Москва, ул. Бакунинская, 84с21
      Конфиденциальность Оферта
      © 2025 «Mikrotik.Moscow»
      Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры