Virtual Servers
Resumen
El virtual server (VS) es la IP y puerto que publican la aplicación (el VIP). Sin un VS, BIG-IP descarta el tráfico, porque bloquea todo por defecto. Esta nota crea un VS estándar HTTP y uno HTTPS, limita la VLAN donde escucha, crea un VS de forwarding para dejar pasar tráfico enrutado y muestra cómo comprobar que el tráfico llega.
Requisitos previos
- Pool con monitor (Pools y Load Balancing, Health Monitors)
- IP libre para el VIP en la red external
- Para HTTPS: perfil Client SSL con el certificado (Certificados y Client SSL)
- Decidir si hace falta SNAT (SNAT, NAT y X-Forwarded-For)
Conceptos clave
| Concepto | Qué es |
|---|---|
| Destination Address/Mask + Service Port | El VIP (172.16.101.20:80); la IP sola es la virtual address |
| Source Address | Clientes que pueden usar el VS (0.0.0.0/0 = todos) |
| Type | Standard (full proxy), Forwarding (Layer 2/IP), Performance (Layer 4/HTTP), Internal, Reject… |
| VLAN and Tunnel Traffic | Dónde escucha; por defecto todas las VLANs |
| Source Address Translation | None, Auto Map o SNAT pool |
| Resources | Default Pool, persistencia, iRules, Policies |
| Orden de coincidencia | El más específico: Destino → Origen → Puerto |
Configuración (Ejemplo, Lab CBT Nuggets)
1. VS HTTP estándar
Local Traffic > Virtual Servers > Virtual Server List > Create:
- Name:
VS-172.16.101.20-HTTP-APP1, Type: Standard. - Source Address:
0.0.0.0/0, Destination Address/Mask:172.16.101.20, Service Port:80(HTTP). - Configuration: Advanced > Protocol Profile (Client):
tcp, HTTP Profile (Client):http. - VLAN and Tunnel Traffic: Enabled on… >
external. - Source Address Translation: Auto Map (si los servidores no usan BIG-IP como gateway).
- Resources > Default Pool:
HTTP_APP1_Pool> Finished.
tmsh create ltm virtual VS-172.16.101.20-HTTP-APP1 destination 172.16.101.20:80 ip-protocol tcp profiles add { tcp http } pool HTTP_APP1_Pool source-address-translation { type automap } vlans-enabled vlans add { external }
2. VS HTTPS con SSL offloading
Igual que el anterior en el puerto 443 y con SSL Profile (Client): cssl_www.
tmsh create ltm virtual VS-172.16.101.20-HTTPS-APP1 destination 172.16.101.20:443 ip-protocol tcp profiles add { tcp http cssl_www { context clientside } } pool HTTP_APP1_Pool source-address-translation { type automap } vlans-enabled vlans add { external }
Para redirigir el puerto 80 a HTTPS, en el VS del 80 quita el pool y agrega la iRule _sys_https_redirect:
tmsh modify ltm virtual VS-172.16.101.20-HTTP-APP1 pool none rules { _sys_https_redirect }
3. VS de forwarding (dejar pasar tráfico enrutado)
Caso: BIG-IP queda entre los usuarios y el router de Internet, o los servidores lo usan como gateway para salir. Sin un forwarding VS ese tráfico se descarta.
Create > Name: Internet_Wildcard_VS > Type: Forwarding (IP) > Destination 0.0.0.0/0, Service Port * (0) > Protocol: All Protocols > VLAN: internal > Finished.
tmsh create ltm virtual Internet_Wildcard_VS destination 0.0.0.0:any mask any ip-forward ip-protocol any profiles add { fastL4 } vlans-enabled vlans add { internal } translate-address disabled translate-port disabled
Usa Forwarding (Layer 2) solo cuando la misma subred existe a ambos lados (VLAN group).
4. Virtual address
Local Traffic > Virtual Servers > Virtual Address List: ARP, ICMP Echo, Traffic Group, Route Advertisement de cada VIP.
tmsh show ltm virtual-address
tmsh create ltm virtual-address myVirtualAddr address 10.10.10.20 enabled yes
5. Ver qué está publicado
tmsh list ltm virtual destination
tmsh list ltm virtual VS-172.16.101.20-HTTP-APP1 all-properties
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
| Network Map | VS 🟢 con su pool y miembros | Revisa pool y monitor |
curl -v http://172.16.101.20/ (cliente) | Respuesta de un servidor | Ver Errores comunes |
tmsh show ltm virtual VS-172.16.101.20-HTTP-APP1 | Contadores de conexiones subiendo | El tráfico no llega al BIG-IP |
tmsh show sys connection cs-server-addr 172.16.101.20 | Conexiones cliente → VS → miembro (y la IP SNAT) | Revisa ruta/ARP hacia el VIP |
tmsh show /net rst-cause | Contadores de RST en 0 o explicables | Revisa límites, pool y iRules |
Errores comunes
Ping al VIP funciona pero la web no
- Causa: el ICMP lo responde la virtual address; el servicio falla (pool caído, puerto, SSL) o la respuesta del servidor no vuelve por el BIG-IP.
- Revisa: estado del pool,
tmsh show sys connection, tcpdump en internal. - Solución: activa SNAT Auto Map o usa la floating self IP como gateway de los servidores.
El VS no recibe tráfico
- Causa: VIP en otra red, VS deshabilitado, VLAN equivocada en “Enabled on”, o límite de conexiones.
- Revisa:
tail /var/log/ltm(“connection limit”),tmsh show /net rst-cause. - Solución: corrige VIP/VLAN; sube o quita el límite.
Un cliente cae en otro VS
- Causa: otro VS más específico coincide (Destino → Origen → Puerto).
- Solución: revisa
tmsh list ltm virtual destinationy la tabla de coincidencias.
Después de instalar el BIG-IP, los usuarios se quedaron sin Internet
- Causa: BIG-IP bloquea todo por defecto.
- Solución: crea el forwarding VS (paso 3).