---
title: "Install cloudSwXtch on Azure in an Air-Gapped Environment"
slug: "install-cloudswxtch-for-an-air-gapped-environment-1"
updated: 2025-11-10T22:29:28Z
published: 2025-10-21T18:04:46Z
canonical: "docs.swxtch.io/install-cloudswxtch-for-an-air-gapped-environment-1"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swxtch.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Install cloudSwXtch on Azure in an Air-Gapped Environment

> [!NOTE]
> WHAT TO EXPECT
> 
> In this article, users will learn how to install a cloudSwXtch in an Air-Gapped (Closed Network) environment on Azure. For standard Azure installation instructions, please see the [cloudSwXtch on Azure](/v2/docs/cloudswxtch-on-azure) article.

## Before Starting

Review VM Requirements for a cloudSwXtch Instance in [cloudSwXtch System Requirements](/v2/docs/cloudswxtch-prerequisites).

## VM Image Creation

The cloudSwXtch software is delivered as a **Virtual Machine Disk Image**. This Image file can be added to an Azure **Image Gallery**. Images in an Image Gallery can be used to create Virtual Machines.

To assist with the creation of VMs from images in a gallery, swXtch.io provides instructions on how to accomplish the following:

1. [Get the VM Disk Image](/v2/docs/install-cloudswxtch-for-an-air-gapped-environment-1#step-one-get-the-vm-disk-image)
2. [Upload the VM Image into an Azure Storage Account](/v2/docs/install-cloudswxtch-for-an-air-gapped-environment-1#step-two-upload-the-vm-disk-image-into-an-azure-storage-account)
3. [Create a VM Image from the Disk Image](/v2/docs/install-cloudswxtch-for-an-air-gapped-environment-1#step-three-create-a-vm-image-from-the-disk-image)
4. [Create cloudSwXtch from VM Image](/v2/docs/install-cloudswxtch-for-an-air-gapped-environment-1#step-four-create-cloudswxtch-from-vm-image)
5. [License the cloudSwXtch](/v2/docs/install-cloudswxtch-for-an-air-gapped-environment-1#step-five-license-the-cloudswxtch)

**Complete all steps to successfully install cloudSwXtch in an Air-Gapped environment**.

### STEP ONE: Get the VM Disk Image

Log onto an environment that has access to the internet and download the following file onto a machine with access to the Azure Air-Gapped Environment (~30GB):

```plaintext
https://swxtchpublic.blob.core.windows.net/3hwgfe98hfglsrdfh4/cloudSwXtch_osdisk_3.0.0.airgap.vhd
```

### STEP TWO: Upload the VM Disk Image into an Azure Storage Account

1. Upload****the files to an Azure storage account in the **secure** Azure Environment.
  1. Log in to the **Azure** Portal
  2. Navigate to **Storage Accounts**.
  3. Select the desired storage account or **create a new one**.
  4. Select the desired Container or **create a new one**.
  5. Select**Upload** and select the VM Disk Image file you copied to the local PC.

![Azure-Air Gapped-Storage Accounts_Upload file](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure-Air%20Gapped-Storage%20Accounts_Upload%20file.png)
  6. Start the upload and wait for it to complete.

This may take some time to upload the file (up to an hour). When completed, the file should show with a green checkbox.

Failed to Upload Blob(s) Message

If you receive a "Failed to Upload Blob(s)" message when uploading the file in the Storage Account, select **Configuration** and validate that **Allow storage key access** is enabled.

![Azure-airgapped_failedtouploadpng](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure-airgapped_failedtouploadpng.png)

### STEP THREE: Create a VM Image from the Disk Image

Once we have a disk image in storage, we can use it to create a VM image. A VM image is a *snapshot of* a VM. The real VM will be created later. The VM Image only needs to be created once. Any number of VMs can be instantiated from a single VM image.

1. In the Azure Portal,**Search** for and **select Images**.
2. Select **Create**.
3. Select the appropriate **Resource Group**.
4. Give the VM Image a name. The cloudSwXtch instance will be created later with a different name. Pick a name with the cloudSwXtch software version in it, as you may end up with multiple images after some time.
5. Ensure that the region is the same for the storage account holding the disk image.
6. Select **Linux** as the OS type
7. Select **Gen 1**.
8. Click**Browse** on the **Storage Blob**.
  1. In the new panel, navigate to the storage account and container holding the disk image.
  2. Select the file that was previously uploaded.
9. For **Account Type**, select **Standard SSD**. See the example of the screen filled out completely.

![Azure-Air Gapped Create an Image](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure-Air%20Gapped%20Create%20an%20Image.png)
10. If tags are desired, then select **Tags** and enter the required tags.
11. The other fields can be left as default.
12. Select **Review and create.**
13. When validation passes, select **Create**. When it is complete, click **Go to Resource** to see the image.

### STEP FOUR: Create cloudSwXtch from VM Image

Now that we have a cloudSwXtch VM Image, we can use it to instantiate a cloudSwXtch.

1. Navigate to **Images**.
2. Select the image with the cloudSwXtch version you require.
3. Select **Create VM**.

![Air-Gapped_createVM](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Air-Gapped_createVM.png)
4. Fill****out the **Create a virtual machine**form like below:
  1. Under **Project Details**, set the **subscription** and **Resource Group** for where you want the cloudSwXtch instance to be located.

![Azure_Airgapped_Project-Details](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped_Project-Details.png)
  2. Under **Instance Details**, name the Virtual Machine with a valid host name in the **Virtual machine name** field.
  3. Select **No infrastructure redundancy required** for Availability options.
  4. Select an appropriate machine size. For recommendations based on features, endpoints, and bandwidth needs, read the [cloudSwXtch System Requirements](/v2/docs/cloudswxtch-prerequisites).

![Azure_Airgapped_ Instance](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped_%20Instance.png)
  5. Under **Administrator account**, we recommend using SSH for the authentication type (tick on **SSH public key**). Enter your **SSH public key source.**Refer to [ssh-keys-portal](https://learn.microsoft.com/en-us/azure/virtual-machines/ssh-keys-portal) for details.

![Azure_Airgapped_Admin](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped_Admin%20.png)
  6. Select your preference in **Inbound port rules.**

![Azure_Airgapped-Inbound](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-Inbound.png)
  7. Set the **Licensing Type** to **Other.**

![Azure_Airgapped-Licensing](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-Licensing.png)
  8. Navigate to the **Networking** tab and fill out the form:
    1. Select the appropriate **Virtual Network**.
    2. Select the appropriate control **Subnet**. ![Azure-Air Gapped Create VM-3](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure-Air%20Gapped%20Create%20VM-3.png)
  9. Navigate to other tabs as desired and enter information as preferred. For example, some installations expect **Tags** to be entered.
  10. Select **Review + Create**.
  11. When validation passes, select **Create**.
5. When the deployment is complete, select**Go to Resource**.

![Azure_Airgapped-Go-to-Resource](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-Go-to-Resource.png)
6. Select **Stop** to stop the VM.
7. Navigate to **Network Settings**under**Networking.**

![Azure_Airgapped-StopandNetwork](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-StopandNetwork.png)
8. Select **Attach network Interface**.

![Azure_Airgapped-AttachNetworkInterface](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-AttachNetworkInterface.png)
9. Select **Create and attach Network**. A new form will open.
10. Enter your information into the form to add a new NIC as shown. It is good practice to include the word “data” in the name to distinguish between the two.

![Azure-Air Gapped Add Network Interface to swxtch VM](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure-Air%20Gapped%20Add%20Network%20Interface%20to%20swxtch%20VM.png)

**Note**: For Public inbound ports, it is up to the user to decide.
11. Select **Create**.
12. When it is done, the screen will automatically refresh with the new “data” interface listed as the top network interface. **There should now be a control and data interface** in the dropdown.

![Azure_Airgapped-DataNIC-2](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-DataNIC-2.png)
13. Click****the **Data** **Network Interface**.

![Azure_Airgapped-DataNIC-3](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-DataNIC-3.png)
  1. Select **Overview** in the side menu.

![Azure_Airgapped-DataNIC_Overview](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-DataNIC_Overview.png)
  2. Select **Edit accelerated Networking**. A new window will display.

![Azure_Airgapped-Edit-Accelerated-Networking](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-Edit-Accelerated-Networking.png)
  3. Select **Enabled**.
  4. Check the agreement.****
  5. Select **Save**.

![](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure-Air%20Gapped%20Add%20Network%20Interface%20to%20swxtch%20VM5.png)
14. The page will automatically refresh and navigate back to the Overview page. Validate that **Accelerated networking**is **Enabled**.

![Azure_Airgapped-Accelerated-Enabled](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/Azure_Airgapped-Accelerated-Enabled.png)
15. Start****the newly created cloudSwXtch VM.

### STEP FIVE: License the cloudSwXtch

1. Log****onto the newly created VM.
2. Run this command:

Text

```shell
swxtch-top
```
3. The swXtch-top dashboard will display.

![swxtch-top_SwXtchID](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/swxtch-top_SwXtchID.png)
4. Copy the “**SwxtchId**” and email it to **support@swxtch.io** requesting a license.
5. When you receive the license file, **upload** it to the cloudSwXtch VM.
6. Move the license.json file to the /swxtch directory using the following command, replacing user with the appropriate value:

Text

```shell
sudo mv /home/<user>/license.json /var/opt/swxtch
```
7. Enter in swx-top and check that the cloudSwXtch is activated

```shell
swx-top
```

![swxtch-top_Licensing](https://cdn.document360.io/84c5db44-f675-4f33-a980-5d3fc63073ca/Images/Documentation/swxtch-top_Licensing.png)

**The cloudSwXtch is ready for use**. IMPORTANT: Each client that is expected to get traffic from the cloudSwXtch will need an xNIC installed. See [Installing xNIC](/v2/docs/xnic-installation) for the next steps in preparing clients (producers and consumers of Multicast).

> [!WARNING]
> Prerequisite: Installing Dependencies for Air-Gapped Clients
> 
> Before installing the xNIC, users will need to install the necessary packages on their air-gapped clients. Failure to complete this prerequisite will result in an unsuccessful xNIC deployment. To learn more, see [How to Install xNIC Dependencies in an Air-Gapped Environment](/v2/docs/how-to-install-dependencies-in-an-air-gapped-environment).

A software-based network switch with a virtual NIC service known as xNIC. Together these components create an overlay network on top of the standard cloud network. This overlay network adds many valuable network features, one of which is a seamless IP multicast experience.
