mikrotik-wiki.ru
Главная
Загрузка...

MikroTik CHR на Proxmox — установка и настройка

RouterOS 7.xSystem8 мин30 мар. 2026 г.
TelegramVK

MikroTik Cloud Hosted Router (CHR) — это полноценная версия RouterOS, предназначенная для работы в виртуальных средах. CHR позволяет развернуть маршрутизатор MikroTik на любом гипервизоре: Proxmox VE, VMware ESXi, Hyper-V, KVM, VirtualBox и даже в облаке (AWS, Azure, GCP). В этой статье мы подробно разберём установку CHR на Proxmox VE, лицензирование, настройку сети и типичные сценарии использования.

Руководство актуально для RouterOS 7.20+ и Proxmox VE 8.x.

Описание

Что такое CHR

CHR — это не урезанная версия RouterOS и не эмулятор. Это полноценная операционная система MikroTik, скомпилированная для архитектуры x86_64 и оптимизированная для работы поверх гипервизора. CHR поддерживает все функции RouterOS: firewall, routing (BGP, OSPF, MPLS), VPN (WireGuard, IPsec, L2TP, SSTP, OpenVPN), QoS, CAPsMAN/WiFiWave2 controller и многое другое.

Ключевые отличия от аппаратных RouterBOARD:

  • Работает на любом x86_64 сервере
  • Не имеет встроенных Wi-Fi модулей и физических портов
  • Количество интерфейсов ограничено только гипервизором
  • Производительность зависит от выделенных ресурсов и лицензии
  • Обновляется как обычный RouterOS (System → Packages)

Лицензирование CHR

MikroTik использует уровневую систему лицензий для CHR. Это отдельная модель, не связанная с классическими Level 4–6:

ЛицензияЦенаОграничение скоростиОписание
Free$01 Mbps на интерфейсДля тестирования и обучения
P1$451 Gbps на интерфейсДля небольших инсталляций
P10$9510 Gbps на интерфейсДля средних нагрузок
P-Unlimited$250Без ограниченийПолная производительность

Важные нюансы лицензирования:

  • Бесплатная лицензия ограничивает 1 Mbps на каждом интерфейсе — это жёсткий лимит, обойти его нельзя
  • Лицензия привязывается к System ID виртуальной машины, а не к серверу
  • При миграции VM на другой хост лицензия сохраняется
  • Пробный период (trial) даёт 60 дней P1-скорости после первой установки
  • Лицензия покупается на account.mikrotik.com и активируется командой /system/license/renew

Проверка текущей лицензии:

[admin@MikroTik] >
/system/license/print

Активация купленной лицензии:

[admin@MikroTik] >
/system/license/renew account=your@email.com password=yourpassword level=p1

Настройка

Подготовка образа для Proxmox

MikroTik предоставляет CHR в нескольких форматах: raw disk image (.img), VMDK, VHD и VHDX. Для Proxmox оптимальный вариант — использовать raw-образ и сконвертировать его в qcow2.

Скачайте последний стабильный образ с официального сайта. На сервере Proxmox выполните:

[admin@MikroTik] >
# Скачиваем raw-образ CHR
cd /tmp
wget https://download.mikrotik.com/routeros/7.20/chr-7.20.img.zip
unzip chr-7.20.img.zip

# Конвертируем в qcow2 формат
qemu-img convert -f raw -O qcow2 chr-7.20.img chr-7.20.qcow2

# Увеличиваем размер диска (опционально, 128MB достаточно для большинства задач)
qemu-img resize chr-7.20.qcow2 256M

Создание виртуальной машины

Создадим VM через командную строку Proxmox (можно также через веб-интерфейс):

[admin@MikroTik] >
# Создаём VM с ID 200
qm create 200 --name mikrotik-chr --memory 256 --cores 2 --sockets 1 \
  --cpu host --ostype l26 --net0 virtio,bridge=vmbr0 \
  --net1 virtio,bridge=vmbr1 --scsihw virtio-scsi-pci \
  --serial0 socket --vga serial0

