ADC

Vincular directivas mediante directivas avanzadas

Después de definir una política, se puede invocar la política vinculando la política a un punto de enlace y especificando un nivel de prioridad. Puede vincular la política a un solo punto de enlace. Un punto de enlace puede ser global (se aplica a todos los servidores virtuales configurados) o el punto de enlace puede ser un servidor virtual específico (ya sea un equilibrado de carga o un servidor virtual de conmutación de contenido).

El orden en que se evalúan las políticas determina el orden en que se aplican. Las características de ADC suelen evaluar varios bancos de políticas en un orden determinado. Sin embargo, a veces, otras características pueden afectar el orden de la evaluación. Dentro de un banco de políticas, el orden de evaluación depende de los valores de los parámetros configurados en las políticas. La mayoría de las funciones aplican todas las acciones asociadas a una política si el resultado evaluado coincide con los datos que se están procesando.

Nota:

La función de almacenamiento en caché integrado es una excepción.

Diferencias específicas de función en los enlaces de políticas

Puede vincular políticas a puntos de enlace (o bancos) globales integrados, servidores virtuales específicos o rótulos de políticas.

Sin embargo, las características de Citrix ADC difieren en el tipo de enlaces disponibles. En la siguiente tabla se resumen los enlaces de políticas de las características de Citrix ADC que utilizan políticas.

Nombre de función Servidores virtuales configurados en la función Directivas configuradas en la función Puntos de enlace configurados para las políticas Uso de políticas en la función
DNS none Políticas DNS Global Para determinar cómo llevar a cabo la resolución DNS para las solicitudes.
Content Switching (Nota: Esta función puede admitir directivas clásicas o avanzadas, pero no ambas). Conmutación de contenido (CS) Políticas de conmutación de contenido Servidor virtual de conmutación de contenido o redirección de caché; etiqueta de directiva Determinar qué servidor o grupo de servidores es responsable de ofrecer las respuestas, en función de las características de una solicitud entrante. Las funciones de solicitud incluyen el tipo de dispositivo, el idioma, las cookies, el método HTTP, el tipo de contenido y el servidor de caché asociado.
Almacenamiento en caché integrado none Políticas de almacenamiento en caché Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, conmutación de contenido o servidor virtual de descarga SSL Para determinar si las respuestas HTTP se pueden almacenar en la caché integrada del dispositivo Citrix ADC y servirse desde ella.
Responder none Políticas de respuesta Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, conmutación de contenido o servidor virtual de descarga SSL Para configurar el comportamiento de la función Responder.
Reescribe none Reescritura de políticas Anulación global, valor predeterminado global, etiqueta de directiva, equilibrio de carga, conmutación de contenido o servidor virtual de descarga SSL Para identificar los datos HTTP que desea modificar antes de servir. Las directivas proporcionan reglas para modificar los datos. Por ejemplo, puede modificar los datos HTTP para redirigir una solicitud a un servidor seleccionado en función de la dirección de la solicitud entrante o para enmascarar la información del servidor en una respuesta por motivos de seguridad.
Función de transformación de URL en la función Rewrite none Políticas de transformación Anulación global, Valor predeterminado global, Etiqueta de directiva Identificar las URL en las transacciones HTTP y los archivos de texto para evaluar si se debe modificar una URL.
Citrix Gateway (solo funciones VPN sin cliente) servidor VPN Políticas de acceso sin cliente VPN Global, servidor VPN Para determinar cómo Citrix Gateway realiza la autenticación, la autorización, la auditoría y otras funciones, y definir reglas de reescritura para el acceso web general mediante Citrix Gateway.

Puntos de enlace y orden de evaluación

Para que una política entre en vigor, debe asegurarse de que la política se invoque en algún momento durante el procesamiento. Para ello, asocie la directiva con un punto de enlace. La colección de políticas vinculadas a un punto de enlace se conoce como banco de políticas.

