Software XoT Installation Guide (Legacy)
Version Note: This guide is for OVA versions before XoT-Appliance-v3.7.2-2. For newer versions, see XoT.md.
1. Overview
This guide provides instructions for deploying the XoT Appliance. This version includes automated setup scripts that simplify the configuration process compared to older releases.
The Software XoT can function as either an XoT-Lock, protecting specific assets, or an XoT-Bridge, facilitating connections between XoT-Clients and XoT-Locks.
2. Prerequisites
2.1 System Requirements
The Software XoT VM is configured with the following specifications:
- 2x vCPU
- 2GB RAM
- 16 GB storage
- OS: Ubuntu 22.04 LTS (pre-installed)
- 2x Ethernet interfaces
2.2 Hypervisor Support
The Software XoT is distributed as an OVF with VMDK disk image, which is natively supported by several virtualization platforms including VMware ESXi/vSphere, VMware Workstation/Fusion, VirtualBox, and others.
For platforms that don't support OVF directly, the VMDK can be converted to other formats (QCOW2, VHD, etc.) using standard tools.
Note: Contact Xertified Support if you need assistance with deployment on your platform.
2.3 Network Requirements
-
Network interface #1 (eth-ext) supports static or DHCP-based IP assignment. It needs reachability to:
-
XMS over TCP/443
- XoT-Bridge (if used) over UDP/25008 and UDP/17396 (configurable in XMS)
-
Discovery Service over TCP/443
- https://discovery.prod.xertified.net
- Optional: Discovery service local to XMS if DNS spoofing is performed
-
Network interface #2 (eth-dev) is configured by the xotd service based on XMS configuration, it is not needed for XoT-Bridges:
-
For XoT-Lock: Both interfaces are actively used; eth-dev will be automatically configured by XMS
- For XoT-Bridge: Only eth-ext is operationally required
3. Downloading the VM Image
- Log in to your Xertified account at https://support.xertified.com
- Select the appropriate software version
- Download the XoT Lock/Bridge package
The appliance is available as an OVA file (for VMware and VirtualBox) or QCOW2 (for QEMU/KVM). Some downloads may be provided as a password-protected ZIP file; if so, the ZIP password is noted on the download page.
Default VM login credentials are provided on the download page.
If you do not have access to the support portal, please contact support@xertified.com.
4. Deploying the VM
Import the OVA using your hypervisor's standard OVF/OVA deployment procedure. For QEMU/KVM, use the QCOW2 image directly. During deployment:
- Ensure at least 16 GB of storage is allocated
- Map two network adapters:
- Network adapter 1: Connect to the network that provides external connectivity (will become eth-ext)
- Network adapter 2: Connect to the device-side network or a dummy network (will become eth-dev)
After deployment completes, power on the VM.
5. Initial Access
After the VM boots, you can access it via the console or SSH.
The default credentials are provided on the download page at https://support.xertified.net.
To connect via SSH:
ssh xot@<ip-address>
Security Note: Change the default password immediately upon first login. After adding your SSH keys, delete the temporary password authentication override file:
sudo rm /etc/ssh/sshd_config.d/99-ova-default-password.conf sudo systemctl restart ssh
6. Network Configuration with xot-setup
The VM includes the xot-setup script that automates network interface configuration. This script replaces the manual netplan configuration process used in older versions.
6.1 Run xot-setup
sudo xot-setup
The script will guide you through the configuration process:
- List available interfaces: Shows all network interfaces with their MAC addresses
- Select external interface: Choose which interface should be eth-ext (external side)
- Choose deployment mode:
- Standard XoT-Lock mode: Requires selecting a second interface for eth-dev
- XoT-Bridge mode: Only eth-ext is configured; eth-dev is omitted
The script will:
- Validate your selections
- Create the netplan configuration at
/etc/netplan/02-xot-interfaces.yaml - Apply the configuration immediately (no reboot required)
- Disable cloud-init network management to persist settings
- Start the xotd service
- Wait for xotd to initialize successfully before enabling it for boot
Safety Feature: If xotd fails to start (e.g., due to network misconfiguration), the service will not be enabled for automatic startup, preventing boot loops.
6.2 Verify Network Configuration
After the script completes, verify the interfaces:
ip addr show eth-ext
ip addr show eth-dev # Only if configured in standard mode
You should see eth-ext with an IP address from DHCP and eth-dev (if configured) with the expected configuration.
6.3 Reconfiguring Network Interfaces
If you need to change the network configuration later, simply run xot-setup again. The script will detect the existing configuration and allow you to reconfigure.
6.4 Manual Interface Configuration
If you cannot use xot-setup or netplan, you can configure the interfaces manually using any method available on your system. The only requirement is that:
- An interface named
eth-extmust exist (external side interface) - For XoT-Lock deployments, an interface named
eth-devmust also exist (device/protected interface)
7. Configuring Package Updates
The VM includes the xertified_apr_setup script to configure access to Xertified's APR (Apt Package Repository) for receiving software updates.
Note: Depending on your OVA version, this script may be named
xertified_apr_setuporxot-repo-setup.
7.1 Run xertified_apr_setup
sudo xertified_apr_setup
When prompted, enter your Xertified APR Account Key. The script will:
- Authenticate with the Xertified APR API
- Download and install the necessary certificates
- Configure APT sources for the Xertified repository
- Install the repository GPG key
7.2 Install Updates
After configuring APR access, you can install updates:
sudo apt update
sudo apt upgrade
8. Discovery Service Registration
Before an XoT can be enrolled, its eth-ext MAC address must either be registered in the public Discovery Service, or DNS must point the XoT directly to the your XMS installation. This allow the XoT to locate its XMS server.
8.1 Public Discovery Service
For regular deployments using the public Discovery Service at discovery.prod.xertified.net:
- Note the MAC address of your eth-ext interface (shown during
xot-setupor viaip link show) - Send the MAC address to support@xertified.com along with your XMS server address (via which the XoT can reach the XMS)
- Wait for confirmation that the MAC address has been registered
8.2 Local Discovery (Air-Gapped Environments)
For air-gapped deployments or environments that cannot reach the public Discovery Service, you can use local discovery by overriding DNS:
- Configure your local DNS to resolve
discovery.prod.xertified.netto your XMS server's IP address - The XMS includes a built-in discovery service that will respond to XoT discovery requests
- No MAC address registration with Xertified is required in this configuration
8.3 Restart xotd After Discovery is Configured
Once discovery is configured (either MAC registered or DNS override in place), restart xotd to initiate the discovery process:
sudo systemctl restart xotd
9. XMS Enrollment
After xotd restarts, it will contact the Discovery Service and obtain an enrollment URL.
9.1 Get the Enrollment URL
Use the xotd-enrollment-url helper script:
xotd-enrollment-url
Note: Depending on your OVA version, this script may be named
xotd-enrollment-urlorxot-enrollment-url.
This will extract and display the enrollment URL from the xotd logs.
Note: If you receive an error that no enrollment URL is found, the XoT may already be enrolled or xotd may still be initializing. Wait a minute and try again.
9.2 Complete Enrollment
- Copy the enrollment URL from the output
- Paste the link into a web browser
- Log in to the XMS interface
- Complete the enrollment process
For detailed enrollment instructions, see the Enrolling XoTs guide.
9.3 Next Steps
After enrollment, configure the XoT from the XMS:
- To configure as an XoT-Lock: Add assets (devices or subnets) to the XoT. See XoT Management and Asset Management.
- To configure as an XoT-Bridge: Enable Bridge Mode and configure bridge groups. See XoT-Bridge Configuration.
10. Additional Administrative Tools
10.1 Factory Reset
If you need to reset the XoT to factory defaults (clearing all enrollment data), use the xotd-factory-reset script:
sudo xotd-factory-reset
Note: Depending on your OVA version, this script may be named
xotd-factory-resetorxot-factory-reset.
The script will:
- Prompt for confirmation (requires typing "RESET" in capitals)
- Stop the xotd service
- Clear all enrollment data and configuration
- Clear temporary files
- Restart xotd in a clean state
Warning: This permanently deletes all enrollment data and configuration. The XoT will need to be re-enrolled with XMS after a factory reset.
10.2 Service Management
Check xotd service status:
sudo systemctl status xotd
View xotd logs:
sudo journalctl -u xotd -f
Or view the xotd log files directly:
tail -f /xotd/tmp/*-log.txt
11. Troubleshooting
11.1 Network Connectivity Issues
If the XoT cannot reach the Discovery Service:
- Verify eth-ext has a valid IP address:
ip addr show eth-ext - Test DNS resolution:
nslookup discovery.prod.xertified.net - Test connectivity:
curl -v https://discovery.prod.xertified.net - Check firewall rules (outbound TCP/443 must be allowed)
11.2 xotd Service Fails to Start
If xotd fails to start after running xot-setup:
- Check service status:
sudo systemctl status xotd - View detailed logs:
sudo journalctl -u xotd -n 50 - Verify network configuration:
ip addrandip route - Run
xot-setupagain to reconfigure if needed
11.3 Enrollment URL Not Appearing
If xotd-enrollment-url reports no URL found:
- Verify xotd is running:
sudo systemctl status xotd - Check that eth-ext has network connectivity
- Wait a few minutes for xotd to initialize and contact the Discovery Service
- Verify the MAC address of eth-ext is registered in the discovery service
- Contact Xertified Support to verify your deployment is registered
11.4 Cannot SSH to the VM
If you cannot connect via SSH:
- Verify network connectivity from the hypervisor console
- Ensure the SSH service is running:
sudo systemctl status ssh - Check firewall rules if applicable
- Verify you're using the correct credentials (see https://support.xertified.net)
12. Security Setup
- Change default password immediately upon first login
- Add SSH keys for secure access
- Delete the password authentication override after adding SSH keys:
sudo rm /etc/ssh/sshd_config.d/99-ova-default-password.conf sudo systemctl restart ssh - Keep software updated using
apt update && apt upgrade - Enable automatic security updates if desired (optional)
- Review firewall rules to ensure only necessary ports are accessible
13. Summary of Helper Scripts
The VM includes the following helper scripts for easy administration:
| Script | Purpose | Usage |
|---|---|---|
xot-setup |
Configure network interfaces (eth-ext/eth-dev) | sudo xot-setup |
xertified_apr_setup |
Configure APR repository access for updates | sudo xertified_apr_setup |
xotd-enrollment-url |
Display enrollment URL from logs | xotd-enrollment-url |
xotd-factory-reset |
Reset to factory defaults | sudo xotd-factory-reset |
14. Support
For additional assistance, please contact:
- Xertified Support Portal: https://support.xertified.com
- Email: support@xertified.com