You can upgrade the CHR licence to 10gbit or unlimited. All you need is a mikrotik account
It will run as a trial for a certain period of time then it just… keeps running…
Totally fine for lab use
I wonder how this can help? For example, for client authorization via option82, it is necessary that the data “lease-agent-circuit-id” and “lease-agent-remote-id” are parsed before the request goes to the radius server. Or this parsing should be implemented on the billing system side, but usually all free billings do not provide this. I really hope that one day MikroTik will add something like lua scripts as implemented in accell-ppp.
*) container - added support for cpuset, cpu, memory, pids cgroups;
nice, now we can run containers with fully supported systemctl:
# NAME ROOT-DIR INTERFACE WORKDIR MEMORY-CURRENT TAG
0 R ubi-init ubi-init veth1 / 128.0KiB registry.access.redhat.com/ubi9/ubi-init:latest
it takes a moment for services to start once container is running but works fine:
[root@dev /]# systemctl status nginx
○ nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: inactive (dead)
[root@dev /]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
Active: active (running) since Tue 2025-06-03 08:21:00 UTC; 14s ago
Process: 31 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 34 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 35 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 38 (nginx)
Tasks: 2 (limit: 5484)
Memory: 2.2M
CPU: 16ms
CGroup: /init/system.slice/nginx.service
├─38 "nginx: master process /usr/sbin/nginx"
└─39 "nginx: worker process"
Jun 03 08:20:53 dev systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jun 03 08:20:58 dev nginx[34]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jun 03 08:20:58 dev nginx[34]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jun 03 08:21:00 dev systemd[1]: Started The nginx HTTP and reverse proxy server.
0 R ether1 switch1
1 R ether2 switch1 55.0Mbps 55.0Mbps
Result on test device connected to ether2 with 7.20beta2:
Download: 52 Mbit/s
Upload: 22 Mbit/s
Result on test device connected to ether2 with 7.19.1:
Download: 52 Mbit/s
Upload: 1.65 Mbit/s
It's better but still unusable. Unfortunately, egress/ingress shaping using a switch chip has never worked accurately with mikrotik devices, especially on CRS3xx devices it's a real shame that you can't use the shaping - we would really need it there.
I know, but it’s impractical IMHO to “free/demo tier” all nodes in a lab (might be 2 ..or 10), then you have another lab with more, then you need to reset the lab → re-license all of them again..
Two months later, you might need to update the routeros in the lab.. and, again, the same problem.
You can do that one or twice, but it would be so much easier to have a decent limit at 10 Mb/s and forget the stuggle.
Please MT, consider updating the limit to 10Mb/s or give us a way to lab in a more convenient way.. thanx.
And speed limit is adequate for feature testing purposes. In some parts of the world you have less speed for the whole city than you get with ROS free license speed limit.
You’re right, I totally agree that CHR has the most relaxed licensing system imaginable .. and BTW .. THANKS!
About “speed limit is adequate for feature testing purposes”.. not really, when I need to test some load-balancing, or bonding, …, it’s difficult to get an immediate feed-back (I need to check on devices where the traffic is going because the control plane traffic and data one are mixing and in the same ‘magnitude scale’ (when you have 1 Mb/s limit, the traffic you inject for testing should be much less ..and sometimes it might be comparable to the cplane).
About flexibility: you can indeed put a trial license on (e.g.) 10 CHR device on a lab but, as soon as you create a copy of the project/topology for another scenario, you have to do that again. NOTE: often I need to reset the (virtual) device in a lab beacuse of some weird interface assignment (starting for example from ether4, ether5 .. which corrupts the config); in this case you (again) have to re-license them all.
I just asked if you think it’s possible (/sensible) since I think NOBODY would accept a free-tier 10Mb/s limit IN any REAL scenario that is not a virtual lab.
If it’s a bad idea or you think it’s not viable, that’s it .. I understand.
Thanks anyway for the feedback, very much appreciated. Have a nice day guys.
Let’s be real though, it’s bugger all effort compared to what you are getting in return. If you think thats difficult, go and try get access to Huawei enterprise firmware or documentation for instance. It’s an absolute bloody nightmare
It’s a very small price to pay for the niche times you need more than the 1mbit limit. And if you are really truly that desperate, use the same lab and backup your configs. Wipe the node’s and upload/restore the appropriate config
Nobody would be upset with a higher limit but its already insanely generous and entirely functional system
Nobody does. We all license our production CHR instances. They’re really very cheap, and if you really can’t do that it’s an incredibly small ask to simply add a trial licence and if you need to upgrade months down the track, backup your config, delete the instance, recreate it with the latest version, re-trial it and apply your config. It’s all of about 5 minutes work
So get 10 licenses for 1 Gbit at $45 each (listprice, I see someone offering them for 35,70 euro which is less), and be done with it.
When your “project” cannot afford that, how much of a project is it really?
For this kind of tests, you will need real HW based MTik devices. 1Mbps is enough for the most of CPlane tests. It is annoying if I want to upgrade my CHR LAB (12 devices) through the LAB network, with 1Mbps, it takes more then half hour, but I can live with this inconvenience.
This is probably the only thing I find irksome with the 1mbit limit, takes too damn long to download the update. Especially when you have nodes in a daisy chain and they’re all sharing a 1mbit pipe
Unlimited bandwidth to MikroTik package servers would be welcome. Still, I can live with it, its a lab
I use Webfig almost exclusively (old habits die hard, I guess), and I agree that 1Mbps makes managing the machines feel a bit lethargic, especially with the new UI. Perhaps 10Mbps is too much, but something between 2 and 5Mbps might be a compromise, or maybe adding a healthy burst amount on the throttler would help.
I personally am happy with the licensing, but the current licensing process can get in the way of automation and lab development. (Unless I’m missing something…)
For labbing in a virtual environment, it’s not uncommon for developers to spin up a slew of “freshly-baked” ephemeral VM’s that are preconfigured for the test environment. A common case is a bunch of Linux, Windows, or Mac VM’s that are spun up from a template with the bare minimum installed to support the developer’s app. Once app testing is done, the VM’s are shut down and often deleted.
If there was a way to preload licensing credentials or a lab license file, along with a base config, so that when you spin up a cluster of CHR VMs (like in GNS3) they’re ready to go (without the 1Mbps limit), that would be great, especially for air-gapped lab testing (i.e. no Internet connection). Or give an air-gapped CHR VM a 24-hour window for unlimited bandwidth (similar to x86), then throttle to 1Mbps after the initial 24 hours. In that case, you’re not flooding a user’s MikroTik account with a bunch of CHR trial licenses for ephemeral VM’s that will never come back.
I would love to hear how MikroTik’s developers automate configuration and licensing of their VM’s.
I’m with Normis on this one - I don’t think it’s unfair. The fact that it works out-of-box without any login/credentials/keys/etc is already ahead of most other commercial products/sevices IMO. I’m still surprised that an expired trial does NOT revert to 1Mb/s, which seem rather generous, given re-creating VMs isn’t hard.
And for automation, it’s just one command that can be inserted into any :import script that will license the “trial” version… assuming you created an free www.mikrotik.com account:
Now I suppose if you do a lot of automated testing, the www.mikrotik.com account might get “full” at some point with previous licensed, now deleted CHR VMs… But I don’t know when MikroTik starts rejecting trial licenses, since never seen it, so…
Is there some way to “force proxy mode” in using /ip/cloud/back-to-home-files?
The use case is that if I “share a file”, I may not want to [indirectly via DNS] share my public IP address too.
And while firewall tricks with DDNS might be able to “fool” back-to-home-file - it also effect BTH VPN.
Basically I’d like to be able use “direct if possible” with VPN, but “force proxy” with the file sharing - and not sure that’s possible by “fooling” /ip/cloud DDNS in firewall.
couldn’t get BGP to work (7.20beta2) because the router-id was claimed to be invalid (found no solution - tried virtually anything I could find also in the template);
reverted back to 7.19.2