A continuación se presentan los puntos de enlace que evalúa Citrix ADC, enumerados en el orden típico de evaluación dentro de un banco de políticas.

  1. Anulación de hora de solicitud. Cuando una solicitud fluye a través de una entidad, Citrix ADC evalúa en primer lugar las políticas de anulación de tiempo de solicitud para la función.
  2. Request-time Load Balancing virtual server. Si la evaluación de políticas no se puede completar después de evaluar todas las políticas de anulación de tiempo de solicitud, Citrix ADC procesa las políticas de tiempo de solicitud para servidores virtuales de equilibrio de carga.
  3. Request-time Content Switching virtual server. Si la evaluación de políticas no se puede completar después de evaluar todas las políticas de tiempo de solicitud para servidores virtuales de equilibrio de carga, Citrix ADC procesa las políticas de tiempo de solicitud para los servidores virtuales de conmutación de contenido.
  4. Por defecto de hora de solicitud. Si la evaluación de políticas no se puede completar después de todo el tiempo de solicitud, se han evaluado las políticas específicas del servidor virtual, Citrix ADC procesa las políticas avanzadas de tiempo de solicitud.
  5. Anulación del tiempo de respuesta. En el tiempo de respuesta, Citrix ADC comienza con políticas vinculadas al punto de enlace de anulación de tiempo de respuesta.
  6. Servidor virtual de equilibrio de carga en tiempo de respuesta. Si la evaluación de políticas no se puede completar después de evaluar todas las políticas de anulación del tiempo de respuesta, Citrix ADC procesa las políticas de tiempo de respuesta para los servidores virtuales de equilibrio de carga.
  7. Response-time Content Switching virtual server. Si no se puede completar la evaluación de políticas después de evaluar todas las directivas para servidores virtuales de equilibrio de carga, Citrix ADC procesa las políticas de tiempo de respuesta para los servidores virtuales de conmutación de contenido.
  8. Tiempo de respuesta predeterminado. Si la evaluación de políticas no se puede completar después de evaluar todo el tiempo de respuesta y las políticas específicas del servidor virtual, Citrix ADC procesa las políticas avanzadas de tiempo de respuesta.

Evaluación de directivas en todas las funciones

Además de evaluar las políticas dentro de una función, si vincula políticas a un servidor virtual de conmutación de contenido, es importante que estas políticas se evalúen antes que otras políticas. Vincular una directiva a un servidor virtual de conmutación de contenido produce un resultado diferente en las versiones 9.0.x de Citrix ADC y posteriores al de las versiones 8.x. En Citrix ADC 9.0 y versiones posteriores, la evaluación se realiza de la siguiente manera:

  • Las políticas de cambio de contenido se evalúan antes que otras políticas. Si una directiva de conmutación de contenido se evalúa como TRUE, se selecciona el servidor virtual de equilibrio de carga de destino.
  • Si todas las políticas de conmutación de contenido se evalúan como FALSE, se selecciona el servidor virtual de equilibrio de carga predeterminado en el VIP de conmutación de contenido.

Después de seleccionar un servidor virtual de equilibrio de carga de destino mediante el proceso de conmutación de contenido, las políticas se evalúan en el siguiente orden:

  1. Políticas vinculadas al punto de enlace de anulación global.
  2. Directivas enlazadas al servidor virtual de equilibrio de carga predeterminado.
  3. Directivas vinculadas al servidor virtual de conmutación de contenido de destino.
  4. Políticas enlazadas al punto de enlace predeterminado global.

Para asegurarse de que las políticas se evalúan en el orden previsto, siga estas directrices:

  • Asegúrese de que no se pueda acceder directamente al servidor virtual de equilibrio de carga predeterminado desde el exterior; por ejemplo, la dirección IP del servidor virtual puede ser 0.0.0.0.
  • Para evitar que se expongan datos internos en el servidor virtual predeterminado de balanceo de carga, configure una directiva para que responda con el estado «Servicio 503 No disponible» y vincule al servidor virtual de equilibrio de carga predeterminado.

Inscripciones en un banco de políticas

Cada entrada en un banco de políticas tiene, como mínimo, una póliza y un nivel de prioridad. También puede configurar entradas que cambian el orden de evaluación basado en prioridades y puede configurar entradas que invoquen bancos de políticas externas. El banco de políticas es el grupo de políticas que están enlazadas en un punto de enlace determinado y que se pueden evaluar para cierto tráfico. Si algunas políticas están vinculadas a LB vserver de tipo de protocolo HTTP, LB vserver es un banco de políticas. Además, las políticas vinculadas a este banco de políticas se pueden evaluar para determinar el tráfico HTTP. Si algunas políticas de reescritura están obligadas a reescribir de forma global en el punto de enlace DNS_REQ_OVERRIDE, el punto de enlace DNS_REQ_OVERRIDE será un banco de políticas al que están enlazadas algunas políticas.

