CHR: Installing on VMware
CHR: Installing on VMware
Section titled “CHR: Installing on VMware”This guide covers deploying RouterOS Cloud Hosted Router (CHR) on VMware ESXi (vSphere), VMware Fusion (macOS), and VMware Workstation (Windows/Linux) using the provided VMDK disk image.
Prerequisites
Section titled “Prerequisites”- VMware ESXi 6.5 or higher, VMware Fusion 7+, or VMware Workstation 12+
- At least 256MB RAM and 128MB disk available for the CHR VM
- VMDK disk image downloaded from MikroTik
Download the CHR Image
Section titled “Download the CHR Image”- Visit the MikroTik download page
- Select the Cloud Hosted Router section
- Download the VMware disk image (
.vmdkfile)
Installing on VMware ESXi
Section titled “Installing on VMware ESXi”Upload the VMDK
Section titled “Upload the VMDK”- Log in to the ESXi Host Client (https://<esxi-host>/ui)
- Navigate to Storage → Datastores → Datastore browser
- Create a folder for the CHR VM (e.g.,
CHR) - Click Upload and select the downloaded
.vmdkfile
Alternatively, convert to thin-provisioned format using ESXi Shell:
vmkfstools -i /vmfs/volumes/datastore1/CHR/chr-7.x.vmdk \ /vmfs/volumes/datastore1/CHR/chr-thin.vmdk -d thinCreate the Virtual Machine
Section titled “Create the Virtual Machine”- In the ESXi Host Client, click Virtual Machines → Create / Register VM
- Select Create a new virtual machine and click Next
- Configure the VM:
| Setting | Recommended Value |
|---|---|
| Name | CHR or descriptive name |
| Guest OS Family | Linux |
| Guest OS Version | Other Linux (64-bit) |
| vCPUs | 2 (minimum 1) |
| Memory | 1024 MB |
| Hard disk | Remove default disk (will add uploaded VMDK) |
| Network Adapter | vmxnet3 |
- In the Hard disk section, click Add hard disk → Existing hard disk
- Browse to and select the uploaded CHR
.vmdkfile - Set Disk Provisioning to Thin Provision
- Click Next → Finish
The system disk must use the IDE or LSI Logic SAS controller. SCSI controllers are supported only for secondary (data) disks.
VMware Tools
Section titled “VMware Tools”CHR includes built-in support for VMware virtual hardware. No separate VMware Tools installation is required. The following features are available natively:
- Time Synchronization: Enable “Synchronize guest time with host” in VM settings
- Power Operations: Scripts execute on power on/off, suspend/resume (30-second timeout)
- Guest Quiescing: Filesystem freeze/thaw for consistent snapshots
- Guest Information: Networking, disk, and OS info reported to hypervisor every 30 seconds
Installing on VMware Workstation
Section titled “Installing on VMware Workstation”- Open VMware Workstation
- Click File → Open a Virtual Machine
- Browse to and select the downloaded CHR
.vmdkfile - VMware Workstation will create a VM configuration — accept the defaults
- Before starting, edit VM settings:
- Set Memory to at least 1024MB
- Change Network Adapter type to vmxnet3 if available (E1000 also works)
- Click Power On This Virtual Machine
Installing on VMware Fusion (macOS)
Section titled “Installing on VMware Fusion (macOS)”- Open VMware Fusion
- Click File → Import… or drag the
.vmdkfile onto the Fusion window - Follow the import wizard, selecting Linux → Other Linux 64-bit
- After import, click Virtual Machine → Settings
- Adjust Processors & Memory as needed
- Under Network Adapter, select vmxnet3 if shown (depends on Fusion version)
- Start the VM
Initial Login and Configuration
Section titled “Initial Login and Configuration”Connect to the VM console via the VMware console. Log in with default credentials:
Username: adminPassword: (empty — press Enter)Perform initial setup:
# Set admin password/user set admin password=StrongPassword123!
# Verify interfaces were detected/interface print
# Assign IP to management interface/ip address add address=192.168.88.1/24 interface=ether1
# Add default route/ip route add dst-address=0.0.0.0/0 gateway=192.168.88.254
# Configure DNS/ip dns set servers=1.1.1.1,8.8.8.8
# Enable SSH/ip service enable sshVLAN Configuration on ESXi
Section titled “VLAN Configuration on ESXi”To pass VLAN-tagged traffic to CHR on ESXi:
- In the vSphere Client, navigate to the host’s Networking section
- Select the Virtual Switch connected to the CHR VM
- Edit the Port Group settings
- Set VLAN ID to 4095 (trunk mode — passes all VLANs)
- Enable Promiscuous Mode if needed for bridging use cases
Promiscuous Mode should only be enabled on isolated port groups for security reasons.
Inside RouterOS, configure VLAN filtering on the bridge:
/interface bridge add name=br-trunk vlan-filtering=yes/interface bridge port add bridge=br-trunk interface=ether1/interface bridge vlan add bridge=br-trunk vlan-ids=10,20 tagged=br-trunk,ether1Troubleshooting
Section titled “Troubleshooting”MTU and Jumbo Frames
Section titled “MTU and Jumbo Frames”ESXi supports MTU up to 9000 bytes. Network interfaces added after the MTU change inherit the new MTU. Interfaces added prior may remain at 1500:
[admin@chr-vm] > /interface ethernet printFlags: 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 enabledTo fix, set MTU explicitly on the affected interface:
/interface ethernet set ether2 mtu=9000Packets Not Passing on Software Interfaces
Section titled “Packets Not Passing on Software Interfaces”If VLAN, EoIP, or bridge interfaces stop forwarding traffic:
- In ESXi, edit the VM’s port group
- Enable Forged Transmits and MAC Address Changes in the security policy
- For VLAN traffic, ensure the port group VLAN ID is set to 4095 (trunk)
VM Fails to Boot
Section titled “VM Fails to Boot”Verify the VMDK was uploaded correctly and the VM hardware version is compatible with ESXi. Recreate the VM if needed, ensuring the disk controller type is IDE (not SCSI) for the system disk.