# Импортируем диск
qm importdisk 200 /tmp/chr-7.20.qcow2 local-lvm

# Подключаем диск к VM
qm set 200 --scsi0 local-lvm:vm-200-disk-0

# Устанавливаем загрузку с диска
qm set 200 --boot order=scsi0

# Запускаем VM
qm start 200

Рекомендуемые параметры VM для CHR:

ПараметрМинимумРекомендацияМаксимум
CPU1 core2 cores4 cores
RAM128 MB256 MB1024 MB
Disk128 MB256 MB1 GB
NIC typevirtio
NIC count12–4Без ограничений

Важно: всегда используйте virtio для сетевых адаптеров и дисков. Это даёт максимальную производительность. E1000 будет работать, но значительно медленнее.

Первоначальная настройка CHR

После запуска VM подключитесь через консоль Proxmox (noVNC или Serial). Логин: admin, пароль пустой.

Задайте пароль администратора:

[admin@MikroTik] >
/user/set [find name=admin] password="SecureP@ssw0rd"

Назначьте IP-адрес на первый интерфейс (ether1 будет подключён к vmbr0):

[admin@MikroTik] >
/ip/address/add address=192.168.1.200/24 interface=ether1
/ip/route/add dst-address=0.0.0.0/0 gateway=192.168.1.1
/ip/dns/set servers=1.1.1.1,8.8.8.8

Теперь можно подключиться через WinBox или SSH по адресу 192.168.1.200.

Настройте имя устройства и часовой пояс:

[admin@MikroTik] >
/system/identity/set name=CHR-Proxmox
/system/clock/set time-zone-name=Europe/Moscow
/system/ntp/client/set enabled=yes
/system/ntp/client/servers/add address=pool.ntp.org

Настройка сети: Bridge и VLAN passthrough

CHR часто используется как маршрутизатор между виртуальными сетями. Для этого на стороне Proxmox создаются несколько bridges (vmbr0, vmbr1, vmbr2…), каждый из которых подключается к отдельному интерфейсу CHR.

Для VLAN passthrough (trunk) на стороне Proxmox необходимо настроить bridge с поддержкой VLAN aware:

[admin@MikroTik] >
# В /etc/network/interfaces на Proxmox
auto vmbr1
iface vmbr1 inet manual
    bridge-ports eno2
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes

На стороне CHR создаём VLAN-интерфейсы:

[admin@MikroTik] >
/interface/vlan/add name=vlan100-servers interface=ether2 vlan-id=100
/interface/vlan/add name=vlan200-users interface=ether2 vlan-id=200
/interface/vlan/add name=vlan300-mgmt interface=ether2 vlan-id=300

/ip/address/add address=10.0.100.1/24 interface=vlan100-servers
/ip/address/add address=10.0.200.1/24 interface=vlan200-users
/ip/address/add address=10.0.300.1/24 interface=vlan300-mgmt

Базовый firewall для CHR

CHR, в отличие от аппаратных MikroTik, по умолчанию не имеет преднастроенного firewall. Настройте минимальную защиту:

[admin@MikroTik] >
/ip/firewall/filter
add chain=input action=accept connection-state=established,related comment="Accept established"
add chain=input action=drop connection-state=invalid comment="Drop invalid"
add chain=input action=accept protocol=icmp comment="Accept ICMP"
add chain=input action=accept src-address=192.168.1.0/24 comment="Accept from LAN"
add chain=input action=accept src-address=10.0.0.0/8 comment="Accept from internal"
add chain=input action=drop comment="Drop all other input"

/ip/firewall/filter
add chain=forward action=accept connection-state=established,related comment="Accept established forward"
add chain=forward action=drop connection-state=invalid comment="Drop invalid forward"
add chain=forward action=accept src-address=10.0.0.0/8 dst-address=10.0.0.0/8 comment="Accept inter-VLAN"
add chain=forward action=drop comment="Drop all other forward"

Сценарии использования CHR

VPN-концентратор

