MikroTik Cloud Hosted Router (CHR) is a version of RouterOS designed to run as a virtual machine on hypervisors like Proxmox, VMware, or KVM. With CHR, you can run a full MikroTik router inside a VM without any physical hardware.
Prerequisites
- Proxmox VE installed and accessible via web UI
- Internet connection on the Proxmox host
- Access to the Proxmox shell (via web console or SSH)
Steps
-
1
Download the CHR Image
Download the CHR image in RAW format from the official MikroTik website. Open the Proxmox shell and run:
# Download CHR image (replace version with the latest) cd /tmp wget https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip # Extract unzip chr-7.15.3.img.zip
Check the latest version at
mikrotik.com/downloadunder the Cloud Hosted Router section. -
2
Create a New VM in Proxmox
In the Proxmox web UI, click Create VM and fill in the following configuration:
- General: Node, VM ID (e.g. 100), Name:
CHR - OS: Do not use any media, Type: Linux, Version: 6.x - 2.6 Kernel
- System: Leave as default (BIOS: SeaBIOS, SCSI Controller: VirtIO SCSI)
- Disks: Delete the default disk (click the delete icon) — we'll import the disk from the CHR image
- CPU: 1 socket, 1 core (can be increased as needed)
- Memory: minimum 128 MB (recommended 256–512 MB)
- Network: Bridge: vmbr0, Model: VirtIO (paravirtualized)
Click Finish. Do not start the VM yet.
- General: Node, VM ID (e.g. 100), Name:
-
3
Import the CHR Disk to the VM
Back in the Proxmox shell, import the CHR image into Proxmox storage. Replace
100with your VM ID andlocal-lvmwith your storage name:qm importdisk 100 /tmp/chr-7.15.3.img local-lvm
Wait for the import to complete. The disk will appear as an Unused Disk in the VM.
-
4
Attach the Disk to the VM
In the web UI, open the VM → Hardware. Double-click Unused Disk 0 and select:
- Bus/Device: VirtIO Block →
virtio0 - Click Add
- Bus/Device: VirtIO Block →
-
5
Set Boot Order
Go to VM → Options → Boot Order. Enable
virtio0and make sure it's first in the boot order. Click OK. -
6
Start VM & Access Console
Click Start on the VM, then open the Console. Wait for CHR to boot (usually 10–20 seconds).
Login with:
- Username:
admin - Password: (empty, press Enter)
Note: On first login, CHR will ask you to accept the End User License Agreement. Typeyand press Enter. - Username:
-
7
Basic IP Configuration
Once logged into the RouterOS CLI, configure the IP address on the interface:
# Check available interfaces /interface print # Set IP address (adjust to your network) /ip address add address=192.168.1.2/24 interface=ether1 # Set default gateway /ip route add gateway=192.168.1.1 # Set DNS /ip dns set servers=8.8.8.8,8.8.4.4 # Test connectivity /ping 8.8.8.8 count=3
-
8
Set Admin Password
Change the default password immediately for security:
/user set admin password=YourNewPassword123!
-
9
Access via Winbox or Web UI
Once the IP is configured, CHR can be accessed from the local network using:
- Winbox: Download from mikrotik.com, connect to the CHR IP
- Web UI: Open a browser to
http://192.168.1.2 - SSH:
ssh admin@192.168.1.2
Additional Tips
Add a Network Interface (NIC) to the VM
To add a network interface, shut down the VM first, then go to Hardware → Add → Network Device. Each NIC added will appear as ether2, ether3, etc. in RouterOS.
Resize the CHR Disk
The default CHR disk is very small (~128 MB). To resize it (e.g. to 1 GB) from the Proxmox shell:
qm resize 100 virtio0 1G
/system license renew from inside CHR.