CHR suggestions for new functionality

RouterOS in a Docker container- I’m not sure that is at all possible. My understanding is that Docker containers are meant to run a single application, not the whole OS. Containers are self-contained in that they contain an application plus all the required libraries, but not the OS kernel. RouterOS is an OS, not an application.

RouterOS as a Docker host… Come on, guys, we are talking about the CHR here, which is already a virtual appliance. You need Docker host- just run it in a separate virtual appliance. Keeping things simple is always a GoodThing.

A Docker image doesn’t contain the Linux kernel, but it does contain everything beyond the kernel, including the shell and OS binaries. RouterOS does use the Linux kernel, but it has proprietary binaries and an opaque shell on top of it. So it can theoretically be made into a Docker image.

Agree. Though having RouterOS itself (as in, not necessarily CHR) support running Docker images would be great. If nothing else, it would allow the running of (effectively) lighter VMs, which would in turn be used for custom web servers, custom RADIUS servers, and other added custom software to work within the same physical device. Sure, you can do that today with KVM and MetaRouter, but those run a second copy of a kernel in a full blown VM, rather than sharing the OS’ kernel, thus reducing overall RAM and CPU use.

RouterOS is much more than just a shell and some binaries. The kernel and many modules (eg: netfilter/iptables) are an essential part of RouterOS.
Just think about the so many features and fixes that are postponed for v7 just because of the kernel.

In every single setup i put a Mikrotik device on a border, this is followed by various services, often requiring few resources, web frontend TLS, some PHP scripts, some databases and so on. If i could run these on Mikrotik somehow – there would be no sense to setup and support other OSes at all.

Secondly, if you look at the container management market you will become sad, Synology’s Docker is close to friendly, but others are very far from people, they are super geeky. I ran your metarouter and KVM stuff without even reading a manual, so i think you have a real opportunity to master this market.

Please read the topic title again. This thread is about CHR - i.e. a virtual appliance always running on top of some hypervisor, and NOT about other RouterOS builds that you usually use on border devices. This thread has its purpose, so please do not hijack it with an unrelated stuff.

Please don’t add docker/container support to RouterOS.

There are plenty of other simple ways to run docker. Adding it to RouterOS will add more attack vectors and also likely make RouterOS less reliable.

Maybe some kind of management system? Central configruration store with remote provisioning for new\replaced routers?

Cryptdns

We are mostly VMware customers … so for me some kind of VCenter integration, for example webfig access, would be really appreciated …

Make CHR to run on barebone switches. :slight_smile: http://www.edge-core.com/productsInfo.php?cls=1&cls2=8&cls3=143&id=264

as far as i see/remember, RouterOS uses custom kernel with custom modules. just mount the disk where normally CHR/ROSx86 runs on to another virtual machine as secondary volume and see for yourself. i did not have much at hand but an old RouterOS 5.21 installation running some legacy dude. grabbing + uncompressing the kernel revealed this and that:

crowley:~ me$ strings vmlinux | grep '^Linux version'
Linux version 2.6.35 (build@build6) (gcc version 4.5.0 (GCC) ) #15 Fri Oct 12 08:26:11 EEST 2012

crowley:~ me$ strings vmlinux | grep '/build/' | head -1
/home/build/5.21/kernel/linux6/arch/x86/kernel/alternative.c

and the latter one hints me a custom (RouterOS-version-dependent) build directory.
but let’s just assume, this may be vanilla kernel, you have a bunch of custom kernel loadable modules in the routers installation (trafflow.ko, best.ko, snif.ko) and in a docker environment one may not taint the kernel with nothing, so you just cannot load modules. see here for more info

TL;DR: no you can’t, and that’s ok so.

It wouldn’t be Cloud Hosted Router than and Mikrotik already has “barenone” hardware that is running RouterOS …

Very important (to me):

  • vm tools support. specifically, network and disk reporting back to the host and time syncing
  • a sane install process for ESXi. ova would be wonderful, but even just using a SCSI disk instead of IDE would be a huge improvement

Would be nice:

  • split horizon DNS
  • CNAME-like ability for DNS (e.g. when I create 5 names for the same host I’d like to be able to update its IP once instead of 5 times)

If I had a million dollars to fund your development:

  • centralized management of CSS switches from CHR.
  • in a perfect world I’d be able to configure a group of CSS switches via the CHR
  • but at least the ability to pull a backup from the CSS switch in routeros would be awesome

Note:
Yes, I know only the first two are really CHR features. In fact, personally I’d be more likely to use the CSS management feature from a CRS, not a CHR.

So on an off-topic note, the two CSS features would be a non-issue for me if I could pull a backup from the CSS switch in an automated fashion. Manual backups never happen, as we all know very well.

Pornhub or jdownloader would bei ok.

How hard would it be to make a CHR that did not do routing but acted as a synchronization server for Mikrotik routers.
Everyone knows that they can use VRRP however lets say you add some IP’s, firewall rules, users etc to the master and then you have to remember to also do it on the slave. It would sure be awesome if it had similar functionality to many other offerings where master config is replicated to slave. Ideally the master would have this ability on its own without a third configuration server however any way that its possible would be welcome. I would even pay for a different license level or additional feature upgrade as I know it would take some development.

P.S. I am aware that some have cobbled up some scripting to try and make their own replication. I am talking about an official Mikrotik function.

+1

Nice idea! :slight_smile:

My top three would be:

  • open-vm-tools and xen-tools
  • ova/ovf for ease-of-deployment
  • BGP multicore support

Only a couple of routing daemons in the world today are multithreaded in the way you’re wanting. It doesn’t really matter HOW they address the convergence issues as long as they do. They said a few years ago that they optimized the process and it’s way faster in v7… whenever that is.

haha :laughing:

How about some basics… open-vm-tools… It seems pretty asinine to me that we have come this far with CHR, and still no basic vm tools.