Cloud Hosted Router
Cloud Hosted Router (CHR) is a RouterOS version intended for running as a virtual machine. It supports the x86 64-bit architecture and can be used on most of the popular hypervisors such as VMWare, Hyper-V, VirtualBox, KVM and others. CHR has full RouterOS features enabled by default but has a different licensing model than other RouterOS versions.
- 64bit CPU with virtualisation support
- 128 MB or more RAM for the CHR instance
- 128 MB disk space for the CHR virtual hard drive
- Maximum supported system disk image size is 16GB
CHR has been tested on the following platforms:
- VirtualBox 5 on Linux and OS X
- VMWare Fusion 7 and 8 on OS X
- VMWare ESXi 6.5
- Qemu 22.214.171.124 on Linux and OS X
- Hyper-V on Windows Server 2012 and Windows 10 (Only Generation 1 Hyper-V virtual machine is supported at the moment)
- Xen Project 4.6.5
- Xen Server 7.1
Usable Network and Disk interfaces on various hypervisors:
- Network: vmxnet3, E1000
- Disk: IDE, VMware paravirtual SCSI, LSI Logic SAS, LSI Logic Parallel
- Network: Network adapter, Legacy Network adapter
- Disk: IDE, SCSI
- Network: Virtio, E1000, vmxnet3 (optional)
- Disk: IDE, Sata, Virtio
- Xen Project:
- Network: E1000, rtl8193, netfront
- Disk: IDE, Sata
- Network: E1000, rtl8193
- Disk: IDE, Sata, SCSI, SAS
How to Install CHR
We provide 4 different virtual disk images to choose from. Note that they are only disk images, and you can't simply run them.
- RAW disk image (.img file)
- VMWare disk image (.vmdk file)
- Hyper-V disk image (.vhdx file)
- VirtualBox disk image (.vdi file)
Steps to install CHR
- Download virtual disk image for your hypervisor
- Create a guest virtual machine
- Use previously downloaded image file as a virtual disk drive
- Start the guest CHR virtual machine
- Log in to your new CHR. Default user is 'admin', without password
Please note that running CHR systems can be cloned and copied, but the copy will be aware of the previous trial period, so you cannot extend your trial time by making a copy of your CHR. However, you are allowed to license both systems individually. To make a new trial system, you need to make a fresh installation and reconfigure RouterOS.
The CHR has 4 license levels:
- p1 perpetual-1 ($45)
- p10 perpetual-10 ($95)
- p-unlimited perpetual-unlimited ($250)
60-day free trial license is available for all paid license levels. To get the free trial license, you have to have an account on MikroTik.com as all license management is done there.
Perpetual is a lifetime license (buy once, use forever). It is possible to transfer a perpetual license to another CHR instance. A running CHR instance will indicate the time when it has to access the account server to renew it's license. If the CHR instance will not be able to renew the license it will behave as if the trial period has ran out and will not allow an upgrade of RouterOS to a newer version.
After licensing a running trial system, you must manually run the /system license renew function from the CHR to make it active. Otherwise the system will not know you have licensed it in your account.
p1 (perpetual-1) license level allows CHR to run indefinitely. It is limited to 1Gbps upload per interface. All the rest of the features provided by CHR are available without restrictions. It is possible to upgrade p1 to p10 or p-unlimited After the upgrade is purchased the former license will become available for later use on your account.
p10 (perpetual-10) license level allows CHR to run indefinitely. It is limited to 10Gbps upload per interface. All the rest of the features provided by CHR are available without restrictions. It is possible to upgrade p10 to p-unlimited After the upgrade is purchased the former license will become available for later use on your account.
The p-unlimited (perpetual-unlimited) license level allows CHR to run indefinitely. It is the highest tier license and it has no enforced limitations.
There are several options to use and try CHR free of charge.
The free license level allows CHR to run indefinitely. It is limited to 1Mbps upload per interface. All the rest of the features provided by CHR are available without restrictions. To use this, all you have to do is download disk image file from our download page and create a virtual guest.
In addition to the limited Free installation, you can also test the increased speed of P1/P10/PU licenses with a 60 trial.
You will have to have an account registered on MikroTik.com. Then you can request the desired license level for trial from your router that will assign your router ID to your account and enable a purchase of the license from your account. All the paid license equivalents are available for trial. A trial period is 60 days from the day of acquisition, after this time passes, your license menu will start to show "Limited upgrades", which means that RouterOS can no longer be upgraded.
If you plan to purchase the selected license, you must do it within 60 days of the trial end date. If your trial ends, and there are no purchases within 2 months after it ended, the device will no longer appear in your MikroTik account. You will have to make a new CHR installation to make a purchase within the required time frame.
To request a trial license, you must run the command "/system license renew" from the CHR device command line. You will be asked for the username and password of your mikrotik.com account.
Getting the License
After the initial setup a CHR instance will have a free license assigned. From there, it is possible to upgrade the license to a higher tier. Once you have a trial license all the work with the license is done on the account server where it is possible to upgrade license to a higher tier unless it is p-unlimited already.
Upgrade from free to p1 or higher
Initial upgrade from the free tier to anything higher than that incurs CHR instance registration on the account server. To do that you have to enter your MikroTik.com username and password and a desired license level you want to acquire. As a result, a CHR ID number will be assigned to your account on the account server and 60-day trial created for that ID. There are 2 ways to obtain a license - using WinBox or RouterOS command line interface:
Using WinBox (Sytem -> License menu):
Using command line interface:
[admin@MikroTik] > /system license print system-id: 6lR1ZP/utuJ level: free [admin@MikroTik] > /system license renew account: mymikrotikcomaccount password: ********************* level: p1 status: done [admin@MikroTik] > /system license print system-id: 6lR1ZP/utuJ level: p1 next-renewal-at: jan/10/2016 21:59:59 deadline-at: feb/09/2016 21:59:59
To acquire a higher level trial, set up a new CHR instance, renew the license and select the desired level.
To upgrade from a Trial license to Paid go to MikroTik.com account server and choose 'all keys' in Cloud Hosted Router (CHR) section:
You will be presented with a list of your CHR machines and licenses:
To upgrade from a Trial to a Paid license click 'Upgrade', choose the desired license level (it can be different than the level of the trial license) and click 'Upgrade key':
Choose the payment method:
It is possible to pay using account balance (deposit), credit card (CC), PayPal or using Balance (prepaid) key (if you have any).
Upgrade from higher tier up
Only an upgrade to a higher tier is possible at the moment (for paid licenses only) and that is done in the account server. For changes to take place on the router itself renew command should be issued. When the router already has any kind of trial or paid license, the license level you set for the renew command is not important anymore, it is mandated by the account server. Possible upgrades are as follows:
- p1 upgrade to p10
- p1 upgrade to p-unlimited
- p10 upgrade to p-unlimited
In '/system license' menu router will indicate the time next-renewal-at when it will attempt to contact server located on licence.mikrotik.com. Communication attempts will be performed once an hour after the date on next-renewal-at and will not cease until the server responds with an error. If deadline-at date is reached without successfully contacting the account server, the router will consider that license has expired and will disallow further software updates. However, router will continue to work with the same license tier as before.
Running on VMware ESXi
VMware ESXi supports MTU of up to 9000 bytes. To get the benefit of that, you have to adjust your ESXi installation to allow a higher MTU. Virtual Ethernet interface added after the MTU change will be properly allowed by the ESXi server to pass jumbo frames. Interfaces added prior to MTU change on the ESXi server will be barred by the ESXi server (it will still report old MTU as maximum possible size). If you have this, you have to re-add interfaces to the virtual guests.
Example. There are 2 interfaces added to the ESXi guest, auto-detected MTU on the interfaces show MTU size as it was at the time when the interface was added:
[admin@chr-vm] > interface ethernet print Flags: X - disabled, R - running, S - slave # NAME MTU MAC-ADDRESS ARP 0 R ether1 9000 00:0C:29:35:37:5C enabled 1 R ether2 1500 00:0C:29:35:37:66 enabled
Using bridge on Linux
If Linux bridge supports IGMP snooping, and there are problems with IPv6 traffic it is required to disable that feature as it interacts with MLD packets (multicast) and is not passing them through.
echo -n 0 > /sys/class/net/vmbr0/bridge/multicast_snooping
Packets not passing from guests
The problem: after configuring a software interface (VLAN, EoIP, bridge, etc.) on the guest CHR it stops passing data to the outside world beyond the router.
The solution: check your VMS (Virtualization Management System) security settings, if other MAC addresses allowed to pass if packets with VLAN tags allowed to pass through. Adjust the security settings according to your needs like allowing MAC spoofing or certain MAC address range. For VLAN interfaces, it is usually possible to define allowed VLAN tags or VLAN tag range.
It wont be possible to run CHR on this hypervisor. CHR cannot be run as paravirtualized platform.
Using vlans on CHR in various Hypervisors
In some of hypervisors before Vlans can be used on VMs they need to first be configured on hypervisor it self.
Enable Promiscuous mode in port group or virtual switch that you will use for specific VM.
Some useful articles:
Specific vlan is untagged by nic interface:
Allow passing other vlans:
Vlan needs to be configured for network entry that is going to be used for specific VM:
Xen Server documentation:
Some useful articles: