RouterOS开启Container容器功能

在 ESXi 上启用 RouterOS 容器功能

Mikrotik 的 RouterOS 7.x 版本开始支持容器功能,为网络管理员提供了更多灵活的操作方式。本文将详细介绍如何在 VMware ESXi 环境中启用 RouterOS 的容器功能、上传容器软件包,并通过相关步骤进行配置。

前期准备

在开始之前,确保以下环境配置无误:

  • ESXi 虚拟化平台:确保已经安装并运行。
  • RouterOS 虚拟机:确保已在 ESXi 上创建并运行,版本为 7.x 或更高。
  • SSH 工具:用于连接 ESXi 和 RouterOS,如 PuTTY 或 Terminal。
  • Winbox 工具:用于上传容器软件包到 RouterOS。
  • 容器软件包:从 Mikrotik 官方网站下载适用于 RouterOS 版本的容器软件包。

1. 下载容器软件包

首先,你需要下载适用于你的 RouterOS 版本 和架构的 容器软件包。可以通过 Mikrotik 官方网站进行下载。

下载步骤:

  1. 访问 Mikrotik 官方的下载页面:Mikrotik RouterOS 下载页面
  2. 在下载页面中,选择你的 RouterOS 版本,然后在“RouterOS”下选择对应的 Container 软件包,通常文件格式为 .npk 文件。
  3. 下载软件包到你的本地计算机,准备上传到 RouterOS。

2. 上传容器软件包到 RouterOS

在启用容器功能之前,首先需要通过 Winbox 将容器软件包上传到 RouterOS。

上传容器软件包步骤:

  1. 打开 Winbox,并连接到 RouterOS。
  2. 使用 Winbox 将下载好的容器软件包(.npk 文件)拖拽到 RouterOS 的文件界面中。你可以选择将文件上传至根目录或 /container 目录。

3. 启用 RouterOS 容器功能

上传完容器软件包后,需要在 RouterOS 中启用容器功能。此步骤需要在 New Terminal 中执行以下命令:

1
/system/device-mode/update container=yes

执行该命令后,RouterOS 会提示:

1
Device mode will be updated in 5 minutes. Please reboot or power off the device manually.

这表示 RouterOS 正在准备更新设备模式。为了完成更新,需要手动重启或者关闭虚拟机。

4. 关闭虚拟机(通过 SSH 连接到 ESXi)

由于 RouterOS 需要重启并更新设备模式,必须关闭虚拟机。通过 SSH 连接到 ESXi 后台,执行以下步骤:

  1. 使用 SSH 客户端(如 PuTTY)连接到 ESXi。
  2. 使用以下命令列出所有虚拟机及其 ID:
    1
    vim-cmd vmsvc/getallvms
    该命令会列出所有虚拟机及其 ID。找到你的 RouterOS 虚拟机,记录其 VMID。
  3. 使用以下命令关闭虚拟机:
    1
    vim-cmd vmsvc/power.off <VMID>
    替换 为你找到的 RouterOS 虚拟机 ID。

5. 启动RouterOS虚拟机

虚拟机关闭后,执行以下命令重新启动虚拟机:

1
vim-cmd vmsvc/power.on <VMID>

虚拟机重启后,RouterOS 会自动进入新的设备模式并启用容器功能。此时,容器功能将生效,并且之前上传的容器软件包会被自动安装。

6. 重新上传软件包(如果启用失败)

如果在启用容器功能过程中没有成功启用,可能是因为容器软件包没有正确加载。你可以通过以下步骤重新上传软件包并重启 RouterOS:

  1. 使用 Winbox 将容器软件包重新上传到 RouterOS。确保上传至正确的位置(如根目录或 /container 目录)。

  2. 上传完成后,打开 New Terminal,执行以下命令重启 RouterOS:

    1
    /system reboot

    通过重启,RouterOS 会加载上传的容器软件包,并启用容器功能。

总结

通过上述步骤,你可以在 ESXi 环境中成功启用 RouterOS 的容器功能,并利用 Winbox 上传容器软件包。虚拟机在关闭和重启后,容器功能会自动生效。如果启用容器功能失败,可以重新上传软件包并重启 RouterOS。

关键步骤总结:

  1. 下载容器软件包,并上传到 RouterOS。
  2. 执行 /system/device-mode/update container=yes 启用容器功能。
  3. 通过 SSH 连接到 ESXi,关闭虚拟机。
  4. 重新启动虚拟机。
  5. 虚拟机重启后,容器功能自动生效。
  6. 如果启用失败,重新上传软件包并重启 RouterOS。