Netskope LogoNetskope Logo
  • Security Services
  • AI Services
  • Networking Services
  • Analytics Services
  • Integrations
  • getting-started.svgGetting Started
    • Support
    • Community
    • Netskope.com
    © 2026 All Rights Reserved. Netskope Inc.
    Home
    Data Loss Prevention
    Data Loss Prevention On Demand
    DLP On Demand Appliance
    Appliance Setup

    Appliance Setup

    Appliance Best Practices and Prerequisites

    Appliance Sizing

    The following table lists the recommended instance types for cloud deployments and the corresponding size configurations for on-premises environments of the DLP On Demand appliance:

    AWS*GCPAzureVM#Concurrent Requests^Minimum Disk Size
    Smallc5ad.4xlargen2-standard-16Standard-F16s_v216 cores/32GB480 rps with burst of 576 rps. Max throughput limit: 786 MB per min351GB
    Mediumc5ad.8xlargen2-standard-32Standard-F32s_v232 cores/64GB1280 rps with burst of 1536 rps. Max throughput limit: 2048 MB per min351GB
    Largec5ad.16xlargen2-standard-64Standard-F64fs_v264 cores/128GB 2880 rps with burst of 3456 rps. Max throughput limit: 4608 MB per min351GB

    * In AWS regions where the c5ad sizing is unavailable, use the c5a instance size.

    ^ File and Content structure, DLP Profile complexity and features like OCR and EDM, are likely to impact the performance numbers.

    # ESX does not support dynamic resizing of the VM after the appliance has been created. This was tested on: VMware ESXi, 8.0.2, 23305546 (VMware ESXi 8.0 Update 2b | 29 FEB 2024 | Build 23305546)

    The Small size is intended only for proof-of-concept testing. For production deployments, Netskope recommends using Medium or Large configurations. To ensure optimal performance, use SSDs for all instances.

    Networking Considerations

    • Allowlisting:
      Ensure that Netskope IPs and Amazon S3 (for example, *.s3-us-west-1.amazonaws.com) should be allowlisted. If tenant.goskope.com is the tenant Web UI hostname, then also allow the IPs corresponding to config-tenant.goskope.com and callhome-tenant.goskope.com.
      The following domains must also be allowlisted:
      {"dlpappliancegw.sv5.goskope.com","dlpappliancegw.bom3.goskope.com","dlpappliancegw.am2.goskope.com","dlpappliancegw.sjc1.goskope.com","dlpappliancegw.fr4.goskope.com","dlpappliancegw.ruh1.goskope.com","dlpappliancegw.mel2.goskope.com","dlpappliancegw.sjc2.goskope.com","dlpappliancegw.zur2.goskope.com","dlpappliancegw.lon3.goskope.com","dlpappliancegw.sin2.goskope.com","dlpappliancegw.dfw3.goskope.com","dlpappliancegw.fra2.goskope.com"}
    • Microsoft AIP:
      If you are using the DRM feature with DLP, the Microsoft AIP endpoints must also be allowlisted.
    • Administrative Access:
      If SSH access is permitted (for cases where console access is not sufficient), ensure that systems used to administer the appliance can reach it over SSH.
    • API Connectivity:
      The appliance must be reachable over HTTPS (TCP 443) by all integrating services that send API calls to it.
    • We do not recommend SSL interception of traffic from DLP On Demand appliance. If a proxy is in place, ensure that respective certificates are imported.
      Netskope recommends blocking all other inbound and outbound communication for security.
    • Deploying multiple DLP On Demand behind a network load balancer is currently not feasible with common implementation scenarios that use asynchronous requests for scanning or result retrieval.
    • See the Appliance Troubleshooting page for any other issues.
    • To get a DLPoD Appliance running smoothly in an on-premises environment, you will need to configure an upstrean proxy for WebSockets. Standard web traffic (HTTP) is like a series of one-off letters: send a request, get a reply, and the connection closes. WebSockets, however, create a persistent, two-way “open phone line” between your appliance and the cloud service.

    Appliance Creation

    See the sections below for detailed appliance creation steps for different cloud provide and on-premises environments. During setup, the appliance automatically receives its IP address, netmask, and gateway through DHCP. Once the instance is created, connect to it and complete the tethering process to the Netskope Management Plane.

    The UI from R134 will provide links to download KVM, Azure, HyperV, ESXi images. You can also assign AWS images from the UI by providing your account ID.
    To download or assign an image, navigate to Security Cloud Platform > On-Premises Infrastructure and select Setup DLP On Demand and select your respective hypervisor.


    AWS DLP On Demand Appliance Creation

    1. Launch an EC2 instance using the DLP On Demand AMI. The image can be found in Private Images.

    2. Set the Instance Type to c5ad.8xlarge or c5ad.16xlarge.

    3. Define your desired Storage and use gp3.

    4. No SSH key-pair is required at the moment, setup the networking and firewall security groups as appropriate and other configurations can remain at the default setting. We recommend that the appliance is not accessible publicly.

    5. Select proceed with no key-pair and launch the instance.

    GCP DLP On Demand Appliance Creation

    1. Go to Compute Engine – VM Instances and then click Create Instance

    2. In Machine Configuration, provide a name for the instance and in General Purpose, select N2.

    3. In the Machine Type, select n2-standard-32 or n2-standard-64

    4. In OS and Storage, select Change under Operating System and Storage and filter the Image. Select the appropriate DLP On Demand appliance image. For Size (GB), enter 300 GB.

    5. Setup the networking and firewall security groups as appropriate and other configurations can remain at the default setting, then click Create.

    Azure DLP On Demand Appliance Creation

    During appliance deployment, the Azure portal may display an “OS Provisioning Timed Out” notification. This notification is expected and can be
    safely ignored.
    The appliance boot sequence includes extended initialization tasks such as security hardening, service orchestration, and platform configuration
    that run prior to the Azure Guest Agent reporting readiness. The appliance is designed to complete its full initialization independently of the
    Azure provisioning signal.
    You can confirm appliance readiness by verifying that the instance state is shown as “Running” in the Azure portal.
    1. Download the VHD from the presigned URL

    2. Untar the VHD using the below command

      tar -xvf {downloaded_vhd_tar_file} -C {path to untar the artifacts}
    3. Create a Storage Account under Resource Group.

    4. Create a Container under the Storage Account.

    5. On the Storage Account page, open the side-menu Security + Networking and click on Shared access signature.

    6. Enable all permissions, set the Start Time as 24h before the current time and End Time as 24h after current time (1 day offset for Start Time and End Time)

    7. Click on Generate SAS and connection string and copy the SAS token value.

    8. If you don’t have azcopy, install it.

      Warning
      To upload the file to Azure Blob Storage, use AzCopy. Uploading large files via the Azure Portal is unreliable and may result in file corruption
    9. Run the command below to upload the .vhd artifact to the Azure Blob Storage:

      azcopy copy "{local_path}.vhd" "https://{account_name}.blob.core.windows.net/{container_name}/{vhd_name}.vhd?{SAS_TOKEN}" --blob-type PageBlob
    10. Once the VHD is uploaded,navigate to the Images in Azure:

    11. Choose your subscription to create the image.

      OS Type: Linux

      Choose your VHD from the storage blob

      Account Type: Premium SSD

      Encryption: Platform managed

    12. Click on Review + create to create the image.

    13. Create the instance out of the image.

    14. Choose the respective subscription and resource group. Provide the VM name. The Image will be auto populated and choose the other parameters.

    15. Select a minimum of 351 GB disk Premium SSD.

    16. Choose your Networking settings and create the VM.

    As stated previously, the VM may show deployment failures, but this is expected behavior.

    vSphere (ESXi) DLP On Demand Appliance Creation

    Download the .ova image from the Setup DLP on Demand window from your tenant to your local system before uploading it to vSphere. vSphere does not support direct URL imports when the URL exceeds its maximum supported length, which applies to the Netskope download link.
    There are strict sizing requirements for an ESXi deployment or the instance will not start. Use one of the following sizes:
    16 CPU with 32 GB Memory
    32 CPU with 64 GB Memory
    64 CPU with 128 GB Memory

    If you are using vCenter Server, the process is similar and generally done via the vSphere Client:

    1. Start Deployment:
      • Right-click a host, cluster, or datacenter in the inventory and select Deploy OVF Template.
    2. Select Template:
      • Select Local file and then Upload files to choose your local .ova file.
      • Click Next.
    3. Select Name and Folder:
      • Enter a Virtual machine name and select the deployment location (a folder in the vCenter inventory).
      • Click Next.
    4. Select Compute Resource:
      • Select the host, cluster, or resource pool where the VM will run.
      • Click Next.
    5. Review Details:
      • Review the template details and accept any license agreements.
      • Click Next.
    6. Select Storage:
      • Select the datastore and the virtual disk format (e.g., Thin Provision).
      • Click Next.
    7. Select Networks:
      • Map the source networks in the OVA to the destination network ports in your vSphere environment.
      • Click Next.
    8. Customize Template (if applicable):
      • If the OVA allows for customization, you’ll see a Customize Template screen where you can set initial configuration (e.g., network settings, passwords).
      • Click Next.
    9. Ready to Complete:
      • Review the final summary. Check the box to Power on after deployment if desired.
      • Click Finish.

    Hyper-V DLP On Demand Appliance Creation

    1. Download the appliance image from the Setup DLP on Demand window from your tenant

    2. Search for and open Hyper-V Manager from the Start menu.

    3. Access the Import Wizard:

      • In the left pane, click the name of your Hyper-V host (your computer).
      • In the Actions pane (on the right), click Import Virtual Machine.
    4. Locate the VM Folder:

      Click Next on the “Before You Begin” screen.

      In the Locate Folder step, click Browse and navigate to the folder that contains the exported VM files (the VM’s configuration file, usually in a subfolder called Virtual Machines). You must select the top-level folder of the exported VM, not a subfolder.

      Click Select Folder, then Next.

    5. Select the Virtual Machine:

      The wizard should now display the virtual machine found in that folder. Select the correct VM from the list and click Next.

    6. Choose Import Type: Select one of the following import options:

      Register the virtual machine in-place (use the existing unique ID): Use this if the VM files are already in the location where you want them to run and you are not importing a copy.

    7. Review and Finish:

      Review the summary of your choices and click Finish to start the import process.

      Once complete, the VM will appear in the list of virtual machines in the Hyper-V Manager console.

    8. Edit the Network Adapter Setting before starting the instance.

    9. Right-click the VM name and select Settings….

    10. In the left pane, under the Hardware section, click on Network Adapter (or the specific name if you renamed it). Select the network switch which is used to connect in the respective environment.

    11. Start the VM: There are a few options to start it:

      • Action Pane: Select the VM, and in the Actions pane (on the right), click Start.
      • Right-Click Menu: Right-click the VM name and select Start.

    KVM DLP On Demand Appliance Creation

    1. Download the Appliance Image

      Download the appliance image from the Setup DLP on Demand window from your tenant.

    2. Create Template Directory and Extract Initial Tarball

      Create a directory to hold the VM disk image and extract the initial tarball. The tar includes checksum files also so next step will untar the main artifacts

      mkdir dlp-vm-template
      tar -xvf dlp-appliance.tar
      ls # List files to confirm the nested tar.gz file is present

    3. Extract the QCOW2 Disk Image

      The .qcow2 file is the actual virtual disk image. Extract it into the template directory. Note: The file name in your command (netskope-dlp-on-demand-kvm-qcow2-133.0.7.qcow2.tar.gz) suggests a nested .tar.gz archive, so the extraction command is:

      tar -xzvf netskope-dlp-on-demand-kvm-qcow2-133.0.7.qcow2.tar.gz -C /home/ubuntu/dlp-vm-template/

    4. Deploy the Appliance using virt-install

      This command creates the VM definition (dlp-appliance-test) and imports the prepared disk image.

      • --import: Tells virt-install to use the existing disk image instead of performing a fresh installation.
      • --disk: Specifies the path to the .qcow2 image and its size.
      • --network default: Connects the VM to the default libvirt NAT network.

      sudo virt-install --name dlp-appliance-test --ram 65536 --vcpus 32 --os-variant ubuntu24.04 --disk path=/home/ubuntu/dlp-vm-template/netskope-dlp-on-demand-kvm-qcow2-133.0.7.qcow2,size=452 --import --network default --check path_in_use=off

      IMPORTANT: When virt-install runs, it often connects the console. Give CTRL+C to exit the console view. The installation/first boot process will continue in the background. Wait a few moments for the appliance to fully boot.

    5. Verify the VM Status

      Check the status of the deployed VM. It should show as running.

      sudo virsh list --all

    6. Check the Default Network Status

      Confirm the default network (typically a NAT bridge on virbr0) is active.

      sudo virsh net-list

    7. Find the Appliance’s IP Address

      Since the appliance is on the default virtual network, use virsh to query the DHCP leases to find the IP address assigned to the new VM.

      sudo virsh net-dhcp-leases default

    8. Connect to the Appliance via SSH

      Use the IP address retrieved in the previous step to connect to your running KVM appliance.

      sudo ssh {username}@{IP}

    Connecting to a DLP On Demand instance:

    Once the instance has been created, it must be connected to Netskope to download the required configuration and profiles before it can begin processing DLP requests. To proceed:

    1. SSH into the instance as nsadmin with password nsappliance. This password should be changed upon login.

      ssh nsadmin@<instance_ip>
      nsadmin@<instance_ip>'s password: nsappliance

      Change the password by running auth change-password

      nsappliance> auth change-password
    2. Automatic Configuration by DHCP is the default. In configurations where DNS is not provided via DHCP, follow these commands:

      nsappliance> configure
      nsappliance(config)> set dns primary x.x.x.x
      nsappliance(config)> set dns secondary x.x.x.x
      nsappliance(config)> save
      nsappliance(config)> exit

      If you intend to configure your network interface manually, follow these commands:

      nsappliance> configure
      nsappliance(config)> set interface v4 dhcp enable false
      nsappliance(config)> set interface v4 static enable true
      nsappliance(config)> set interface v4 static ip x.x.x.x
      nsappliance(config)> set interface v4 static gw x.x.x.x
      nsappliance(config)> set interface v4 static netmask x.x.x.x
      nsappliance(config)> set dns primary x.x.x.x
      nsappliance(config)> set dns secondary x.x.x.x
      nsappliance(config)> save
      nsappliance(config)> exit

      To revert back to automatic DHCP configuration (in configurations where DNS is not provided via DHCP, you can also set the DNS), use the following commands:

      nsappliance> configure
      nsappliance(config)> set interface v4 dhcp enable true
      nsappliance(config)> set dns primary x.x.x.x
      nsappliance(config)> set dns secondary x.x.x.x
      nsappliance(config)> save
      nsappliance(config)> exit
      Please make sure that DNS resolution works on the appliance. Guidance to add a DNS server is provided in this step.
    3. If you have not created a REST API v1 token, you will need to. If you have already created one, skip to step 4. Otherwise, navigate to Settings > Tools > Rest API v1 and click GENERATE NEW TOKEN.

    4. Navigate to Settings > Security Cloud Platform > On-Premises Infrastructure in the Netskope admin console and copy the License Key.

      Use the License Key with the following command in configuration mode:

      nsappliance> configure
      nsappliance(config)# set system licensekey <license-key>
      nsappliance(config)# save
      nsappliance(config)# exit
    5. You can check the tethering status with status tethering. callhome_reachable needs to be true and tenant-url and serial should be populated.

      nsappliance> status tethering
      After tethering, the appliance will need approx. 30 mins to initialize before becoming ready.

      You will also see this information reflected on the On-Premises Infrastructure page:

      Clicking on these appliances will reveal more information about the appliance such as the Hypervisor, OS, etc.

    Configuring a custom proxy

    You can configure a custom implicit or explicit proxy to sit between the appliance and management plane.

    To do so, enter the configure mode and set the management-plane upstream-proxy-server parameters:

    root@nsappliance:/home/nsadmin# nsshell
    nsappliance> configure
    Entering configuration mode

    nsappliance(config)# set management-plane upstream-proxy-server
    hostname Fully qualified domain name (or IP) for proxy server
    password Password to the proxy server.
    port port for proxy server
    trusted-ca Import CA for upstream proxy server into trusted CA store.
    username Username to the proxy server.

    Explicit Example:

    nsappliance(config)# set management-plane upstream-proxy-server hostname 10.10.10.10
    nsappliance(config)# set management-plane upstream-proxy-server port 8000
    nsappliance(config)# set management-plane upstream-proxy-server username <USERNAME>
    nsappliance(config)# set management-plane upstream-proxy-server password <PASSWORD>

    nsappliance(config)# set management-plane upstream-proxy-server trusted-ca
    Copy and paste just your single PEM-formatted server CA certificate (no keys).
    Enter one or more lines of input. When done, press Ctrl-D
    <PASTE PEM Formatted CA CHAIN>
    <Press Ctrl-D>

    nsappliance(config)# save
    nsappliance(config)# exit
    nsappliance> restart dlpaas all

    Implicit Example:

    nsappliance> configure
    Entering configuration mode
    
    nsappliance(config)# set management-plane upstream-proxy-server trusted-ca
    Copy and paste just your single PEM-formatted server CA certificate (no keys).
    Enter one or more lines of input. When done, press Ctrl-D
    
    nsappliance(config)# save
    
    nsappliance> restart dlpaas all
    In this Topic
    • Appliance Setup