Kaspersky Security for Virtualization 6.0 Light Agent

使用 SVM 首次启动脚本

2024年1月25日

ID 179764

SVM 支持使用首次启动脚本来运行配置命令。建议使用 SVM 首次启动脚本执行下列任务:

  • 配置使用静态 IP 寻址时的 SVM 网络设置。您可以使用以下命令:network, dns, manageservices(来重启网络服务)。
  • 配置 SSH 密钥授权以便无需输入 klconfig 账户密码(配置密码)即可访问 SVM。setsshkey 命令为该目的而提供。

不建议使用一长串命令,因为首次启动脚本的目的是执行最少的命令集。

使用标准输入流的命令,例如 passwd,不应该被发送至首次启动脚本。这会导致无法启动 SVM。

若要把命令发送至首次启动脚本,您需要按以下格式指定命令:

KL_CMD1="<命令 1>" KL_CMD2="<命令 2>" … KL_CMDn="<命令 N>"

其中 <命令> 是命令的名称,带有参数(如有必要)。

例如,下列命令序列可让您配置使用静态 IP 寻址时的 SVM 网络设置:

KL_CMD1="network eth0 10.65.78.35 255.255.255.0 10.65.78.255 10.65.78.1" KL_CMD2="manageservices restart network"

当运行首次启动脚本时,命令将会按被发送至首次启动脚本的顺序进行编号和执行。

脚本执行后,在文件夹 /var/log/kaspersky/la/ 中将会创建包含脚本执行结果的名为 boot_config.log 的文件。

您可以在创建首次启动脚本时使用下列特殊命令:

  • RESET – 删除 boot_config_done 文件(首次启动脚本已经执行的标记)。结果,下次启动 SVM 时所有发送至首次启动脚本的命令也将被执行。
  • ALWAYS – 即使 SVM 首次启动脚本已经执行也遵照该命令执行命令(存在 boot_config_done 文件)。
  • REPORT – 将命令执行结果信息写至文件。

例如:

KL_CMD1="ALWAYS" KL_CMD2="network eth0 10.65.78.35 255.255.255.0 10.65.78.255 10.65.78.1"

用来将命令发送至首次启动脚本的机制取决于 hypervisor 类型:

  • Citrix Hypervisor:可以按以下格式将首次启动命令添加到内核命令行:

    KL_CMD1="…" KL_CMD2="…"

  • Microsoft Windows Server (Hyper-V) hypervisor: 使用键值对交换系统(请参阅 Microsoft 文档了解详情)。
  • VMware ESXi hypervisor: 您可以用以下方式之一传达首次启动命令:
    • 在 VMX 配置文件中
    • 在 VMware vSphere Web Client Console 中:编辑设置/选项/高级/常规/配置参数
    • 使用 vmware-cmd setguestinfo 命令

    必须按以下格式制定首次启动命令:

    guestinfo.klfirstboot.cmd1

    guestinfo.klfirstboot.cmd2

  • KVM hypervisor: 命令可以按字符串格式插入文件 /opt/kaspersky/la/bin/kvm_first_boot_args 中:

    KL_CMD1="…" KL_CMD2="…"

  • Proxmox VE hypervisor: 命令可以按以下格式插入文件 /var/opt/kaspersky/la/patches/default_patch_index/bin/kvm_first_boot_args 中:

    KL_CMD0=%command1%

    KL_CMD1=%command2%

  • R-Virtualization Hypervisor:使用 QEMU 来宾代理实用程序,让您可以在 root 账户下执行命令:

    POST /api/0/vm/%vm_id%/execute

    在请求正文中:

    command_with_args=[ "bash", "-c", "%command%" ]

Did you find this article helpful?
What can we do better?
Thank you for your feedback! You're helping us improve.
Thank you for your feedback! You're helping us improve.