---
title: Deploying on Proxmox
slug: ps/help/en_us/ics/25x/vadep/deploying-on-proxmox
docTags: 
createdAt: 2026-09-25T07:27:05.993Z
---

# Introduction

This document provides a detailed guide for deploying Ivanti Connect Secure (ICS) on Proxmox, including prerequisites for secure boot with Ivanti OVMF firmware, steps to upload and prepare the ICS image, instructions to create and configure the ICS virtual machine with appropriate hardware and network settings, initialization using a configuration ISO, and reference configurations for firmware and image management.

## Prerequisites&#x20;

### Ivanti Secure Boot&#x20;

To boot Ivanti virtual ICS in secure boot mode, perform the following steps on compute nodes.&#x20;

1. Extract Ivanti released OVMF firmware and VARS file from KVM ZIP artifact.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/gMOsyhAu3DLGqF4OVc-5c_image.png" size="80" isUploading="false" width="755" height="164" darkWidth="755" darkHeight="164" position="flex-start" showCaption="false" indent="1"}

2. Ivanti released OVMF firmware and VARS file needs to be copied to /usr/share/pve-edk2-firmware directory of compute nodes.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/0ktxPjkoUAD95f92XnXd6_image.png" size="90" isUploading="false" width="754" height="78" darkWidth="754" darkHeight="78" position="flex-start" showCaption="false" indent="1"}

3. Symlink default secboot OVMF files to point to Ivanti OVMF files. It should be as follows.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/wTC_thMoTXb4D9QJmzfhq_image.png" size="90" isUploading="false" width="734" height="163" darkWidth="734" darkHeight="163" position="flex-start" showCaption="false" indent="1"}

4. Since OVMF contents is being modified, disable automatic update of OVMF.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/vLQPGVsK7YvHn37tTDp1T_upload.png" size="80" width="796" height="53" isUploading="false" darkWidth="796" darkHeight="53" position="flex-start" showCaption="false" indent="1"}

# Upload ICS Image to Proxmox

To upload the ICS image on Proxmox, perform the following steps:

1. Extract ICS image from KVM ZIP artifact.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/gMOsyhAu3DLGqF4OVc-5c_image.png" size="80" isUploading="false" width="755" height="164" darkWidth="755" darkHeight="164" position="flex-start" showCaption="false" indent="1"}

2. Unzip KVM image file.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/HlK2tYUOfCiqBj8TNMjyk_image.png" size="80" isUploading="false" width="519" height="62" darkWidth="519" darkHeight="62" position="flex-start" showCaption="false" indent="1"}

3. Rename .img file to .qcow2. Proxmox identifies file type based on extension

:::hint{type="info"}
It is important to rename .img to .qcow2. Without this step, proxmox identifies image as raw and VM will not boot.
:::

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/NFx1PsOdN-SG7Kp8jiury_upload.png" size="90" width="912" height="101" isUploading="false" darkWidth="912" darkHeight="101" position="flex-start" showCaption="false" indent="1"}

4. Upload ICS qcow2 image to Proxmox.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/IuyY89cSr-iFcRU1O9Fmi_image.png" size="80" isUploading="false" width="847" height="474" darkWidth="847" darkHeight="474" position="flex-start" showCaption="false" indent="1"}

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/rmfbFJYzyuu2Ot7PqqzZQ_upload.png" size="80" width="853" height="509" isUploading="false" darkWidth="853" darkHeight="509" position="flex-start" showCaption="false" indent="1"}



::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/XQOzZmcLzxx83ROW47Iu0_image.png" size="80" isUploading="false" width="905" height="568" darkWidth="905" darkHeight="568" position="flex-start" showCaption="false" indent="1"}

# Create ICS VM on Proxmox

To create ICS VM image on Proxmox, perform the following steps:

1. Selec&#x74;**&#x20;CreateVM&#x20;**&#x6F;ption on Proxmox hypervisor.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/PQyYR7r0531wFzuwuwuYx_image.png" size="80" isUploading="false" width="951" height="530" darkWidth="951" darkHeight="530" position="flex-start" showCaption="false" indent="1"}

2. Enter the virtual machine name.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/6rT1wqHZdf_nM0INFe4TX_image.png" size="80" isUploading="false" width="851" height="595" darkWidth="851" darkHeight="595" position="flex-start" showCaption="false" indent="1"}

