TFTP на MikroTik: настройка и примеры использования

tftp на mikrotik
Быстрый ответ
TFTP на MikroTik нужен для двух вещей: восстановления роутера через Netinstall, когда система убита или забыт пароль, и для автоматической раздачи файлов — прошивок, конфигов, образов — другим устройствам в сети. Клиент включается одной командой /tool fetch с протоколом tftp, сервер поднимается через IP > TFTP с привязкой файла к MAC-адресу или IP-адресу запрашивающего устройства. Порт 69/UDP, шифрования нет, аутентификации нет — только для доверенной сети.

1. Диагноз

Поднял TFTP на MikroTik. Netinstall не видит роутер. Или наоборот — роутер не может закачать конфиг с сервера. Знакомо?

TFTP на MikroTik — это два разных сценария в одной аббревиатуре. Первый: RouterOS как клиент, который через tool fetch тянет файл с внешнего TFTP-сервера. Второй: RouterOS как сервер, который сам раздаёт файлы по TFTP другим устройствам — чаще всего используется для восстановления убитых роутеров через Netinstall или для загрузки бездисковых устройств по сети.

Что получишь на выходе этой статьи:

  • Рабочий TFTP-сервер на MikroTik с раздачей файла конкретному устройству
  • Настроенный TFTP-клиент для скачивания прошивок и конфигов
  • Понимание, почему Netinstall падает с таймаутом и как это чинить
  • Список типовых ошибок и как их закрывать без танцев с бубном

Время на настройку: 10-15 минут, если сеть без сюрпризов. Если за фаерволом на три уровня вложенности — закладывай час.

Нужно: MikroTik с RouterOS 7.x, доступ к Winbox или SSH, файл для раздачи (npk-пакет, backup, образ). На момент публикации актуальна версия RouterOS 7.23.2. Перед установкой проверь свежие релизы на официальном сайте.

Компонент Версия / требование
RouterOS 7.x (проверено на 7.23.2)
Netinstall последняя версия с mikrotik.com/download
ОС для Netinstall Windows 10/11 или Linux с netinstall-cli
Сетевой интерфейс Ethernet, для Netinstall — не Wi-Fi

2. Причины, почему это ломается

  • Firewall режет UDP/69 — TFTP использует нестандартную схему портов, INPUT chain блокирует пакеты, если правило написано без учёта TFTP
  • Файл не привязан к MAC или IP клиента — сервер MikroTik отдаёт файл только тому адресу, для которого он явно прописан
  • Разные VLAN у сервера и клиента — broadcast Netinstall не проходит через маршрутизацию без helper’а
  • Антивирус или Windows Firewall на ПК с Netinstall — блокирует входящий TFTP-трафик от роутера
  • Устаревший Netinstall — не поддерживает новые модели или ARM64-архитектуру
  • Неправильное имя файла на TFTP-сервере — регистр букв и расширение должны совпадать один в один
  • Bootloader роутера ждёт DHCP, а его нет — для сетевой загрузки часто нужен DHCP + TFTP одновременно, не TFTP отдельно

3. Рецепт

Подготовка

Зависимости: RouterOS 7.x, физический доступ к порту роутера или management-VLAN без изоляции. Проверь среду перед стартом.


/system resource print
/interface print
/ip firewall filter print

Смотри на вывод: версия RouterOS, список активных интерфейсов, есть ли drop-правила на входящий трафик, которые перехватят UDP/69 раньше, чем дойдёт до TFTP.

Шаг 1. Включи TFTP-сервер

Заходи в раздел IP > TFTP. Это не совсем классический TFTP-демон — MikroTik требует явно прописать, какой файл отдавать какому клиенту.


/ip tftp settings set enabled=yes
/ip tftp add real-filename=disk1/routeros-arm64.npk req-filename=routeros-arm64.npk allow-clients=10.10.10.0/24

Результат: команда /ip tftp print должна показать активную запись со статусом enabled и корректным путём к файлу.