CHR идеально подходит как централизованная точка VPN-подключений. Настроим WireGuard-сервер:

[admin@MikroTik] >
/interface/wireguard/add name=wg0 listen-port=13231 mtu=1420
/ip/address/add address=10.10.10.1/24 interface=wg0

# Добавление пира (клиента)
/interface/wireguard/peers/add interface=wg0 \
  public-key="CLIENT_PUBLIC_KEY_HERE" \
  allowed-address=10.10.10.2/32 \
  comment="Remote office"

# Разрешаем WireGuard в firewall
/ip/firewall/filter/add chain=input action=accept protocol=udp dst-port=13231 \
  comment="Accept WireGuard" place-before=5

Firewall для виртуальной инфраструктуры

CHR может выступать как центральный firewall между виртуальными машинами на Proxmox, заменяя встроенный firewall гипервизора. Это даёт полный контроль над трафиком: DPI, connection tracking, address lists, Layer7 фильтрация.

Лабораторная среда

CHR на Proxmox — идеальная среда для обучения и тестирования. Бесплатная лицензия с ограничением 1 Mbps не мешает изучать конфигурацию. Можно создать несколько CHR и связать их между собой для изучения BGP, OSPF, MPLS.

[admin@MikroTik] >
# Пример: настройка OSPF между двумя CHR
/routing/ospf/instance/add name=ospf-instance-1 router-id=1.1.1.1
/routing/ospf/area/add name=backbone instance=ospf-instance-1 area-id=0.0.0.0
/routing/ospf/interface-template/add area=backbone interfaces=ether2 type=ptp

Производительность: CHR vs RouterBOARD

Сравнение производительности CHR с аппаратными устройствами зависит от множества факторов: выделенные ресурсы, тип гипервизора, драйверы, лицензия.

МетрикаCHR (2 core, P-Unlim)hEX S (RB760iGS)RB5009UG+S+IN
Routing (1518 byte)~8–10 Gbps~1 Gbps~2.5 Gbps
Routing (64 byte)~1.5 Mpps~0.6 Mpps~1.2 Mpps
IPsec AES-256~2 Gbps~400 Mbps~900 Mbps
WireGuard~3 Gbps~500 Mbps~900 Mbps
BGP full table15–20 сек40–60 сек25–35 сек
Firewall rules impactМинимальныйЗаметныйУмеренный

Примечание: результаты CHR получены на сервере с Intel Xeon E-2288G, 2 vCPU, 512 MB RAM, virtio NIC, Proxmox 8.2. Реальные показатели зависят от хост-системы.

Преимущества CHR:

  • Масштабирование ресурсов (CPU, RAM) без замены оборудования
  • Снэпшоты и бэкапы средствами Proxmox
  • Миграция между серверами без downtime (live migration)
  • Несколько CHR-инстансов на одном сервере

Недостатки CHR:

  • Нет аппаратного ускорения (hardware offload)
  • Зависимость от хост-системы (если сервер упал — упал и роутер)
  • Нет Wi-Fi (можно управлять CAPsMAN, но сам CHR не является точкой доступа)
  • Лицензия стоит денег при продуктивном использовании

Проверка

После установки и настройки CHR выполните следующие проверки:

[admin@MikroTik] >
# Проверка версии RouterOS и лицензии
/system/resource/print
/system/license/print

# Проверка интерфейсов
/interface/print
/ip/address/print

# Проверка маршрутизации
/ip/route/print
/ping 1.1.1.1 count=5

# Проверка firewall (счётчики)
/ip/firewall/filter/print stats

# Проверка NTP
/system/ntp/client/print
/system/clock/print

# Проверка ресурсов
/system/resource/print
# Обратите внимание на: uptime, cpu-load, free-memory, architecture-name (x86_64)

Для проверки производительности сети между CHR и другой VM используйте встроенный bandwidth-test:

[admin@MikroTik] >
/tool/bandwidth-test address=192.168.1.100 protocol=tcp direction=both duration=10s

