Protocolo proxy
El protocolo proxy transporta de forma segura los detalles del cliente al servidor en todos los dispositivos NetScaler. El dispositivo agrega un encabezado de protocolo proxy con los detalles del cliente y lo reenvía al servidor back-end. A continuación se presentan algunos de los casos de uso del protocolo proxy en un dispositivo NetScaler.
- Aprendizaje de la dirección IP original del cliente
- Selección de un idioma para un sitio web
- Bloquear lista de direcciones IP seleccionadas
- Registro y recopilación de estadísticas.
A continuación se presentan los tres modos de funcionamiento:
- Insertar. El dispositivo inserta los datos del cliente y los envía al servidor back-end.
- Adelante. El dispositivo reenvía los datos del cliente al servidor back-end.
- Despojado. El dispositivo almacena los detalles del cliente para fines de registro. Además, si el servidor back-end no admite el protocolo proxy, envía los detalles del cliente al servidor mediante la configuración de directiva de reescritura
Limitaciones
El protocolo proxy no es compatible con las funciones TCP Fast Open (TFO) y MultiPath TCP. La función solo se admite para los servicios para los que el dispositivo NetScaler realiza la terminación de la conexión TCP. No es compatible con otros servicios; por ejemplo, “ANY”.
Cómo funciona el protocolo proxy en un dispositivo NetScaler
Los diagramas de flujo siguientes muestran cómo configurar el protocolo proxy en los dispositivos NetScaler para las operaciones Insertar, Reenviar y Despojar:
operación de inserción
El componente interact es el siguiente:
- En la instancia de NetScaler, debe habilitar el protocolo proxy en el perfil de red y vincularlo al servicio.
- En la operación Insertar, NetScaler agrega un encabezado proxy con los detalles de conexión del cliente y lo reenvía al servidor back-end.
- En el lado del envío, el dispositivo decide la versión del protocolo proxy en función de la configuración de la CLI.
Operación de avance
El componente interact es el siguiente:
- Un cliente envía una solicitud junto con el encabezado del proxy a NetScaler. El dispositivo identifica dinámicamente la versión.
- En el dispositivo NetScaler, es una operación de reenvío. El protocolo proxy se habilita en el servidor virtual de equilibrio de carga o en el servidor virtual de conmutación de contenido y se habilita en el servicio. El dispositivo recibe el encabezado proxy y reenvía los detalles del encabezado al servidor back-end.
- Si los detalles del encabezado del proxy no tienen un formato válido, el dispositivo restablece la conexión.
- En el lado del envío, el dispositivo decide la versión del protocolo proxy en función de la configuración de la CLI.
Operación despojada
El componente interact es el siguiente:
- Un cliente envía una solicitud junto con un encabezado proxy al dispositivo NetScaler.
- En el dispositivo NetScaler, si se trata de una operación de eliminación, el dispositivo reenvía la información del cliente obtenida del protocolo proxy y la inserta en el encabezado HTTP mediante expresiones de directiva de reescritura.
- 洛杉矶detalles del cliente科莫de la direccion IPorigen, la dirección IP de destino, el puerto de origen y el puerto de destino, se agregan en un encabezado HTTP mediante expresiones de directiva de reescritura. La directiva de reescritura evalúa la expresión y, si es “true”, se desencadena la acción de directiva de reescritura correspondiente. Y los detalles del cliente se reenvían al servidor back-end en un encabezado HTTP.
- Si los detalles del encabezado del proxy no tienen un formato válido, el dispositivo restablece la conexión.
Formatos de versión de protocolo
La versión del protocolo proxy está disponible en dos formatos. El dispositivo decide utilizar un formato basado en la longitud de los datos entrantes. Para obtener información detallada, consulte RFP deprotocolo proxy.
Formato de la versión 1 del protocolo proxy
PROXY TCP4/TCP6/UNKNOWN
- PROXY -> Formato de cadena único para encabezado Proxy versión -1.
- Admite protocolos TCP sobre IPv4 y TCP sobre IPv6. Para los protocolos restantes, esto es DESCONOCIDO.
- IP de SRC: dirección IP de origen (IP del cliente original) de un paquete.
- IP de DST: dirección IP de destino de un paquete.
- Puerto SRC: puerto de origen de un paquete.
- Puerto DST: puerto de destino de un paquete.
Formato de la versión 2 del protocolo proxy
0 0 0 d 0 00 0 d 0 51 55 49 54 0 < 13字节> < 14th byte> <15-16th byte> <17th byte onwards>
- D 0A 0D 0A 00 0D 0A 51 55 49 54 0A -> Cadena binaria única para encabezado Proxy versión -2.
- Admite protocolos TCP sobre IPv4 y TCP sobre IPv6. Para los protocolos restantes, esto es DESCONOCIDO.
- Decimotercer byte: versión y comando del protocolo.
- Decimocuarto byte: familia de direcciones y protocolos.
- 15-16th byte: longitud de la dirección en orden de red.
- Decimoséptimo byte en adelante: información de direcciones presente en el orden de red: IP src, ip dst, puerto src, puerto dst.
Soporte de expresión de infraestructura de directivas de respuesta
El protocolo proxy admite las siguientes expresiones de infraestructura de directivas de respuesta para servidores virtuales de tipo TCP y HTTP:
- CLIENT.PROXY.SRCIP_STR
- CLIENT.PROXY.DSTIP_STR
- PUERTO CLIENT.PROXY.SRCPORT
- CLIENT.PROXY.DSTPORT
- CLIENT.PROXY.ETHERTYPE
Nota
NetScaler admite la expresión de infraestructura de políticas de respuesta para el protocolo proxy en un servidor virtual de tipo TCP a partir de las versiones 13.1-48.x de NetScaler.
Configurar el protocolo proxy en el dispositivo NetScaler
Realice los siguientes pasos para configurar el protocolo Proxy en su dispositivo NetScaler.
- Habilite el protocolo proxy como global.
- Configure el protocolo proxy para la operación de inserción.
- Configure el protocolo proxy para la operación Forward.
- Configure el protocolo proxy para el funcionamiento de Strip.
Habilitar el protocolo proxy como global
En el símbolo del sistema, escriba lo siguiente:
set ns param –proxyProtocol ENABLED
Configurar el protocolo proxy para la operación Insert
Para configurar el protocolo proxy para la operación Insertar, debe inhabilitar el protocolo en el servidor virtual de equilibrio de carga y habilitar el protocolo en el servicio.
Agregar perfil de red con el protocolo proxy inhabilitado para el servidor virtual de equilibrio de carga
En el símbolo del sistema, escriba lo siguiente:
add netprofile
Ejemplo:
Add netprofile proxyprofile-1 –proxyProtocol DISABLED –proxyprotocoltxversion V1
Nota:
Si inhabilita el protocolo proxy en el dispositivo, no es necesario establecer el parámetro de versión del protocolo.
Agregar perfil de red con un protocolo proxy habilitado para el servicio
En el símbolo del sistema, escriba lo siguiente:
add netprofile
Ejemplo:
add netprofile proxyprofile-2 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Agregue un servidor virtual de equilibrio de carga para el dispositivo NetScaler en la capa proxy
En el símbolo del sistema, escriba lo siguiente:
add lb vserver
Ejemplo:
add lb vserver lbvserver-1 http 1.1.1.1 80
Agregar servicio HTTP para el dispositivo NetScaler en la capa proxy
En el símbolo del sistema, escriba lo siguiente:
add service
Ejemplo:
Add service http-service-1 2.2.2.1 http 80
Establecer el perfil de red con el servidor virtual de equilibrio de carga en el dispositivo NetScaler
En el símbolo del sistema, escriba lo siguiente:
set lb vserver
Ejemplo:
set lb vserver lbvserver-1 –netprofile proxyProfile-1
Establecer el perfil de red con el servicio HTTP en el dispositivo NetScaler
En el símbolo del sistema, escriba lo siguiente:
set service
Ejemplo:
set service http-service-1 –netprofile proxyProfile-2
Enlazar el servidor virtual de equilibrio de carga al servicio
En el símbolo del sistema, escriba lo siguiente:
bind lb vserver
Ejemplo:
bind lb vserver lbvserver-1 http-service-1
Configurar el protocolo proxy para operaciones de reenvío
Para configurar el protocolo proxy para la operación Forward para la siguiente instancia de NetScaler de la capa proxy, debe habilitar el protocolo y vincularlo al servidor o servicio virtual.
Nota:
El perfil de red creado para el servidor virtual de equilibrio de carga también se puede utilizar como servicio.
Agregar perfil de red con el protocolo proxy habilitado para el servidor virtual de equilibrio de carga
En el símbolo del sistema, escriba lo siguiente:
add netprofile
Ejemplo:
add netprofile proxyprofile-3 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Agregar perfil de red con el protocolo proxy habilitado para el servicio
En el símbolo del sistema, escriba lo siguiente:
add netprofile
Ejemplo:
add netprofile proxyprofile-4 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Agregue un servidor virtual de equilibrio de carga para el dispositivo NetScaler en la capa proxy
En el símbolo del sistema, escriba lo siguiente:
add lb vserver
Ejemplo:
add lb vserver lbvserver-2 http 2.2.2.2 80
Agregar servicio HTTP para el dispositivo NetScaler en la capa proxy
En el símbolo del sistema, escriba lo siguiente:
add service
Ejemplo:
Add service http-service-2 3.3.3.1 http 80
Establecer el perfil de red con el servidor virtual de equilibrio de carga en el dispositivo NetScaler
En el símbolo del sistema, escriba lo siguiente:
set lb vserver
Ejemplo:
set lb vserver lbvserver-2 –netprofile proxyProfile-3
Establecer el perfil de red con el servicio HTTP en el dispositivo NetScaler
En el símbolo del sistema, escriba lo siguiente:
set service
Ejemplo:
set service http-service-2 –netprofile proxyProfile-4
Enlazar el servidor virtual de equilibrio de carga al servicio
En el símbolo del sistema, escriba lo siguiente:
bind lb vserver
Ejemplo:
bind lb vserver lbvserver-2 http-service-2
Configurar el protocolo proxy para la operación strip
Para configurar el protocolo proxy para la operación strip, debe habilitar el protocolo proxy en el servidor virtual de equilibrio de carga y inhabilitar el protocolo proxy en el servicio.
Agregar perfil de red con el protocolo proxy habilitado para el servidor virtual
En el símbolo del sistema, escriba lo siguiente:
add netprofile
Ejemplo:
add netprofile proxyprofile-5 –proxyProtocol ENABLED –proxyprotocoltxversion V1
Agregar un servidor virtual de equilibrio de carga o conmutación de contenido para el dispositivo NetScaler en la capa proxy
En el símbolo del sistema, escriba lo siguiente:
add lb vserver
Ejemplo:
add lb vserver lbvserver-3 http 2.2.2.2 80
Agregar servicio HTTP para el dispositivo NetScaler en la capa proxy
En el símbolo del sistema, escriba lo siguiente:
add service
Ejemplo:
Add service http-service-3 3.3.3.1 http 80
Establecer el perfil de red con el servidor virtual de equilibrio de carga o conmutación de contenido en el dispositivo NetScaler
En el símbolo del sistema, escriba lo siguiente:
set lb vserver
Ejemplo:set lb vserver lbvserver-3 –netprofile proxyProfile-5
Enlazar el servidor virtual de equilibrio de carga al servicio
En el símbolo del sistema, escriba lo siguiente:
bind lb vserver
Ejemplo:
bind lb vserver lbvserver-3 http-service-3
Configure la expresión de infraestructura de directivas de respuesta para el protocolo proxy mediante la CLI
Para configurar una directiva de respuesta, en la línea de comandos, escriba:
add responder policy
Ejemplo:
> add responder policy resppol_proxy_srcip "CLIENT.PROXY.SRCIP_STR.EQ("10.106.26.83")" RESET Done
Para vincular la directiva de respuesta al servidor virtual de equilibrio de carga, en la línea de comandos, escriba:
bind lb vserver
Ejemplo:
> bind lb vserver lb_tcp1 -policyName resppol_proxy_srcip -priority 10 -gotoPriorityExpression END -type REQUEST Done
Ejemplo de configuración de extremo a extremo
>添加ns tcpProfile tcp-proxy-profile -tcpmode结束POINT > add netprofile net_proxyv1 -MBF DISABLED -proxyProtocol ENABLED > enable ns mode l2 > enable ns mode l3 usnip > add ns ip 10.106.26.146 255.255.255.0 -type SNIP Done > add ns ip 10.106.26.144 255.255.255.0 -type SNIP Done > add lb vserver lb_tcp1 TCP 10.106.26.141 80 > add service s1 10.106.26.82 TCP 8080 > bind lb vserver lb_tcp1 s1 > set lb vserver lb_tcp1 -tcpProfileName tcp_proxy -netProfile net_proxyv1 > set ns param -proxyProtocol ENABLED > add responder policy resppol_proxy_srcip "CLIENT.PROXY.SRCIP_STR.EQ("10.106.26.83")" RESET > bind lb vserver lb_tcp1 -policyName resppol_proxy_srcip -priority 10 -gotoPriorityExpression END -type REQUEST Done
Configurar el protocolo proxy mediante la interfaz gráfica de usuario de NetScaler
- Vaya aSistema>Configuración>Cambiar configuración global del sistema.
- En la páginaConfigurar parámetros de configuración global del sistema, seleccione la casilla de verificaciónProtocolo proxy.
Haga clic enAceptaryen Cerrar.
- Vaya aSistema>Red>Perfiles de red.
- En el panel de detalles, haga clic enAgregarpara crear un perfil de red para el servidor virtual de equilibrio de carga.
- En la páginaPerfil de red, defina los siguientes parámetros:
- Nombre: Nombre del perfil de red.
- Protocolo proxy: habilite o inhabilite el protocolo proxy para el servidor virtual de equilibrio de carga.
- Versión TX del protocolo proxy: defina la versión del protocolo proxy como V1 o V2 en función del formato de datos entrantes.
Haga clic enAceptar.
- Vaya aAdministración del tráfico>Equilibrio de carga>Servidores virtuales.
- En el panel de detalles, haga clic enAgregar.
- En la páginaServidor virtual de equilibrio de carga, establezca los parámetros básicos.
- En la secciónConfiguración avanzada, seleccionePerfiles.
- En la secciónPerfiles, haga clic en el icono del lápiz.
- Seleccione un perfil de red y haga clic enAceptar.
Haga clic enListo.
- Vaya aAdministración del tráfico>Equilibrio de carga>Servicios.
- En el panel de detalles, haga clic enAgregar.
- En la páginaServicio de equilibrio de carga, defina los parámetros básicos.
- En la secciónConfiguración avanzada, seleccionePerfiles.
- En la secciónPerfiles, haga clic en el icono del lápiz.
- Seleccione un perfil de red y haga clic enAceptar.
- Haga clic enListo.
Nota:
Si tiene más de un dispositivo NetScaler como parte de la capa de proxy, debe establecer la configuración del protocolo proxy en cada dispositivo para la operación de reenvío.
En este artículo
- Limitaciones
- Cómo funciona el protocolo proxy en un dispositivo NetScaler
- Formatos de versión de protocolo
- Soporte de expresión de infraestructura de directivas de respuesta
- Configurar el protocolo proxy en el dispositivo NetScaler
- Configure la expresión de infraestructura de directivas de respuesta para el protocolo proxy mediante la CLI
- Configurar el protocolo proxy mediante la interfaz gráfica de usuario de NetScaler