らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

CML に MikroTik CHR 6.47 を追加する

以前に Cisco CML で SD-WAN (vEdge / cEdge) を検証出来るようにするというメモを書きましたが、CML では任意のノードを追加することが出来ます。 勿論、ルータに IOSv を用いても良いのですが IOSv は起動が遅く、(デフォルト状態では) 多少のスペックを要求するので、特殊な要件が無ければ MikroTik CHR で代用することも可能です。 CHR は消費リソースが少なく、数秒で起動するので私の場合は「Static Route だけ使えれば良い」「OSPF だけ使えれば良い」といった場合に CHR を使っています。 今回は CML に CHR を追加する手順をメモしておきます。 今回は現時点の安定版である 6.47 を使いました。

Step.1

CML へログインし、ToolsNode and Image Definitions → (画面下部にある) Import existing Node Definition から下記の .yaml ファイルをインポートします。

id: chr
sim:
  linux_native:
    driver: iosv
    libvirt_domain_driver: kvm
    nic_driver: virtio
    disk_driver: virtio
    ram: 64
    cpus: 1
general:
  nature: router
  description: MikroTik Cloud Hosted Router
  read_only: true
schema_version: 0.0.1
inherited:
  image:
    ram: true
    cpus: false
    data_volume: false
    boot_disk_size: false
  node:
    ram: true
    cpus: false
    data_volume: false
    boot_disk_size: false
configuration:
  generator:
    driver: iosv
  provisioning:
    volume_name: disk
    media_type: fat
    files:
      - name: ios_config.txt
        content: ''
        editable: true
device:
  interfaces:
    physical:
      - ether1
      - ether2
      - ether3
      - ether4
      - ether5
      - ether6
      - ether7
      - ether8
      - ether9
      - ether10
      - ether11
      - ether12
      - ether13
      - ether14
      - ether15
      - ether16
    has_loopback_zero: false
    default_count: 4
    serial_ports: 1
boot:
  timeout: 60
  completed:
    - MikroTik Login
pyats:
  os: ios
  series: iosv
  config_extract_command: show run
ui:
  group: Others
  icon: router
  label_prefix: chr-
  label: CHR
  visible: true
  description: |-
    MikroTik Cloud Hosted Router

    64 MB DRAM, 1 vCPU

Step.2

別に CentOS 8 マシンを用意し、CHR のイメージを .qcow2 形式で用意しておきます。

dnf -y install qemu-img unzip
curl -O https://download.mikrotik.com/routeros/6.47/chr-6.47.img.zip
unzip chr-6.47.img.zip
qemu-img convert -O qcow2 chr-6.47.img chr-6.47.qcow2

Step.3

ToolsNode and Image DefinitionsManage Uploaded Images から前の手順で作成した .qcow2 イメージをアップロードします。

Step.4

ToolsNode and Image DefinitionsCreate New Image Definition から以下のように設定を行います。

f:id:sig9:20200623233442p:plain

これで CHR を利用出来るようになりました。