Masquerade на MikroTik: как выпустить сеть в интернет и чем он отличается от src-nat

Как выпустить локальную сеть в интернет через MikroTik: одно правило masquerade, проверка «до и после», отличие от src-nat и честный ответ на вопрос, защищает ли NAT вашу сеть. Все шаги показаны в WinBox, команды для терминала приведены рядом.
Нет роутера под рукой? На открытом уроке стенд уже включён и ждёт вас. Подробнее ↓Что такое NAT и masquerade
Внутри сети используются частные адреса вроде 192.168.88.10. В интернете их не маршрутизируют: сервер получит такой пакет, но ответить на него некуда. NAT (Network Address Translation) решает это на границе: роутер подменяет адрес отправителя на свой внешний, а ответы возвращает обратно нужному устройству. Благодаря этому за одним публичным адресом работают десятки компьютеров.
Masquerade (маскарадинг) — разновидность source NAT, в которой роутер берёт адрес с исходящего интерфейса автоматически. Он нужен там, где провайдер выдаёт адрес динамически: по DHCP, PPPoE или в LTE. Алгоритм такой:
- Компьютер
192.168.88.10отправляет пакет на внешний сервер. - Роутер подставляет вместо адреса отправителя адрес своего внешнего интерфейса, например
203.0.113.12. - Запись о соединении сохраняется в таблице connection tracking.
- Ответ приходит на
203.0.113.12; роутер находит запись и возвращает пакет компьютеру.
Правило masquerade работает только в цепочке srcnat, то есть с пакетами, которые уходят из локальной сети. Адрес берётся с интерфейса в момент нового соединения, поэтому, когда провайдер выдаст другой адрес, переписывать правило не нужно.
Что понадобится
- Роутер MikroTik, подключённый по WinBox. Если вы ещё не подключались, начните со статьи «WinBox: первое подключение к MikroTik за 10 минут».
- Локальная сеть с адресом на
bridgeи работающей раздачей адресов. Как её настроить, рассказано в статье «DHCP-сервер на MikroTik». - Провайдер: внешний порт роутера (в статье это
ether2) получает адрес и маршрут по умолчанию, например по DHCP. Локальные порты в примере вbridge, сеть192.168.88.0/24.
Команды в статье проверены на RouterOS 7.22 и 6.49. Где версии различаются, это сказано в тексте.
Шаг 1. Проверьте внешний адрес и маршрут
Прежде чем настраивать NAT, убедитесь, что у самого роутера есть внешний адрес и маршрут по умолчанию. Если их нет, виноват не NAT. Откройте IP → DHCP Client: у внешнего интерфейса должен быть статус bound и адрес от провайдера. Затем откройте IP → Routes: ищите маршрут 0.0.0.0/0 через шлюз провайдера.


Как это выглядит в WinBox 3 (Windows)


То же в терминале:
/ip dhcp-client print /ip address print /ip route print
Если адрес выдан провайдером вручную (статический), добавьте его через /ip address и маршрут через /ip route add gateway=….
Шаг 2. Убедитесь, что без NAT интернета нет
Важно увидеть проблему своими глазами. С компьютера в локальной сети выполните ping 8.8.8.8. Пинга нет, хотя сам роутер интернет видит.
Причина видна на стороне провайдера. Его консоль показывает, что запросы приходят с адресов 192.168.88.x, а ответить на них провайдеру некуда: маршрута в вашу частную сеть у него нет. Так выглядит запуск перехвата пакетов ICMP на его роутере (для самостоятельной проверки на своём оборудовании):
/tool sniffer quick ip-protocol=icmp


Как это выглядит в WinBox 3 (Windows)


Это и есть задача NAT: подменить частный адрес отправителя на адрес, который провайдер умеет маршрутизировать.
Шаг 3. Создайте правило masquerade
Откройте IP → Firewall и вкладку NAT. Нажмите «+» и заполните:
- На вкладке General:
Chain—srcnat,Out. Interface— внешний интерфейс (ether2). - На вкладке Action:
Action—masquerade. - Нажмите OK. Правило появится в списке.





Как это выглядит в WinBox 3 (Windows)