Типичные ошибки

1. Использование E1000 вместо virtio

Самая частая ошибка — выбор сетевого адаптера Intel E1000 при создании VM. E1000 работает, но производительность будет в 3–5 раз ниже, чем с virtio. Всегда используйте virtio для NIC и диска.

2. Забыли увеличить диск

Образ CHR поставляется с диском ~128 MB. Для продуктивного использования этого может не хватить — логи, файлы бэкапов и пакеты обновлений занимают место. Увеличьте диск до 256 MB–1 GB.

3. Не настроен firewall

CHR не имеет дефолтной конфигурации (в отличие от аппаратных MikroTik с предустановленным default config). После установки все порты открыты. Обязательно настройте firewall input chain.

4. Лицензия слетела после клонирования VM

При клонировании VM в Proxmox меняется System ID, и лицензия перестаёт работать. Решение: не клонируйте VM с активированной лицензией. Создавайте новую VM и покупайте отдельную лицензию, либо переносите существующую через MikroTik account.

5. Низкая производительность из-за конкуренции за CPU

CHR чувствителен к latency CPU. Если на хост-сервере работает много VM с высокой нагрузкой, CHR будет показывать плохие результаты. Решение: используйте CPU pinning в Proxmox (taskset) или выделите отдельные ядра для CHR.

[admin@MikroTik] >
# CPU pinning в Proxmox (файл /etc/pve/qemu-server/200.conf)
# Добавьте строку:
affinity: 2-3

6. Не работает VLAN passthrough

Если VLAN-тегированный трафик не проходит через CHR, проверьте:

  • На стороне Proxmox: bridge должен быть VLAN aware
  • Сетевой интерфейс VM не должен иметь VLAN tag (tag ставится внутри CHR)
  • Physical NIC сервера должен поддерживать jumbo frames, если используется MTU > 1500
[admin@MikroTik] >
# Проверка VLAN на интерфейсе
/interface/vlan/print detail
/interface/ethernet/print

# Мониторинг трафика на VLAN
/interface/monitor-traffic vlan100-servers duration=10s

7. Проблемы с DNS после установки

CHR не имеет предустановленных DNS-серверов. Без настройки DNS не будут работать обновления, NTP по имени хоста и другие сервисы:

[admin@MikroTik] >
/ip/dns/set servers=1.1.1.1,8.8.8.8 allow-remote-requests=no
/ip/dns/print

CHR на Proxmox — это мощное и гибкое решение для виртуализации сетевой инфраструктуры. Бесплатная лицензия позволяет начать знакомство без затрат, а при необходимости масштабирования лицензия P1 за $45 покрывает большинство сценариев до 1 Gbps. Для домашних лабораторий и обучения CHR на Proxmox остаётся лучшим способом изучить RouterOS без покупки оборудования.

[admin@MikroTik] >
/system/license/print
/system/license/renew account=your@email.com password=yourpassword level=p1
# Скачиваем raw-образ CHR
cd /tmp
wget https://download.mikrotik.com/routeros/7.20/chr-7.20.img.zip
unzip chr-7.20.img.zip

# Конвертируем в qcow2 формат
qemu-img convert -f raw -O qcow2 chr-7.20.img chr-7.20.qcow2

# Увеличиваем размер диска (опционально, 128MB достаточно для большинства задач)
qemu-img resize chr-7.20.qcow2 256M
# Создаём VM с ID 200
qm create 200 --name mikrotik-chr --memory 256 --cores 2 --sockets 1 \
  --cpu host --ostype l26 --net0 virtio,bridge=vmbr0 \
  --net1 virtio,bridge=vmbr1 --scsihw virtio-scsi-pci \
  --serial0 socket --vga serial0

# Импортируем диск
qm importdisk 200 /tmp/chr-7.20.qcow2 local-lvm

# Подключаем диск к VM
qm set 200 --scsi0 local-lvm:vm-200-disk-0

# Устанавливаем загрузку с диска
qm set 200 --boot order=scsi0

