Tenant External IP Quick Start Guide
Step-by-step guide to configuring external and public IP addresses for tenant VMs, covering single IP, IP block, and NAT-only scenarios.
Overview
This guide covers the most common scenarios for providing external/public IP addresses to VMs running inside VergeOS tenants. Whether you need a single VM accessible from the internet or an entire IP block for a customer, this guide walks through the configuration step by step.
Prerequisites
A VergeOS system with at least one tenant configured
Available public/external IP addresses on your root External network
Administrative access to both root and tenant environments
Scenario 1: Single External IP for One Tenant VM
Use case: You have one public IP and want a specific tenant VM to be accessible from the internet (e.g., for RDP, SSH, or web services).
Step 1: Assign the IP to the Tenant (Root Level)
Navigate to Networks > External (your root external network)
Click IP Addresses in the left menu
Click New to add a new IP address
Configure:
Type: Virtual IP
IP Address: Enter your public IP (e.g.,
203.0.113.50)Owner Type: Tenant
Owner: Select your tenant
Click Submit
Return to the External network dashboard and click Apply Rules
Step 2: Assign the IP to the Tenant Network (Tenant Level)
Log into the tenant UI
Navigate to Networks > External
Click IP Addresses - you should see the IP with description "External IP from service provider"
Select the IP and click Edit
Set:
Owner Type: Network
Owner: Select the internal network where your VM is connected
Click Submit
Click Apply Rules on the External network
Step 3: Create NAT Rules for the VM
On the tenant's internal network (where your VM is connected):
Navigate to Rules in the left menu
Create a DNAT rule (incoming traffic):
Name:
Inbound to VMAction: Translate
Direction: Incoming
Destination Type: My IP Addresses
Destination: Select the external IP
Target Type: IP/Custom
Target: Enter the VM's internal IP (e.g.,
10.0.0.50)
Create an SNAT rule (outgoing traffic):
Name:
Outbound from VMAction: Translate
Direction: Outgoing
Source Type: IP/Custom
Source: Enter the VM's internal IP
Target Type: My IP Addresses
Target: Select the external IP
Pin: Top
Click Apply Rules
Step 4: Allow Traffic Through Firewall
Still on the tenant's internal network rules:
Create an Accept rule for your service:
Name:
Allow RDP(or your service)Action: Accept
Protocol: TCP
Destination Port: 3389 (or your service port)
Destination Type: My IP Addresses
Destination: Select the external IP
Click Apply Rules
Your VM should now be accessible from the internet on the specified port.
Scenario 2: IP Block for Multiple Tenant VMs
Use case: You have a /29 or larger block of public IPs and want to assign them directly to VMs.
Step 1: Create a Network Block (Root Level)
Navigate to Networks > External
Click Network Blocks in the left menu
Click New
Configure:
Network Block: Enter your CIDR block (e.g.,
203.0.113.48/29)Owner Type: Tenant
Owner: Select your tenant
Click Submit
Click Apply Rules
Navigate to Tenant Networks, filter by "Needs FW Apply: Yes"
Select your tenant's network and click Apply Rules
Step 2: Create a Network from the Block (Tenant Level)
Log into the tenant UI
Navigate to Networks > External
Click Network Blocks - you should see your block
Select the block and click New Network
The network settings are pre-configured with:
Address Type: Static (with your block's addressing)
DHCP: Enabled with available IPs
Give the network a Name (e.g.,
Public-Network)Click Submit
Click Power On to start the network
Step 3: Connect VMs
Edit your VM and add a NIC connected to the new public network
The VM can either:
Use DHCP to receive an IP automatically
Be configured with a static IP from the block
Firewall Considerations
VMs on the public network are directly exposed. Configure firewall rules on the network or within the guest OS to restrict access.
Scenario 3: External Access Without Public IP on VM
Use case: You want internet users to reach a tenant VM, but the VM should keep its private IP.
This is the same as Scenario 1 but uses only the DNAT/SNAT rules. The VM keeps its internal IP while the NAT rules translate traffic.
Advantages:
VM doesn't need to know about the public IP
Simpler VM configuration
Can change public IPs without reconfiguring VMs
Troubleshooting
VM Not Accessible from Internet
Check rule application: Ensure "Apply Rules" was clicked on all affected networks
Verify IP ownership chain: Root External → Tenant External → Tenant Internal Network
Check NAT rules: Both DNAT (inbound) and SNAT (outbound) are required
Test internally first: Can you reach the VM from within the tenant?
Review firewall rules: Is traffic being blocked before reaching NAT?
VM Can't Reach Internet
Check SNAT rule: Ensure outbound translation is configured
Verify default route: The tenant's external network needs proper routing
Check DNS: Verify DNS is configured on the VM or DHCP is providing it
Ping Works But Services Don't
Check port-specific rules: Accept rules are needed for each service port
Verify service is running: Check the service is listening on the VM
Check guest firewall: Windows Firewall or iptables may be blocking
Quick Reference
Assign IP to tenant
Root External > IP Addresses
Set Owner Type: Tenant
Assign IP to network
Tenant External > IP Addresses
Set Owner Type: Network
Create DNAT rule
Tenant Internal > Rules
Action: Translate, Direction: Incoming
Create SNAT rule
Tenant Internal > Rules
Action: Translate, Direction: Outgoing
Allow traffic
Tenant Internal > Rules
Action: Accept, specify port
Last updated
Was this helpful?