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 и корректным путём к файлу.
Шаг 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"
Схема взаимодействия компонентов
Таблица портов
| Порт | Протокол | Назначение | Доступен снаружи? |
|---|---|---|---|
| 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 |
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 займёт минут двадцать с нервами, десятое — три минуты на автомате. Если не заработало — пиши в комментарии, разберёмся.
Оставайтесь на связи
Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.
Подписаться на IT-Аптеку →