Dado que, en la etiqueta de política podemos vincular un número de políticas, por lo que la etiqueta de política también es un banco de políticas.

Los bancos de políticas se diferencian en función de los protocolos, las condiciones y las prioridades. Supongamos que tiene un servidor virtual de 2 LB. Uno es de tipo HTTP y otro es de tipo DNS. Además, se vinculan diferentes políticas a estos servidores virtuales. Por lo tanto, ambos servidores virtuales son los bancos de políticas, pero las políticas vinculadas a uno de los bancos de políticas se evalúan para determinar el tráfico HTTP. Las políticas vinculadas a otro banco de políticas se evalúan para determinar el tráfico DNS. Para cada evaluación de políticas, se evalúa una regla. Para NOPOLICY también, se evalúa una regla true. Si un usuario desea invocar una etiqueta de directiva para todo el tráfico, el usuario puede utilizar NOPOLICY como regla verdadera.

En la tabla siguiente se resumen cada entrada de un banco de políticas.

Nombre de la política Prioridad Ir a la expresión Tipo de invocación Se invocará el banco de políticas
El nombre de la política o una política «ficticia». Un número entero. Opcional. Si no se configura, ADC toma el valor predeterminado de GoToPriorityExpression. Identifica la siguiente política que se evaluará si la política actual se evalúa como verdadera o finaliza cualquier evaluación posterior. Opcional. Indica que se invoca un banco de políticas externas. El campo restringe las opciones a una etiqueta de política global o a un servidor virtual. Opcional. Se utiliza con el tipo de invocación. Esta es la etiqueta de un banco de políticas o un nombre de servidor virtual. Citrix ADC regresa al banco actual después de procesar el banco externo.

Si la política se evalúa como TRUE, Citrix ADC almacena la acción asociada a la política. Agregar evalúe la siguiente política basándose en el valor del gotoPriorityExpression campo. Si la política se evalúa como FALSE, Citrix ADC evalúa la siguiente política. Si la directiva no es TRUE ni FALSE, Citrix ADC utiliza la acción Undef (indefinida) asociada. El tipo de invocación designa un tipo de banco de políticas. El valor puede ser uno de los siguientes:

  • Servidor virtual de solicitudes: Invoca las directivas de tiempo de solicitud asociadas a un servidor virtual.
  • Servidor virtual de respuesta: Invoca políticas en tiempo de respuesta asociadas a un servidor virtual.
  • Etiqueta de política: Invoca a otro banco de políticas, identificado por la etiqueta de política del banco. Valores de campo GoToPriorityExpression:
  • Ir a NEXT - Ir a la política con la siguiente prioridad más alta
  • Ir a END - Evaluación final
  • Goto #: expresión que produce el número de prioridad de la siguiente política que se va a evaluar. El Goto solo puede avanzar en un banco de políticas.
  • Ir a USE_INVOCATION_RESULT — Aplicable si esta política invoca otra etiqueta de política. Si el punto final de la etiqueta de política invocada tiene un valor de END, la evaluación se detiene. Si el último goto no es END, la etiqueta de política actual realiza un NEXT. Si omite la expresión Goto, es lo mismo que especificar END. Ejemplo de banco de políticas que utiliza la expresión Goto:
Nombre de la política Prioridad Ir a Invocación Se invocará el banco de políticas
Política de certificados de cliente 100 300 Ninguno Ninguno
Política de subred 200 Siguiente Ninguno Ninguno
SIN POLÍTICA 300 USAR RESULTADO DE INVOCACIÓN Servidor de solicitudes Servidor mi_request_v
SIN POLÍTICA 350 USAR RESULTADO DE INVOCACIÓN Etiqueta de política My_Policy_Etiqueta
Política de horas de trabajo 400 FIN Ninguno Ninguno

Orden de evaluación dentro de un banco de políticas

Dentro de un banco de políticas, la orden de evaluación depende de los siguientes parámetros:

  • Una prioridad.

    La cantidad mínima de información sobre el orden de evaluación es un nivel de prioridad numérico. Cuanto menor sea el número, mayor será la prioridad.

  • Una expresión Goto.

    Si se proporciona, la expresión Goto indica la siguiente política que se va a evaluar, normalmente dentro del mismo banco de políticas. Las expresiones Goto solo pueden avanzar en un banco. Para evitar el bucle, la configuración de un banco de políticas no es válida si un extracto de Goto apunta hacia atrás en el banco.

  • Invocación de otros bancos de políticas.

    Cualquier entrada puede invocar un banco de políticas externas. Citrix ADC proporciona una entidad integrada denominada NOPOLICY que no tiene regla. Puede agregar una entrada NOPOLICY en un banco de políticas cuando desee invocar otro banco de políticas, pero no desea procesar ninguna otra regla antes de la invocación. Puede tener varias entradas de NOPOLICY en varios bancos de pólizas.

