0 ·Plantillas
Casos clásicos listos para cargar en el builder y ajustar. Ojo: cargar una plantilla reemplaza lo que tengas.
1 ·iRule
Cada regla se evalúa en orden dentro de su evento (cadena if / elseif). Una regla sin condiciones se convierte en el bloque else (default) de su evento.
ℹ ·Chuleta rápida
CLIENT_ACCEPTED (TCP) → CLIENTSSL_HANDSHAKE (TLS) → HTTP_REQUEST → LB → SERVER_CONNECTED → HTTP_RESPONSE.Para instalarlo: GUI Local Traffic ▸ iRules ▸ Create (pega el TCL) y asócialo al Virtual Server en Resources ▸ iRules, o usa los comandos tmsh del panel de la derecha.
Regla de oro: prueba primero en un VS de preproducción — un error de TCL en runtime resetea la conexión y se loguea en
/var/log/ltm.
2 ·TCL generado en vivo
Se regenera con cada cambio. Cópialo y pégalo en la GUI o en tmsh edit ltm rule.
⚙ Data groups y comandos tmsh auxiliares
📖 Qué genera cada operador
Texto — eq / ne / contains / starts_with / ends_with son operadores nativos de iRules.
Con «ignorar mayúsc.» se envuelve en [string tolower …] y el valor se pasa a minúsculas.
Glob — [string match {patrón} …] con * y ?; con «ignorar mayúsc.» añade -nocase.
Regex — matches_regexp {patrón}. Es lo más caro en CPU del TMM: si te vale
starts_with / glob / data group, úsalo antes.
Data group — [class match <valor> equals|contains <dg>]. Mantienes la lista en el
data group sin tocar el iRule: ideal para IPs, hosts, User-Agents, métodos…
IP / CIDR — [IP::addr [IP::client_addr] equals 10.0.0.0/8] hace el match de subred real (no de texto).