3. Select “Do not use any media” option.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/774jUyF6j8L06ywfaZM0E_image.png" size="80" isUploading="false" width="843" height="643" darkWidth="843" darkHeight="643" position="flex-start" showCaption="false" indent="1"}

4. Select information as follows:
   a. Machine type: q35.
   b. BIOS: OVMF (UEFI).
   c. Add EFI Disk.
   d. Pre-enroll Keys.
   e. Add TPM.
   f. Version: 2.0.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/qKe4bwska9OeFlgINotSy_image.png" size="80" isUploading="false" width="808" height="603" darkWidth="808" darkHeight="603" position="flex-start" showCaption="false" indent="1"}

5. Delete default disk by clicking trash button on top left.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/NkmVSNJ2yKr_dPhZcZpO5_image.png" size="80" isUploading="false" width="842" height="652" darkWidth="842" darkHeight="652" position="flex-start" showCaption="false" indent="1"}

6. Click “Import” on bottom left corner for option to import ICS image.
7. Import uploaded qcow2 ICS image. Use Virtio Block as Bus/Device.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/wf_AVJSVlQchgkMA3nFZo_upload.png" size="80" width="796" height="620" isUploading="false" darkWidth="796" darkHeight="620" position="flex-start" showCaption="false" indent="1"}

8. Enter CPU and memory information to suit your ICS instance size.
   a. ISA4500V: 4 vCPUs and 8 GB RAM.
   b. ISA6500V: 8 vCPUs and 16 GB RAM.
   c. ISA8500V: 12 vCPUs and 32 GB RAM.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/17BI2eKTJ241YaAg8YGhq_image.png" size="80" isUploading="false" width="852" height="645" darkWidth="852" darkHeight="645" position="flex-start" showCaption="false" indent="1"}

9. Select “Virtio (Paravirtualized)” for network model. Following interfaces need to be configured. Create appropriate bridge interfaces for virtual NICs.
   a. Management.
   b. Internal.
   c. External

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/991OjfPIUzytA_wnFa6Q6_image.png" size="80" isUploading="false" width="808" height="605" darkWidth="808" darkHeight="605" position="flex-start" showCaption="false" indent="1"}

10. Click Confirm. Click Finish.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/c5Wq1ga29XDTlWsKULTv0_upload.png" size="80" width="775" height="580" isUploading="false" darkWidth="775" darkHeight="580" position="flex-start" showCaption="false" indent="1"}

11. Start virtual machine.

# Configuration Initialization

ICS on Proxmox supports configuration initialization through init ISO image.

1. Extract kvm\_template.xml file from KVM image tar.gz file. Example:- ISA-V-KVM-ICS-25.1.4.0-18668.1.tar.gz.
2. Fill in required details.
3. Create ISO image from kvm\_template.xml.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/jsYWpqZVYnp200ejXKn0W_image.png" size="60" isUploading="false" width="523" height="31" darkWidth="523" darkHeight="31" position="flex-start" showCaption="false" indent="1"}

:::hint{type="info"}
File name must be **kvm\_template.xml**
:::

4. .Upload kvm.iso to Proxmox ISO datastore.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/qtQjZTZvm5y8_xB0EUNFn_image.png" size="80" isUploading="false" width="849" height="533" darkWidth="849" darkHeight="533" position="flex-start" showCaption="false" indent="1"}

5. When creating virtual machine, select ISO image.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/BDu3uCUHlwRjUHdlipRKj_image.png" size="80" isUploading="false" width="808" height="606" darkWidth="808" darkHeight="606" position="flex-start" showCaption="false" indent="1"}

6. Import qcow2 image in subsequent steps.
7. If initialization is successful, then following output will be seen.

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/Rdov6BCrrLaNiFzwsSJ4o_image.png" size="90" isUploading="false" width="792" height="86" darkWidth="792" darkHeight="86" position="flex-start" showCaption="false" indent="1"}

# Reference working configuration

::Image[]{src="https://api.archbee.com/api/optimize/wxZG1KsS4xNkVZYoiu_o9/oG86r7h2vMBdQyWu9aztz_image.png" size="80" isUploading="false" width="796" height="507" darkWidth="796" darkHeight="507" position="flex-start" showCaption="false" indent="1"}