Не перепутай
Параметр real-filename указывает физический путь к файлу на флешке или во внутренней памяти роутера. req-filename — это имя, которое клиент запрашивает по сети. Они могут отличаться, но должны совпадать по логике запроса, иначе сервер молчит.

Шаг 2. Проверь путь к файлу


/file print where name~"routeros"

Файл должен физически лежать в файловой системе роутера. Если его там нет — загрузи через FTP, SFTP или скопируй с флешки.

Шаг 3. Настрой firewall под TFTP

Порт 69/UDP должен быть открыт на приём для доверенной подсети. Не открывай его в мир — TFTP без аутентификации это подарок для любого, кто окажется в сети.


/ip firewall filter add chain=input protocol=udp dst-port=69 src-address=10.10.10.0/24 action=accept comment="TFTP allow trusted"
/ip firewall filter add chain=input protocol=udp dst-port=69 action=drop comment="TFTP drop others"

Порядок правил критичен. Accept ставь выше drop, RouterOS читает filter table сверху вниз построчно.

Шаг 4. Настрой TFTP-клиент для скачивания файла

Если роутер должен сам скачать файл с внешнего TFTP-сервера — например конфиг или прошивку с центрального сервера управления — используй tool fetch.


/tool fetch address=192.168.88.1 src-path=config-backup.rsc mode=tftp dst-path=config-backup.rsc

Результат: файл появится в списке /file print. Проверь его размер — если 0 байт, значит сервер ответил, но файл не найден или путь неверный.

Шаг 5. Автоматизируй через scheduler (опционально)

Для регулярной синхронизации конфигов через TFTP — например для парка одинаковых роутеров в филиалах.


/system scheduler add name=tftp-sync interval=1d start-time=03:00:00 on-event="/tool fetch address=10.10.10.5 src-path=configs/branch.rsc mode=tftp dst-path=branch.rsc; /import branch.rsc"
Осторожно с автоимпортом
Автоматический импорт конфига без проверки контента — это способ уронить весь парк устройств одной опечаткой на сервере. Перед продакшн-использованием добавь проверку контрольной суммы файла или подпись.

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

Клиент TFTP

Запрос RRQ порт 69

MikroTik TFTP сервер

Проверка allow-clients

Отдача файла блоками

Клиент собирает файл

Таблица портов

Порт Протокол Назначение Доступен снаружи?
69 UDP TFTP запрос/передача Нет, только LAN
от 1024 и выше UDP (динамический) Сессия передачи данных TFTP Нет
68/67 UDP DHCP (нужен для Netinstall boot) Нет

4. Проверка

После настройки проверяй сразу, не жди пока кто-то напишет «у меня не грузится».


/ip tftp print detail
/log print where topics~"tftp"
/ip firewall connection print where protocol=udp

Смотри на счётчик подключений в firewall connection — если после запуска Netinstall или fetch там появилась запись с портом 69, значит пакет дошёл до роутера. Если записи нет — проблема на уровне сети, не MikroTik.

Для теста передачи с внешней машины на Linux:


tftp 10.10.10.1
get routeros-arm64.npk

5. Осложнения

Ошибка Причина Решение
Netinstall завис на «Waiting for RouterBOOT» Роутер не в режиме netinstall boot или неверная сеть Зажми reset при включении питания до появления сигнала, проверь что ПК и роутер в одной L2-сети
Timeout при tool fetch mode=tftp Firewall блокирует ответный UDP-трафик от сервера Открой input и forward для UDP/69 и динамического диапазона портов
File not found на сервере req-filename не совпадает с тем, что запрашивает клиент Сверь имя файла посимвольно, включая регистр
Передача обрывается на середине MTU конфликт или нестабильный линк Проверь /ping с флагом do-not-fragment, снизь MTU временно до 1400
Netinstall видит роутер, но прошивка не заливается Несовместимая архитектура пакета (arm vs arm64 vs mipsbe) Скачай пакет под точную архитектуру устройства из /system resource print
Из жизни
Капля никотина убивает лошадь. Один неверный req-filename в TFTP — весь план восстановления парка из двадцати роутеров в филиалах. Проверяй имя файла до запуска, а не после третьего звонка от заказчика.