То же командой:
/ip firewall nat add chain=srcnat out-interface=ether2 action=masquerade comment="Masquerade to ISP"
Если внешний интерфейс может смениться (сегодня ether2, завтра pppoe-out1), укажите вместо интерфейса список интерфейсов. Сначала создайте список WAN и добавьте в него внешний порт:
/interface list add name=WAN /interface list member add list=WAN interface=ether2 /ip firewall nat add chain=srcnat out-interface-list=WAN action=masquerade comment="Masquerade to ISP"
Чтобы правило касалось только вашей сети, добавьте src-address=192.168.88.0/24. Условия в правиле объединяются через «И»: пакет должен подойти под все.
out-interface-list проще читать, и оно не зависит от имён портов.Шаг 4. Проверьте результат
Повторите ping 8.8.8.8 с компьютера. Теперь ответы идут. Проверим, что это работа именно вашего правила.
- Адрес на стороне провайдера. Запросы теперь приходят не с
192.168.88.x, а с внешнего адреса роутера (203.0.113.x). - Счётчики правила. В WinBox они видны в списке NAT (колонки Bytes и Packets). В терминале:
/ip firewall nat print stats
- Таблица соединений. В WinBox: IP → Firewall → Connections. У соединения из локальной сети в списке флаг
s(srcnat).




Как это выглядит в WinBox 3 (Windows)




Те же проверки в терминале. Таблицу соединений удобно фильтровать по адресу клиента:
/ip firewall connection print detail where src-address~"192.168.88."
В выводе два адреса одного соединения: src-address (настоящий адрес клиента) и reply-dst-address (адрес роутера, на который отвечает сервер). Различие между ними и есть результат NAT. Ещё две подробности:
- Счётчик правила растёт на каждое новое соединение, а не на каждый пакет. Правила NAT проверяются только для первого пакета соединения, остальные идут по записи в таблице. Пинг из трёх пакетов даст
packets=1. Это нормально. - Короткие соединения, например ICMP, живут в таблице секунды (по умолчанию 10 с). Если
printпуст, повторите пинг и сразу выведите таблицу.
Если нужно увидеть наглядно, что локальные адреса не уходят к провайдеру, запустите torch на внешнем интерфейсе (в WinBox это Tools → Torch) и параллельно проверьте доступ с компьютера:
/tool torch interface=ether2 src-address=192.168.88.0/24 duration=10s
Пустая таблица означает, что с адресов 192.168.88.x наружу ничего не уходит: все пакеты уже подменены. Для сравнения замените фильтр на src-address=203.0.113.0/24 (ваш внешний адрес), и строки появятся.
Таблицу соединений можно очистить, если нужно проверить правило «с нуля»:
/ip firewall connection remove [find]
Masquerade и src-nat: в чём разница
src-nat делает то же самое, но подставляет адрес, который вы указали сами. masquerade берёт адрес исходящего интерфейса автоматически.
| masquerade | src-nat | |
|---|---|---|
| Адрес подстановки | адрес исходящего интерфейса | вы задаёте в to-addresses |
| Когда выбирать | динамический адрес: DHCP, PPPoE, LTE | статический адрес или несколько адресов |
| Смена адреса провайдером | правило не нужно менять | правило нужно изменить |
| Подстановка из диапазона | нет | да, можно указать диапазон адресов |
Общее правило простое. Динамический адрес от провайдера — masquerade. Фиксированный адрес или набор адресов — src-nat: вы точно знаете, с какого адреса уходит трафик. Допустим, провайдер выдал статический адрес 203.0.113.5 (адрес из документационной подсети, подставьте свой):

Как это выглядит в WinBox 3 (Windows)

