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
, orVirtualChassis
to represent the hosting infrastructure. - May be assigned to a
Tenant
.
Notes¶
- Only one of
device
,device_redundancy_group
,cloud_service
, orvirtual_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. |