MikroTik Bulk Configuration
The Problem: One Device at a Time
RouterOS was designed for single-device administration. WinBox opens one session to one router. The RouterOS API connects to one device at a time. SSH gives you one terminal to one device. When you need to push a DNS server change to 200 routers, or add a firewall rule across every device at a site, you're either opening 200 individual sessions or writing a script that loops SSH connections and hopes for the best.
The script approach works for simple cases but breaks down quickly. Error handling becomes your problem: what happens when device 47 of 200 times out? Do you retry? Skip it? Abort the whole batch? What about partial failures where the command runs but produces an unexpected result? SSH scripts don't give you per-device result reporting, rollback capability, or an audit trail. You get stdout and stderr and that's it.
For MSPs and network teams managing MikroTik fleets, mikrotik bulk configuration isn't a nice-to-have — it's the difference between a fifteen-minute operation and a full afternoon of manual work with a spreadsheet tracking which devices you've hit and which you haven't.
Bulk CLI Command Execution
The Other Dude lets you run a RouterOS CLI command across a group of devices from the web UI. Select the devices (by tag, site, or manual selection), enter a command, and execute. They run one at a time so you can watch the results arrive, and you can abort the run partway through if the first few outputs aren't what you expected. Each device gets its own result — success with output, failure with error details, or timeout. Offline devices are skipped rather than retried. A blocklist refuses the commands with no safe bulk use: reboot, shutdown, reset-configuration, and changes to users, passwords or certificates.
This is available to users with operator role or above. The RBAC system ensures that viewer-level users can't execute commands, even if they can see the devices.
Practical use cases for bulk CLI execution:
- Fleet-wide queries. Run
/system resource printacross all devices to check firmware versions, uptime, and resource usage in one operation. - Quick fixes. Add a DNS entry, disable a problematic service, or modify an SNMP community string across a device group without writing a script.
- Diagnostic collection. Run
/interface print statsor/ip firewall connection print count-onlyacross a site's devices to gather diagnostic data for troubleshooting. - Scripted maintenance. Execute RouterOS scripts that are too simple to warrant a template but need to run on multiple devices — clearing log entries, resetting connection tracking counters, or flushing DNS cache.
Every bulk command execution is logged in the audit trail with the user, timestamp, target devices, command text, and per-device results.
Config Templates with Variable Substitution
For structured configuration changes, The Other Dude provides a template system. A config template is a set of RouterOS commands with placeholder variables that get substituted per device at push time.
For example, a branch office firewall template might define standard firewall rules, NAT configuration, and DHCP settings, with variables for the site's WAN IP, LAN subnet, and gateway address. You define the template once. When you push it to a group of devices, each device gets the template rendered with its own variable values.
The template workflow:
- Write the template. Define the RouterOS commands with variable placeholders. The template editor in the web UI supports syntax highlighting and validation.
- Preview per device. Before pushing, preview what the rendered template looks like for each target device. This shows you exactly which commands will be sent to each device with all variables substituted. No surprises.
- Push to a group. Select the target devices and execute. The platform sends the rendered commands to each device in parallel.
- Monitor results. Each device reports its own result. Success means all commands executed without error. Failure includes the specific error from RouterOS. The results view shows the full picture across all target devices.
Templates are reusable. A standard firewall ruleset, a VPN configuration, a monitoring agent setup — define it once and apply it across new devices as you add them to the fleet.
Safe-Mode Rollback, Per Device
Template pushes are applied inside a RouterOS safe-mode session, one device at a time. For each device in the group:
- A binary backup is written to the device's own flash as an independent recovery point.
- The platform enters safe mode on the device and applies the change inside that session.
- After a settle period it dials a new connection to check the device still answers — the existing session would answer regardless, so it proves nothing.
- If the device answers, the session is released and the change stands.
- If it doesn't, the session is dropped and RouterOS reverts the change itself, without rebooting.
This matters most in bulk, because the blast radius of a bad config push scales with the number of targets. A firewall rule that accidentally blocks the management subnet would otherwise lock you out of every device you pushed it to.
Rollouts are sequential and they halt. Devices are pushed in order, and the rollout stops at the first device that fails rather than continuing into the rest of the group. So the realistic worst case is not "48 of 50 succeeded and 2 reverted" — it is a handful committed, one reverted, and the remainder never attempted. That is the second safety mechanism, and it is the one that limits how far a bad change can get. Each device takes about a minute, which is the cost of it.
One limit worth knowing before you write a large template: safe mode's undo buffer holds 100 actions, and beyond that RouterOS silently stops reverting. The platform counts the change set up front and refuses a push it could not protect, rather than applying it unprotected. Split a very large template into stages.
Batch Config Push via the Config Editor
In addition to templates and CLI commands, the platform's config editor supports batch operations. You can browse the RouterOS path tree, make a change, and apply it to each device in a group in turn. This is convenient for structured changes that don't warrant a full template — a DNS setting or an NTP server across a device group.
Batch Config has no rollback, and that matters more here than anywhere else in the product. It runs on the config editor's path, so there is no pre-push backup and no safe-mode session, and it does not stop when a device fails — it continues through the rest of the list. A change that cuts off the management path is therefore applied to every device you selected and reverted on none of them. For anything that could affect reachability, including the firewall rule in the example above, use a template push instead: those are safe-mode protected per device and halt on the first failure.
How This Differs from SSH Scripts
The common alternative to a bulk configuration platform is a set of SSH scripts — Bash, Python with Paramiko, or Ansible playbooks. These can work, but they leave several problems for you to solve:
- Error handling. SSH scripts need explicit handling for connection timeouts, authentication failures, command errors, and partial execution. The platform handles this per-device automatically.
- Rollback. SSH scripts don't have a rollback mechanism. If a command locks you out, you're locked out. The platform applies template pushes inside a RouterOS safe-mode session, so a change that breaks the management path is reverted by the router itself.
- Audit trail. SSH scripts produce log files at best. The platform records every operation with user attribution, timestamps, and per-device results in a queryable audit log.
- Access control. SSH scripts run under whoever's credentials are in the script. The platform enforces RBAC — an operator can run bulk commands but a viewer can't.
- State management. Tracking which devices got the change and which didn't is your problem with scripts. The platform gives you a per-device results view for every operation.
Scripts solve the "run a command on many devices" problem. A platform solves the "operate a fleet safely and accountably" problem.
Getting Started
Bulk operations are available immediately when devices are connected to the platform. The Quick Start guide covers deploying the platform and adding your first devices. Once you have devices connected, bulk CLI execution and config push operations are available from the fleet view.