# Запускаем VM
qm start 200
/user/set [find name=admin] password="SecureP@ssw0rd"
/ip/address/add address=192.168.1.200/24 interface=ether1
/ip/route/add dst-address=0.0.0.0/0 gateway=192.168.1.1
/ip/dns/set servers=1.1.1.1,8.8.8.8
/system/identity/set name=CHR-Proxmox
/system/clock/set time-zone-name=Europe/Moscow
/system/ntp/client/set enabled=yes
/system/ntp/client/servers/add address=pool.ntp.org
# В /etc/network/interfaces на Proxmox
auto vmbr1
iface vmbr1 inet manual
    bridge-ports eno2
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
/interface/vlan/add name=vlan100-servers interface=ether2 vlan-id=100
/interface/vlan/add name=vlan200-users interface=ether2 vlan-id=200
/interface/vlan/add name=vlan300-mgmt interface=ether2 vlan-id=300

/ip/address/add address=10.0.100.1/24 interface=vlan100-servers
/ip/address/add address=10.0.200.1/24 interface=vlan200-users
/ip/address/add address=10.0.300.1/24 interface=vlan300-mgmt
/ip/firewall/filter
add chain=input action=accept connection-state=established,related comment="Accept established"
add chain=input action=drop connection-state=invalid comment="Drop invalid"
add chain=input action=accept protocol=icmp comment="Accept ICMP"
add chain=input action=accept src-address=192.168.1.0/24 comment="Accept from LAN"
add chain=input action=accept src-address=10.0.0.0/8 comment="Accept from internal"
add chain=input action=drop comment="Drop all other input"

/ip/firewall/filter
add chain=forward action=accept connection-state=established,related comment="Accept established forward"
add chain=forward action=drop connection-state=invalid comment="Drop invalid forward"
add chain=forward action=accept src-address=10.0.0.0/8 dst-address=10.0.0.0/8 comment="Accept inter-VLAN"
add chain=forward action=drop comment="Drop all other forward"
/interface/wireguard/add name=wg0 listen-port=13231 mtu=1420
/ip/address/add address=10.10.10.1/24 interface=wg0

# Добавление пира (клиента)
/interface/wireguard/peers/add interface=wg0 \
  public-key="CLIENT_PUBLIC_KEY_HERE" \
  allowed-address=10.10.10.2/32 \
  comment="Remote office"

# Разрешаем WireGuard в firewall
/ip/firewall/filter/add chain=input action=accept protocol=udp dst-port=13231 \
  comment="Accept WireGuard" place-before=5
# Пример: настройка OSPF между двумя CHR
/routing/ospf/instance/add name=ospf-instance-1 router-id=1.1.1.1
/routing/ospf/area/add name=backbone instance=ospf-instance-1 area-id=0.0.0.0
/routing/ospf/interface-template/add area=backbone interfaces=ether2 type=ptp
# Проверка версии RouterOS и лицензии
/system/resource/print
/system/license/print

# Проверка интерфейсов
/interface/print
/ip/address/print

# Проверка маршрутизации
/ip/route/print
/ping 1.1.1.1 count=5

# Проверка firewall (счётчики)
/ip/firewall/filter/print stats

# Проверка NTP
/system/ntp/client/print
/system/clock/print

# Проверка ресурсов
/system/resource/print
# Обратите внимание на: uptime, cpu-load, free-memory, architecture-name (x86_64)
/tool/bandwidth-test address=192.168.1.100 protocol=tcp direction=both duration=10s
# CPU pinning в Proxmox (файл /etc/pve/qemu-server/200.conf)
# Добавьте строку:
affinity: 2-3
# Проверка VLAN на интерфейсе
/interface/vlan/print detail
/interface/ethernet/print

# Мониторинг трафика на VLAN
/interface/monitor-traffic vlan100-servers duration=10s
/ip/dns/set servers=1.1.1.1,8.8.8.8 allow-remote-requests=no
/ip/dns/print
System / MikroTik CHR на Proxmox — установка и настройка