6. Альтернативы

TFTP — не единственный способ передать файл на MikroTik или с него. Вот варианты и почему выбран именно TFTP для сценария восстановления.

  • FTP — есть аутентификация и надёжность передачи, но требует рабочую RouterOS. Для Netinstall не подходит — роутер ещё не загружен
  • SCP/SFTP — шифрование и безопасность, отличный вариант для регулярной синхронизации конфигов между рабочими роутерами. Не годится для восстановления мёртвого устройства
  • Netinstall без TFTP (USB/serial) — работает не на всех моделях, требует физического доступа к консольному порту
  • WinBox drag-and-drop файлов — удобно вручную, но не автоматизируется через scheduler

TFTP выбран для Netinstall потому что это единственный протокол, который поддерживает bootloader роутера на этапе, когда RouterOS ещё не запущен. Для регулярного обмена файлами между живыми устройствами — используй SFTP, он безопаснее.

7. Профилактика

Мониторинг: добавь проверку доступности TFTP-сервера в существующую систему мониторинга через простой скрипт-пинг порта.


/tool netwatch add host=10.10.10.1 interval=5m

Бэкап: перед любыми манипуляциями с прошивкой через TFTP делай экспорт конфига.


/export file=before-tftp-backup
/system backup save name=before-tftp-backup

Автозапуск TFTP-сервера при перезагрузке роутера включается автоматически, если параметр enabled=yes сохранён в конфиге — дополнительных действий не требуется, RouterOS хранит это в permanent config.

Безопасность

  • Ограничивай allow-clients конкретной подсетью, никогда не оставляй 0.0.0.0/0
  • Отключай TFTP-сервер сразу после завершения задачи восстановления — /ip tftp settings set enabled=no
  • Используй fail2ban-подобный подход через address-list для повторных неудачных запросов, если TFTP смотрит в сторону untrusted-сегмента
  • SSH hardening на самом MikroTik — отдельный пользователь без full-доступа для задач автоматизации через scheduler
  • Никогда не пробрасывай UDP/69 через NAT наружу в интернет

8. FAQ

Почему TFTP не работает после настройки на MikroTik?

Чаще всего дело в firewall — правило drop стоит выше accept для UDP/69, или allow-clients указан неверно. Проверь порядок правил командой /ip firewall filter print и убедись что accept выше drop.

Как проверить что TFTP-сервер на MikroTik работает правильно?

Запусти /ip tftp print detail и смотри статус enabled. Дополнительно проверь /log print where topics~»tftp» на предмет ошибок и попробуй тестовую передачу командой tftp с другого устройства в сети.

Что делать если Netinstall не видит роутер через TFTP?

Убедись что роутер физически в режиме сетевой загрузки — зажат reset при подаче питания до появления характерного мигания индикатора. Проверь что ПК с Netinstall и роутер находятся в одном broadcast-домене без промежуточных managed-свитчей с фильтрацией broadcast.

Чем TFTP отличается от FTP на MikroTik?

TFTP работает по UDP без аутентификации и используется в основном для Netinstall и загрузки прошивок на этапе, когда RouterOS ещё не запущена. FTP работает по TCP, требует логин-пароль и подходит для регулярного обмена файлами между уже рабочими устройствами.

Можно ли использовать TFTP на MikroTik для регулярного бэкапа конфигов?

Технически да, через tool fetch и scheduler, но TFTP не шифрует трафик и не проверяет целостность файла штатно. Для регулярных задач лучше SFTP — он безопаснее и надёжнее при разрывах связи.

9. Прогноз

Настроил TFTP-сервер на MikroTik, привязал файл к доверенной подсети, закрыл лишний доступ через firewall. Теперь роутер может как раздавать файлы для Netinstall и загрузки других устройств, так и сам забирать конфиги и прошивки с центрального сервера по расписанию.

Дальше — дело привычки. Первое восстановление через Netinstall займёт минут двадцать с нервами, десятое — три минуты на автомате. Если не заработало — пиши в комментарии, разберёмся.

Андрей А.
Author: Андрей А.

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх