Введение
Если требуется раздать интернет нескольким клиентам так, чтобы каждый из них выходил
в сеть под собственным внешним IP-адресом, классический Masquerade NAT не подходит —
он скрывает всех клиентов за одним адресом роутера. Для такой задачи используется
схема 1:1 NAT (Static NAT): провайдер выделяет пул внешних IP-адресов,
и каждый из них жёстко привязывается к конкретному внутреннему клиенту через пару
правил srcnat / dstnat.
Такая конфигурация востребована у небольших интернет-провайдеров, в бизнес-центрах,
коворкингах и на территориях с несколькими арендаторами, где каждому клиенту нужен
«белый» IP, изоляция от соседей и контроль скорости.
В статье рассмотрена настройка на MikroTik hAP ac lite (RouterOS), но инструкция применима к любой модели MikroTik.
Исходные данные и схема сети
Допустим, провайдер выделил подсеть из трёх публичных IP-адресов:
IP-адреса: 91.24.200.54 / 91.24.200.55 / 91.24.200.56
Шлюз: 91.24.200.33
Маска: 255.255.255.224 (/27)
Распределение адресов:
91.24.200.54 — сам MikroTik (управление)
91.24.200.55 — Клиент 1
91.24.200.56 — Клиент 2
Локальные подсети клиентов:
Клиент 1: 192.168.4.0/24 (порт ether2)
Клиент 2: 192.168.5.0/24 (порт ether3)
Распределение портов на роутере:
ether1 — WAN, подключение провайдера
ether2 — Клиент 1
ether3 — Клиент 2
ether4 — порт для управления / администрирования
Шаг 1. IP-адреса на WAN и LAN интерфейсах
Все выданные провайдером адреса добавляются на один физический порт ether1
как дополнительные (Secondary IP). Это нормальная практика — провайдер видит все три
адреса через один кабель, а дальнейшую маршрутизацию трафика к конкретным клиентам
обеспечивают правила NAT.
Через Winbox
IP → Addresses → [+]
91.24.200.54/27 interface: ether1
91.24.200.55/27 interface: ether1
91.24.200.56/27 interface: ether1
192.168.4.1/24 interface: ether2
192.168.5.1/24 interface: ether3
Через терминал
/ip address
add address=91.24.200.54/27 interface=ether1 comment="MikroTik own IP"
add address=91.24.200.55/27 interface=ether1 comment="Client1 external"
add address=91.24.200.56/27 interface=ether1 comment="Client2 external"
add address=192.168.4.1/24 interface=ether2 comment="Client1 LAN"
add address=192.168.5.1/24 interface=ether3 comment="Client2 LAN"
Шаг 2. Маршрут по умолчанию (шлюз провайдера)
Через Winbox
IP → Routes → [+]
Dst. Address: 0.0.0.0/0
Gateway: 91.24.200.33
Через терминал
/ip route
add dst-address=0.0.0.0/0 gateway=91.24.200.33
Шаг 3. Изоляция клиентов друг от друга
По умолчанию LAN-порты MikroTik объединены в один bridge — это значит, что
все клиенты находятся в одной сети и видят друг друга. Чтобы этого избежать,
клиентские порты нужно вывести из bridge и присвоить им собственные IP-подсети
(что уже сделано в Шаге 1).
Через Winbox
Bridge → Ports — удалить из списка ether2 и ether3.
Через терминал
/interface bridge port
remove [find interface=ether2]
remove [find interface=ether3]
Шаг 4. DHCP-серверы для клиентских портов
DHCP не обязателен, если клиент использует статический IP, но рекомендуется настроить его как резервный вариант.
Через Winbox
IP → DHCP Server → DHCP Setup
Interface: ether2
Network: 192.168.4.0/24
Gateway: 192.168.4.1
Range: 192.168.4.100-192.168.4.200
DNS: 8.8.8.8
Interface: ether3
Network: 192.168.5.0/24
Gateway: 192.168.5.1
Range: 192.168.5.100-192.168.5.200
DNS: 8.8.8.8
Через терминал
/ip pool
add name=pool-client1 ranges=192.168.4.100-192.168.4.200
add name=pool-client2 ranges=192.168.5.100-192.168.5.200
/ip dhcp-server
add name=dhcp-client1 interface=ether2 address-pool=pool-client1 disabled=no
add name=dhcp-client2 interface=ether3 address-pool=pool-client2 disabled=no
/ip dhcp-server network
add address=192.168.4.0/24 gateway=192.168.4.1 dns-server=8.8.8.8
add address=192.168.5.0/24 gateway=192.168.5.1 dns-server=8.8.8.8
Шаг 5. Правила 1:1 NAT (NAT-проброс на внешний IP)
Ключевая часть схемы. Для каждого клиента создаётся пара правил: srcnat
подменяет внутренний адрес клиента на внешний при исходящих соединениях,
dstnat перенаправляет входящие соединения с внешнего адреса на
внутренний IP клиента.
Через Winbox
IP → Firewall → NAT → [+]
# Клиент 1 — исходящий трафик
Chain: srcnat
Src. Address: 192.168.4.22
Action: src-nat
To Addresses: 91.24.200.55
# Клиент 1 — входящий трафик
Chain: dstnat
Dst. Address: 91.24.200.55
Action: dst-nat
To Addresses: 192.168.4.22
# Клиент 2 — исходящий трафик
Chain: srcnat
Src. Address: 192.168.5.22
Action: src-nat
To Addresses: 91.24.200.56
# Клиент 2 — входящий трафик
Chain: dstnat
Dst. Address: 91.24.200.56
Action: dst-nat
To Addresses: 192.168.5.22
Через терминал
/ip firewall nat
add chain=srcnat src-address=192.168.4.22 action=src-nat to-addresses=91.24.200.55 comment="Client1 out"
add chain=dstnat dst-address=91.24.200.55 action=dst-nat to-addresses=192.168.4.22 comment="Client1 in"
add chain=srcnat src-address=192.168.5.22 action=src-nat to-addresses=91.24.200.56 comment="Client2 out"
add chain=dstnat dst-address=91.24.200.56 action=dst-nat to-addresses=192.168.5.22 comment="Client2 in"
Важно: поле Dst. Address в правиле srcnat
и поле Src. Address в правиле dstnat должны оставаться
пустыми — указание там адреса 0.0.0.0 приведёт к тому, что правило не сработает.
Шаг 6. Ограничение скорости через Mangle и Queue Tree
В условиях 1:1 NAT инструмент Simple Queue часто не захватывает
трафик корректно — внутренний IP клиента не всегда совпадает с тем, что фактически
видит очередь после трансляции адресов. Надёжный способ — связка
Mangle (маркировка пакетов) + Queue Tree
(ограничение по меткам).
Через Winbox
IP → Firewall → Mangle → [+]
# Маркировка исходящего трафика клиента (upload)
Chain: forward
Src. Address: 192.168.4.0/24
Action: mark packet
New Packet Mark: client1-up
Passthrough: no
# Маркировка входящего трафика к клиенту (download)
Chain: forward
In. Interface: ether1
Out. Interface: ether2
Action: mark packet
New Packet Mark: client1-down
Passthrough: no
Queues → Queue Tree → [+]
Name: client1-upload
Parent: ether1
Packet Mark: client1-up
Max Limit: 15M
Name: client1-download
Parent: ether2
Packet Mark: client1-down
Max Limit: 15M
Через терминал
/ip firewall mangle
add chain=forward src-address=192.168.4.0/24 action=mark-packet new-packet-mark=client1-up passthrough=no
add chain=forward in-interface=ether1 out-interface=ether2 action=mark-packet new-packet-mark=client1-down passthrough=no
add chain=forward src-address=192.168.5.0/24 action=mark-packet new-packet-mark=client2-up passthrough=no
add chain=forward in-interface=ether1 out-interface=ether3 action=mark-packet new-packet-mark=client2-down passthrough=no
/queue tree
add name=client1-upload parent=ether1 packet-mark=client1-up max-limit=15M
add name=client1-download parent=ether2 packet-mark=client1-down max-limit=15M
add name=client2-upload parent=ether1 packet-mark=client2-up max-limit=15M
add name=client2-download parent=ether3 packet-mark=client2-down max-limit=15M
Логика направления: трафик от клиента к интернету (upload) выходит через
ether1, поэтому ограничивается на родительском интерфейсе
ether1. Трафик из интернета к клиенту (download) выходит через
порт клиента, поэтому ограничивается на ether2 / ether3
соответственно.
Важно: настройка типа очереди на клиентском порту
По умолчанию все порты MikroTik работают в режиме only-hardware-queue,
который обрабатывает трафик на уровне железа и обходит программные очереди Queue Tree.
Чтобы ограничение скорости работало, тип очереди на клиентском порту необходимо
сменить на ethernet-default.
Проверить и изменить можно в Queues → Interface Queues.
В колонке Active Queue Type должно быть значение
queue-tree — это означает что Queue Tree активен для данного порта.
Через Winbox
Queues → Interface Queues — дважды кликнуть на нужный порт:
Interface: ether2
Queue Type: ethernet-default
→ OK
После этого в колонке Active Queue Type значение изменится
с only-hardware-queue на queue-tree — ограничение
скорости начнёт работать.
Через терминал
/queue interface
set ether2 queue=ethernet-default
Важно: это нужно делать для каждого нового клиентского порта.
Например, если добавляется клиент на ether4 — аналогично меняем
тип очереди на ether4. Порт ether1 (WAN) также должен
иметь активный queue-tree — он отвечает за ограничение upload.
Шаг 7. Отключение Fasttrack
В RouterOS по умолчанию включено правило Fasttrack, которое
ускоряет обработку установленных соединений, минуя стандартный путь через
firewall. Проблема в том, что Fasttrack также обходит Mangle и Queue Tree —
из-за этого ограничение скорости не будет работать, пока правило активно.
Через Winbox
IP → Firewall → Filter Rules — найти правило
fasttrack connection в цепочке forward, выделить
и нажать Disable.
Через терминал
/ip firewall filter
set [find action=fasttrack] disabled=yes
Шаг 8. Безопасный удалённый доступ к MikroTik
Чтобы иметь возможность администрировать роутер через Winbox или SSH из внешней
сети, но не открывать доступ всем подряд, ограничьте вход по конкретному IP-адресу
администратора.
Через Winbox
IP → Firewall → Filter Rules → [+] (правило должно стоять выше остальных drop-правил для input):
Chain: input
Protocol: tcp
Dst. Port: 8291
In. Interface: ether1
Src. Address: ВАШ_ДОМАШНИЙ_IP
Action: accept
Через терминал
/ip firewall filter
add chain=input protocol=tcp dst-port=8291 in-interface=ether1 \
src-address=ВАШ_ДОМАШНИЙ_IP action=accept comment="Winbox remote access" place-before=0
Аналогично можно добавить правило для порта 22 (SSH), если требуется
доступ через терминал, а не только через Winbox.
Настройка роутера на стороне клиента
На своём роутере клиент прописывает статический WAN-адрес из выданного диапазона:
Клиент 1
Тип подключения: Static IP
IP-адрес: 192.168.4.22
Маска подсети: 255.255.255.0
Шлюз: 192.168.4.1
DNS: 8.8.8.8
Клиент 2
Тип подключения: Static IP
IP-адрес: 192.168.5.22
Маска подсети: 255.255.255.0
Шлюз: 192.168.5.1
DNS: 8.8.8.8
Кабель от MikroTik подключается строго в WAN-порт роутера клиента,
а не в LAN — иначе устройство получит доступ в локальную сеть MikroTik вместо выхода
в интернет.
Проверка работоспособности
# Проверка связи с шлюзом провайдера
/ping 91.24.200.33
# Проверка связи с клиентом
/ping 192.168.4.22
# Просмотр таблицы ARP — отображает реально подключённые устройства
/ip arp print
# Просмотр загрузки очередей в реальном времени
/queue tree print stats
Со стороны клиента самый надёжный способ проверки — открыть сайт
2ip.ru или аналогичный сервис определения IP: должен отображаться
именно выделенный клиенту внешний адрес, а не адрес самого MikroTik.
Итоговая схема сети
Провайдер
│
[ MikroTik ether1 ]
91.24.200.54 — MikroTik (управление)
91.24.200.55 — Клиент 1
91.24.200.56 — Клиент 2
│
┌────────────────────┼────────────────────┐
│ │ │
ether2 ether3 ether4
192.168.4.1/24 192.168.5.1/24 управление
│ │
Клиент 1 Клиент 2
91.24.200.55 91.24.200.56
лимит 15 Мбит/с лимит 15 Мбит/с
Типичные проблемы и их решение
Queue Tree настроен, но скорость не ограничивается
Причина: включён Fasttrack, который обрабатывает пакеты в обход
firewall и Queue. Решение: отключить правило fasttrack, как описано
в Шаге 7.
DHCP Lease клиента висит в статусе «waiting»
Причина: клиент использует статический IP и не отправляет
DHCP-запрос, поэтому lease не переходит в состояние «bound». Решение:
это ожидаемое поведение, дополнительных действий не требуется — привязка MAC-адреса
в данном случае не нужна.
Нет пинга до клиента при подключённом кабеле
Порядок диагностики:
# 1. Проверить статус интерфейса (должен быть R — running)
/interface print
# 2. Включить интерфейс, если он случайно отключён
/interface enable ether2
# 3. Проверить ARP-таблицу — наличие MAC-адреса клиента
# подтверждает связь на уровне L2
/ip arp print
Если в ARP-таблице MAC-адрес клиента присутствует с флагом C
(complete), но ICMP-пинг не проходит — скорее всего, роутер клиента блокирует
ICMP на WAN-порту. Это штатное поведение многих бытовых роутеров; проверяйте
интернет через определение внешнего IP, а не через пинг.
MAC-адрес отключённого устройства остаётся в ARP-таблице
Причина: если между MikroTik и клиентом установлен неуправляемый
коммутатор (например, по схеме медиаконвертер — оптика — медиаконвертер), он может
некоторое время удерживать запись в своей таблице коммутации и отвечать на
ARP-запросы за отключённое устройство. Решение: запись исчезнет
автоматически по истечении тайм-аута ARP (около 5 минут) либо может быть удалена
вручную:
/ip arp remove [find address="192.168.4.22"]
Удалённый доступ через Winbox не работает
Порядок диагностики:
# Проверить, что сервис Winbox включён и слушает порт 8291
/ip service print
Также убедитесь, что разрешающее правило для порта 8291 в Filter Rules расположено
выше правил drop — RouterOS обрабатывает правила
последовательно сверху вниз, и срабатывает первое совпавшее. Самый надёжный вариант —
ограничить доступ конкретно по IP-адресу администратора, как показано в Шаге 8.
Заключение
Описанная конфигурация позволяет на одном недорогом MikroTik организовать раздачу
интернета нескольким клиентам с индивидуальными внешними IP-адресами, сетевой
изоляцией и контролем скорости. Ключевые элементы схемы:
- 1:1 NAT через парные правила
srcnat/dstnat— обеспечивает индивидуальный внешний IP для каждого клиента; - Вывод портов из bridge — базовая сетевая изоляция клиентов на уровне L2;
- Mangle + Queue Tree — надёжный способ ограничения скорости в условиях 1:1 NAT, в отличие от Simple Queue, который в такой схеме часто не захватывает трафик корректно;
- Отключение Fasttrack — обязательное условие для работы Mangle и Queue.
При правильной настройке схема устойчиво работает и легко тиражируется на
дополнительных клиентов простым дублированием правил NAT, Mangle и Queue Tree
с подстановкой новых IP-адресов и номеров портов.





