Skip to content

Virtual Server

The VirtualServer model represents the front-end listener for client connections in a load balancing configuration. It defines the VIP (Virtual IP), port, protocol, and associations to backend pool and optional service components such as health monitors or SSL certificates.

This model is central to load balancer logic, acting as the entry point for traffic distribution to Load Balancer Pools and ultimately to Pool Members.

Relationships

  • Must be assigned a vip IP Address from Nautobot IPAM.
  • May be linked to a LoadBalancerPool, which contains Pool Members.
  • May reference a HealthCheckMonitor for informational or vendor-specific use, but it does not affect Pool Member health logic.
  • May reference one or more CertificateProfiles for SSL offload.
  • May be associated with a Device, DeviceRedundancyGroup, CloudService, or VirtualChassis to represent the hosting infrastructure.
  • May be assigned to a Tenant.

Notes

  • Only one of device, device_redundancy_group, cloud_service, or virtual_chassis should be populated. Defining more than one can result in ambiguous associations and is not recommended.
  • The vip field must be an existing IPAddress from the IPAM app.
  • If ssl_offload is enabled, certificate_profiles should be defined.
  • If referencing a health check monitor, it must be created first. Note that only pool-level and member-level monitors influence backend availability decisions.
  • A virtual server can be created without a pool or certificates (e.g., under construction or partially defined).

Fields

Field Type Required Description
name string Yes Unique identifier for the virtual server.
vip ForeignKey to IPAddress Yes IP Address where the virtual server listens. Must come from IPAM.
port integer No Optional listening port.
protocol choice No Optional protocol used (e.g., TCP, UDP, HTTP).
source_nat_pool ForeignKey to Prefix No Optional NAT pool source prefix. Must be a valid Prefix from IPAM.
source_nat_type choice No NAT type (valid choices: Auto, Pool, Static).
load_balancer_type choice Yes Indicates if this is a Layer 2, Layer 4, Layer 7, or DNS virtual server.
enabled boolean Yes Whether the virtual server is active.
ssl_offload boolean No Indicates SSL termination at this layer.
device, device_redundancy_group, cloud_service, virtual_chassis ForeignKey No Optional assignment to infrastructure. Only one should be set.
tenant ForeignKey to Tenant No Optional tenant assignment.
health_check_monitor ForeignKey to HealthCheckMonitor No Informational or vendor-aligned health monitor reference. Must exist if used.
certificate_profiles Many-to-Many to CertificateProfile No SSL/TLS certificate references. Should be set if SSL offload is enabled.
load_balancer_pool ForeignKey to LoadBalancerPool No Pool that receives traffic from this virtual server. Must exist.