Los valores de una expresión Goto son los siguientes:

  • SIGUIENTE.

    Esta palabra clave selecciona la directiva con el siguiente nivel de prioridad más alto en el banco de directivas actual.

  • Un número entero.

    Si proporciona un número entero, debe coincidir con el nivel de prioridad de otra política del banco de políticas actual.

  • FINAL.

    La palabra clave detiene la evaluación después de procesar la política actual y no se procesan políticas adicionales en este banco.

  • En blanco.

    Si la expresión Goto está vacía, es lo mismo que especificar END.

  • Expresión numérica.

    Se trata de una expresión de política avanzada que se resuelve en un número de prioridad para otra política del banco actual.

  • USE_INVOCATION_RESULT.

    La frase solo se puede utilizar si está invocando un banco de políticas externas. Al introducir la frase, Citrix ADC lleve a cabo una de las siguientes acciones:

    • Si el Goto final del banco de políticas invocado tiene un valor de END o está vacío, el resultado de la invocación es END y la evaluación se detiene.
    • Si la expresión final de Goto en el banco de políticas invocado no es END, Citrix ADC realiza un NEXT.

En la siguiente tabla se ilustra un banco de políticas que utiliza los estados de cuenta de Goto y las invocaciones de bancos de políticas.

Nombre de la política Prioridad Ir a Invocación Se invocará el banco de políticas ——– —- —- —-          
ClientCertificatePolicy (regla: ¿contiene la solicitud un certificado de cliente?) 100 300 Ninguno Ninguno                    
SubnetPolicy (regla: ¿es el cliente de una subred privada?) 200 SIGUIENTE Ninguno Ninguno NOPOLICY 300 USAR RESULTADO DE INVOCACIÓN Solicitar servidor virtual MY_request_vserver NOPOLICY 350 USE INVOCATION RESULT Etiqueta de política My_Policy_Label
  WorkingHoursPolicy (regla: ¿es horas de trabajo?) 400 FIN Ninguno Ninguno                  

Tabla 3. Ejemplo de banco de políticas que utiliza Gotos e invocaciones de bancos externos

Cómo finaliza la evaluación de políticas

La evaluación de un banco de políticas finaliza cuando el dispositivo Citrix ADC ejecuta uno de los siguientes pasos:

  • Si una evaluación de políticas es «VERDADERA», invoca a un banco de políticas externas y su valor de estado de cuenta Goto es «USE_INVOCATION_RESULT», y si otra política del banco de políticas externas también evalúa «TRUE» y el valor del estado de cuenta Goto es «END», luego de regresar desde el externo banco de políticas, no se evaluará ninguna otra política.

  • Se invoca un banco de políticas externas, su evaluación devuelve un END y el extracto de Goto utiliza un valor de USE_INVOCATION_RESULT o END. La evaluación continúa con el próximo banco de políticas para esta función. Por ejemplo, si el banco actual es el banco de anulación de tiempo de solicitud, Citrix ADC evalúa a continuación los bancos de políticas de tiempo de solicitud para los servidores virtuales.

  • Citrix ADC ha recorrido todos los bancos de políticas de esta función, pero no ha encontrado un END.

Si esta es la última entrada que se evaluará en este banco de políticas, Citrix ADC pasa a la siguiente función.

Cómo utilizan las funciones las acciones después de la evaluación de políticas

Tras evaluar todas las políticas relevantes para un punto de datos determinado (por ejemplo, una solicitud HTTP), Citrix ADC almacena todas las acciones asociadas a cualquier política que coincida con los datos.

Para la mayoría de las funciones, todas las acciones de las directivas coincidentes se aplican a un paquete de tráfico al salir de Citrix ADC. La función Almacenamiento en caché integrado solo aplica una acción: CACHE o NOCACHE. Esta acción está asociada a la política con el valor de prioridad más bajo del banco de políticas de «máxima prioridad» (por ejemplo, las políticas de anulación de tiempo de solicitud se aplican antes de las políticas específicas del servidor virtual).