MikroTik Devices Controller

It will probably be released right after the scripting function library :slight_smile: :slight_smile:

This thread is for brainstorming. Throw in some buzzwords that will end in a tin.

Check this topic and what came of it: http://forum.mikrotik.com/t/built-in-function-library/117288/1
I mean, brainstorming is alright but when you do it as a company you may get some expectations…

Can you summarize what was added to the function library from the long topic?

Nothing at all. The function library never came into existance, 4 years of discussion going to waste.

Is not all correct, on 7 is added the random number generator… :neutral_face: :neutral_face: :neutral_face:

Basically what I said.

The way I understood "function library" there would be an optional package that you could install, or some script file you could download to the router and call from your scripts, containing a collection of utility functions as a layer on top of (i.e. written in) the scripting language.
Basically anyone can write that in the latter form, and some people indeed did so.
But there never was an official MikroTik supported version, not even an endorsed one.
Of course in many cases it would be much more efficient (or it would even be the only practical way...) to have new functions available as built-in functions in the scripting language itself. I would not call that a library, but still it would be welcome.

I think I might be just Mikrotik’s target audience, and I think I’d thread carefully in its place.

Something like the UniFi Controlller is pretty to look at but it ain’t very useful. It’s slow, it’s got so many problems with from adoption, to disconnections, to being unable to handle consecutive (not ā€œtoo many-ā€, just Ā·ā€œconsecutivesā€) updates, all of which Mikrotik doesn’t have plus accessibility issues for installers (that thing when you come down the white bright rooftop into an air conditioned relatively dark server room and you try to read fonts too thin) which are a staple for this mgmt utils. I’d document better instead. The documentation is written for the CLI, but the CLI isn’t what’s encouraged to use, there’s this myriad of admin UIs but only documentation for the one without any graphics, often with graphics/screenshots/suggestions for the other ones. It’s also in a needlessly technical language most of the time but it’s not technical enough where it matters so there are no ambiguities–there are way too many of those. Sure it’s hard to contemplate all possibilities in computer networking being nearly endless, but it can be done because it’s been done, there’s another vendor who’s managed.

I’m referring to pfSense. If I had to improve Mikrotik’s , I’d take a look at what used to be called The pfSense Book (now just its documentation) for guidance. It does an outstanding job of explaining why things work as they do and even why decisions of the UI were taken in some instances addressing straight on their shortcomings.

You don’t need to dumb things down the way Apple, Ubiquiti, Cloudflare, (..) and others do, it’s kind of infuriating when yet another vendor discovers minimalism and your settings are gone. This is how we end up with these annoying certificate warnings in every browser on non-routable addresses, if we were taught, we probably wouldn’t be needing to be treated like children, I’m sugar coating there, and end up with lack of options, and expensive, limited and cumbersome controller device or alternatively ā€œmanagement as a serviceā€, what UniFi turned into. UniFi still can’t multi-WAN properly, basics like DHCP reservations are kind of there, it’s over a decade old. Also there is telemetry; every device, even outdoor wireless radios are consistently trying to contact external web, STUN servers, IP addresses in China, were Ubiquiti hosts some of its UNMS or whatever it’s called lately. The forum, is mostly complaints now and not a link easy to find anymore, maybe it’s related.

Ubiquiti for years have been trying to get rid of support for ā€œlegacyā€ (Wi-Fi 4) devices and has deleted the needed apps to access the old self-hosted NVRs, another form of controller. People got angry because you could only access your cameras if you maintained a Play Store, Apple ID account in which you got the apps earlier before or trust the company won’t have another change of heart and upgrade. As for the APs, they’d become unmanageable just because they didn’t feel like maintaining that support, which wouldn’t be required if the APs had a built-in admin UI like Mikotik’s do. It seems they reversed that somewhat, you can still manage the APs in the latest controller but not group them to newer ones. It was too late though, a lot customers called it quits.

Focus on documentation, build-it right in Winbox or one of these great UIs you already have which are as powerful as you know how to make them do things, make documentation offline, not links to a wiki which aren’t helpful when you’re setting up a device–when you need it the most. Finding the default IP management address shouldn’t take half an hour. Things like Mikrotik ā€œHomeā€ or whatever dumb things down way too hard and don’t provide a learning/evolving path to follow. For those of us coming with advanced, already set up networks on platforms a little more straightforward, reaching the level of knowledge necessary to deploy the same infrastructure can be cost-prohibitive in terms of time/downtime. The first time I tried a Mikrotik router, I ended up returning it because it was going to take way too much time to set up. The last time I tried Mikrotik (it’s been like 4 or 5) I couldn’t find how to set up full cone NAT on a dynamic IP interface without first learning pretty high level scripting.

