How To Install Mikrotik CHR in Proxmox Virtual Environment

by Felix Kinaro About 2 min reading time

What Is CHR?

MikroTik Cloud Hosted Router (CHR) is a virtual router operating system based on the MikroTik RouterOS. It is designed to run as a virtual machine allowing you to turn an x86-based PC or server into a MikroTik router.

How To Deploy A CHR Instance On ProxMox

Deploying To A RAID VM

  1. Create/assign resources. - 2 CPU cores, 2 GB RAM, 20GB storage. Do not power on yet.
  2. Log in to the ProxMox host via SSH and download the .img file using wget:

Extract the file using unzip

  1. Write the img file to the block device if you are using ZFS raid. Note the target varies based on your virtual machine's ID when creating it. The command below will write the OS to the default boot drive configured for the CHR virtual machine.
dd if=chr-7.10.2.img of=/dev/zvol/VM-STORAGE/vm-100-disk-0`
  1. Power the CHR on the ProxMox GUI.

  2. Log in to the CHR via VNC on the browser and create a new system user with full privileges. Disable the default 'admin' account as a hardening measure against password brute-force attacks.

  3. Configure the IP address, gateway, and default route using the command line. Add the firewall filter rules to limit which sources have access to functionalities.

  4. Proceed to log in using Winbox. Winbox offers a graphical tool to administer your router.

Deploying To A Non-RAID Setup

The instructions for a non-RADI setup are different in step 3. Here, you convert the .img file into a .qcow virtual machine image and output it to the virtual machine boot disk you had created earlier as follows:

qemu-img convert -f raw -O qcow2 chr-7.10.2.img vm-(VM_ID)-disk-1.qcow2


The CHR trial period is 60 days. Remember to buy a license before they elapse. Now that you have a Mikrotik router in the cloud, you can proceed to use it as a VPN to browse securely or connect multiple devices to create your own network. You can read more about CHR on the MikroTik Wiki

Subscribe to receive weekly articles

Your data is handled by Buttondown.