/ip firewall nat add chain=srcnat out-interface=ether2 action=src-nat to-addresses=203.0.113.5 comment="Source NAT"
Правила NAT, как и правила firewall, читаются сверху вниз, и срабатывает первое подходящее. Поэтому не создавайте оба правила для одного и того же трафика: второе останется без дела. Если нужны исключения (например, для одной сети другой адрес), конкретное правило ставят выше общего. В терминале это place-before=0, в WinBox правило перетаскивают мышью.
И ещё одна деталь: masquerade допустим только в цепочке srcnat. Попытка создать его в dstnat закончится ошибкой, правило не сохранится.
NAT — не защита сети
Masquerade скрывает от внешних узлов внутреннюю адресацию: сайт видит публичный адрес роутера, а не 192.168.88.10, и не знает, сколько устройств за ним стоит. Но безопасностью это не является:
- Входящие соединения блокирует не NAT. Снаружи нельзя подключиться к компьютеру, потому что нет записи в таблице соединений, а не потому что он «спрятан». Любой проброс порта (
dst-nat) открывает устройство. - Устройство ничем не защищено. Если пользователь откроет вредоносный файл, программа сама установит исходящее соединение, и masquerade его спокойно пропустит.
- Сам роутер виден из интернета. Если на внешнем интерфейсе открыты WinBox, SSH или веб-интерфейс, их можно атаковать.
- UPnP может открывать порты автоматически по просьбе программ в вашей сети.
Корректная формулировка: masquerade даёт экономию адресов и побочный эффект в виде закрытости входящих соединений. Защищает сеть firewall.
Начните с проверки, что лишнее не торчит наружу:
/ip service print /ip upnp print /ip firewall filter print
Ненужные службы и UPnP отключаются так:
/ip service disable telnet,ftp /ip upnp set enabled=no
В конфигурации RouterOS по умолчанию правила firewall уже есть, и сбрасывать их без нужды не стоит. Настройку цепочек input и forward безопасно строить только из локальной сети, а не через внешний порт, и сначала сохранив резервную копию: правила читаются сверху вниз, и одно неверное правило отрежет вам доступ к роутеру. Полноценный firewall разбирается на курсе MTCNA.
Не работает: разбор проблем
| Симптом | Причина | Что сделать |
|---|---|---|
| С компьютера нет интернета, а с роутера пинг идёт | Нет правила masquerade, оно выключено или стоит ниже другого правила, которое срабатывает раньше | Проверьте /ip firewall nat print: правило включено, стоит в srcnat и выше остальных |
| Правило есть, но счётчики равны нулю | Неверный интерфейс или условие: пакеты не подходят под правило | Проверьте out-interface или список WAN, при PPPoE это pppoe-out1, а не порт |
| Правило с in-interface | Правило принимается, но совпадёт только с трафиком, пришедшим с внешнего порта, а не из локальной сети | Для выхода в интернет нужен out-interface |
| Ping 8.8.8.8 идёт, а сайты по имени не открываются | Проблема в DNS, а не в NAT | Проверьте /ip dns print и выданные клиентам DNS-серверы |
| Нет ни пинга, ни интернета у самого роутера | Нет маршрута по умолчанию или внешнего адреса | Вернитесь к шагу 1: DHCP Client и Routes |
| Проброс портов снаружи не работает при работающем masquerade | У провайдера «серый» адрес (часто из 100.64.0.0/10) или он сам делает NAT | Сравните /ip address print с адресом, который показывает сервис определения IP |
Пример: правило на не тот интерфейс
Самая частая ошибка в реальной сети: правило создано, но стоит на другом интерфейсе. На кадрах правило указано на bridge (внутренний интерфейс) вместо внешнего порта: правило есть, а пинг снова не идёт.


Как это выглядит в WinBox 3 (Windows)


Признак — счётчики правила стоят на нуле. Исправьте интерфейс на внешний порт или на список WAN.
Частые вопросы
Что выбрать, если адрес динамический, но редко меняется? Всё равно masquerade: когда адрес поменяется, правило подхватит новый, а вам не придётся вмешиваться.
Сбросит ли masquerade соединения при смене адреса? Не обязательно. В нашей проверке на RouterOS 7.22 и 6.49 при смене или удалении адреса на живом интерфейсе записи оставались в таблице до таймаута, при отключении интерфейса пропадали сразу. Но ответы на старые соединения всё равно идут на прежний адрес, поэтому программы переподключаются. Чтобы не ждать, очистите таблицу: /ip firewall connection remove [find].
Можно ли использовать masquerade между подсетями внутри сети? Технически можно, но обычно маршрутизируют без подмены: так в логах и на серверах видны настоящие адреса.
Нужен ли masquerade, если у меня несколько внешних каналов? Да, и правило с out-interface-list=WAN удобно: оно подходит к любому каналу из списка. Маршрутизация между каналами настраивается отдельно.
Заменяет ли masquerade VPN? Нет. VPN шифрует трафик и создаёт защищённый канал, а masquerade только меняет адрес отправителя. Если нужен доступ к сети из дома или с телефона, посмотрите статью про WireGuard.
Открытый урок · бесплатно
Выпустите сеть в интернет руками на живом стенде
Свой роутер не нужен. На каждом открытом уроке стенды уже прогреты: RouterOS загружена, доступ выдан. Вы видите, как пинг не проходит без NAT, создаёте правило masquerade, проверяете его по счётчикам и таблице соединений, а тренер отвечает на вопросы по ходу.
Стенд онлайн
Подключение за пару минут
Практика
Шаги 2–4 из этой статьи
Тренер рядом
Разбор ваших вопросов вживую
Ближайший урок: [ДАТА И ВРЕМЯ УРОКА]