Do you think it would be possible to get something similar to Cisco High Availability?
https://www.cisco.com/c/en/us/td/docs/routers/access/4400/software/configuration/xe-16-12/isr4400swcfg-xe-16-12-book/configuring_high_availability.html
There’s this other Mikrotik community project I found here:
https://github.com/svlsResearch/ha-mikrotik
Basic idea is to be able to change the configuration in one place and all the routers/switches in the HA group will be affected by that change. Versioning would help a lot as well.
Good luck. I love MikroTik from the early beginnings in the late '90. You are destined for a big success with your approach.

Native support for push metrics / streaming telemetry!

Support for pushing data to influxdb or similar. We’ve moved away from ā€œnetwork monitoringā€ tools towards grafana dashboards for all server monitoring, firewalls, and are attempting to do the same on routers/switches. No SNMP inbound, proxies, agents, etc. Just a clean feed of desired details streamed off to a target of choice.

http://forum.mikrotik.com/t/feature-request-streaming-telemetry-native-metric-export-for-influxdb-or-similar/154872/4

perfect.

…can also be coupled with, e.g. LibreNMS
had 2 of those running with oxidized (which pushed config versions to a local git repo)

This would be fantastic

It would be nice to :

get a Tik online, register with my account, then I can push any configurations I like (IPSEC/LAN, etc) or ā€œcopy from another mikrotikā€

Have it run in Mikrotik’s cloud, or make it open source so I can spin up my own linux server and use that instead.

Past that, the usual stuff, remove management behind NAT, push packages, etc.

We are a small business with 150 units. I would love to one click push a ROS and Firmware update. Push wifiwave2 as needed, whatever.

Really though, at minimum, remote management behind NAT is the biggest PITA at the moment

you could setup a public CHR to which your to-be-managed tiks would connect via ovpn/sstp/wireguard (with a /30 subnet for instance or framed /32), establish a routing-protocol for automatic route exchange with route filters in place so every device has its own Lo0 address and you also connect to that CHR and route your management subnet (in which the Lo0 address reside) to that CHR

so NAT is no problem any more in fact. and with sstp/ovpn on tcp port 443 it even would be possible to maybe deploy tiks in china xD :wink:

Following up, the devices should reach out to the controller, not the other way around. Push metrics to the controller is a good start. Controller keeps a git (or other version control database) for configs, and endpoint devices pull the latest config.

Yes, you could still potentially compromise the controller and use it to deliver compromised configs, but the controller has no inherent path to the sites. And in metrics-only mode (config pull disabled / manual on the device), there’s zero path in. We’re using this sort of strategy with a number of clients for whom data security is paramount. We provide remote monitoring of systems, but have provably zero access to the data within. A breach of our systems cannot get back to the customer, but we still provide a lot of value from metrics monitoring and analysis.



I know this sorta gets into the user facing end of things, but Aruba is doing a nice job of the config part with NetEdit. Other guys keep mentioning RANCID. This is the opposite flow. Config builder / git repo at the head end, and network devices pull their configs down.

I can also zerotier each router with my own hosted ZT and access it that way. Point being...it is an extra step which would be nice to avoid

We are a large 802.11 WISP with a managed BYOD wireless client service. We are in a phase of transitioning heavily to MikroTik products for our backhaul. We are interested in your CAP access points to install in homes and businesses, but your CAPsMAN controller currently has an issue which is fatal to our use case:

If the controlled AP loses contact with the CAPsMAN controller, it kills the radio and stops broadcasting entirely. This will suffice for local CAPsMAN management, but we require central management of thousands of separate sites (multi-tenancy). In order to do that with your controller with uninterrupted failover, we would need to run VRRP and script an automated sync. All our last-mile wifi services would be at unacceptable risk of total catastrophic failure. Our current vendors’ APs cache their config and continue broadcasting with its last known settings if it loses access to a central controller.

Is there an effort to add a feature like this for multi-tenancy and non-distributed CAPsMAN control?

^^^^^^^^^^^^^^^^^^^^^^^
THIS!!!

…Or the best of both worlds: a cloud-based service, with the option for a local ā€œproxy controllerā€, located on the LAN edge.