Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configuración de servicios de redireccionamiento HTTP estáticos basados en motores de enrutamiento

Nota:

A partir de Junos OS versión 19.3R2, el servicio de redireccionamiento HTTP también es compatible si ha habilitado los servicios de próxima generación en la serie MX.

Puede configurar los servicios de redireccionamiento HTTP en el motor de enrutamiento como alternativa al uso de una tarjeta de servicios MS-MPC/MS-MIC o MX-SPC3. Configure el jardín amurallado como un filtro de servicio de firewall. Un jardín amurallado es un grupo de servidores que proporcionan al suscriptor acceso a sitios dentro del jardín amurallado sin requerir reautorización a través de un portal cautivo. El filtro de servicio de jardín amurallado identifica el tráfico destinado al jardín amurallado y el tráfico destinado fuera del jardín amurallado. Solo el tráfico HTTP destinado fuera del jardín amurallado se envía al motor de enrutamiento para que lo procese el servicio de redireccionamiento HTTP. El servicio CPCD está asociado a una interfaz de servicio en el motor de enrutamiento mediante un conjunto de servicios.

Las interfaces de servicio en el motor de enrutamiento se identifican con un prefijo si- (por ejemplo, si-1/1/0). La interfaz si- procesa todo el tráfico y los servicios de redireccionamiento y reescritura para el motor de enrutamiento. La interfaz si- debe estar operativa con un estado de up para habilitar y activar el servicio de entrega de contenido del portal cautivo (CPCD). Una vez habilitado el servicio CPCD, cualquier cambio en el estado operativo de la interfaz si- no afecta a los servicios CPCD existentes.

El servicio CPCD envía el tráfico de solicitud HTTP del suscriptor que no está destinado al jardín amurallado a un servidor de redireccionamiento, que responde con una URL de redireccionamiento. La URL de redireccionamiento envía tráfico a un portal cautivo en lugar de al sitio externo no autorizado. El portal cautivo proporciona servicios de autenticación y autorización para los suscriptores redirigidos antes de otorgarles acceso a servidores protegidos fuera del jardín amurallado.

El servidor de redireccionamiento puede ser local o remoto:

  • Servidor de redireccionamiento local: reside en el enrutador y redirige el tráfico de suscriptores a un portal cautivo dentro de un jardín amurallado.

  • Servidor de redireccionamiento remoto: reside en un dispositivo, como un servidor de políticas, dentro de un jardín amurallado detrás del enrutador. La dirección de destino del tráfico HTTP del suscriptor se reescribe en la dirección del servidor de redireccionamiento remoto. El servidor remoto redirige el tráfico de suscriptores a un portal cautivo dentro de ese jardín amurallado.

Configuración de un jardín amurallado como filtro de servicio de firewall

Cuando se configura el jardín amurallado como un filtro de servicio de firewall, se identifica y omite el tráfico destinado a los servidores dentro del jardín amurallado. El resto del tráfico HTTP está destinado a direcciones fuera del jardín amurallado. Dado que este tráfico no coincide con las condiciones del filtro, fluye hacia el motor de enrutamiento para su manejo.

Puede configurar el filtro de servicio para que el jardín amurallado contenga un único servidor como portal cautivo o una lista de servidores.

  • Configure el jardín amurallado con un solo servidor como portal cautivo:

    1. Cree el filtro de servicio.

    2. Defina un término de filtro para identificar y omitir el procesamiento del tráfico al portal cautivo.

      1. Especifique las condiciones de filtro para que coincidan con el tráfico destinado al portal cautivo especificando la dirección de destino del portal cautivo y el puerto de destino.

      2. Especifique que el tráfico coincidente omite el procesamiento en la tarjeta de línea.

    3. Defina un término de filtro para identificar el tráfico HTTP de todo el tráfico que no coincidía con el término anterior y envíelo para su procesamiento mediante las reglas del servicio CPCD.

      1. Especifique uno o más números de puerto HTTP para que coincidan con el tráfico HTTP omitido.

      2. Especifique que un servicio CPCD procesa el tráfico coincidente.

    4. Defina un término de filtro para omitir más acciones para cualquier tráfico restante que no sea HTTP.

    Por ejemplo, la siguiente configuración crea un filtro para el tráfico HTTP IPv4, walled-v4, con el portal cautivo en 192.0.2.0. El procesamiento se omite para el tráfico que coincide con la dirección; El tráfico se envía al portal cautivo. El tráfico no coincidente va al término http, donde el tráfico HTTP se selecciona de todo el tráfico omitido y se envía para ser procesado de acuerdo con un servicio CPCD. Por último, la omisión de término hace que se omita todo el tráfico restante que no sea HTTP.

  • Configure el jardín amurallado como una lista o subred de servidores.

    1. Cree el filtro de servicio.

    2. Defina un término de filtro.

      1. Especifique las condiciones de filtro para que coincidan con el tráfico destinado a cualquier servidor del jardín amurallado especificando una lista de prefijos de destino de servidores.

      2. Especifique que el tráfico coincidente omite el procesamiento en la tarjeta de línea.

    3. Defina un término de filtro para identificar el tráfico HTTP de todo el tráfico que no coincidía con el término anterior y envíelo para su procesamiento mediante las reglas del servicio CPCD.

      1. Especifique uno o más números de puerto HTTP para que coincidan con el tráfico HTTP omitido.

      2. Especifique que un servicio CPCD procesa el tráfico coincidente.

    4. Defina un término de filtro para omitir más acciones para cualquier tráfico restante que no sea HTTP.

    5. (Opcional) Defina una lista de prefijos que especifique los servidores dentro del jardín amurallado. Puede especificar una subred o varias direcciones individuales.

    Por ejemplo, la siguiente configuración crea un filtro para el tráfico HTTP IPv6, walled-v6-list, con una lista de prefijos, wg-list, que especifica dos servidores en el jardín amurallado. El término de filtro portal6 identifica el tráfico IPv6 destinado al jardín amurallado. El tráfico no coincidente pasa al término http6, donde el tráfico HTTP se selecciona de todo el tráfico omitido y se envía para ser procesado de acuerdo con un servicio CPCD. Finalmente, el término skip6 hace que se omita todo el tráfico restante que no sea HTTP.

Configuración de la redirección HTTP para servidores de redirección locales y remotos

Cuando se realizan solicitudes HTTP para sitios fuera del jardín amurallado, CPCD puede redirigir el tráfico a un portal cautivo para su autenticación y autorización.

Configure una regla de servicio CPCD que especifique la acción que debe realizarse para el tráfico destinado fuera del jardín amurallado. Este tráfico fue identificado por el filtro de servicio de jardín amurallado y pasado al servicio, o identificado y aceptado por la regla de servicio de jardín amurallado. La acción que configure dependerá de si está utilizando un servidor de redireccionamiento HTTP local o remoto:

  • Si utiliza un servidor de redireccionamiento HTTP local en el enrutador, especifique la acción de redireccionamiento.

  • Si está utilizando un servidor de redireccionamiento HTTP remoto, que reside en un jardín amurallado detrás del enrutador, entonces no puede simplemente especificar una URL de redireccionamiento. En este caso, la regla de servicio debe reescribir la dirección IP de destino del tráfico. La nueva dirección de destino es la dirección del servidor de redireccionamiento HTTP remoto. A continuación, el servidor remoto proporciona una URL de redireccionamiento para enviar el tráfico a un portal cautivo.

El servicio CPCD está asociado a una interfaz de servicio mediante un conjunto de servicios. Tanto el conjunto de servicios como el filtro de servicio de jardín amurallado se aplican a una interfaz configurada estáticamente.

  1. Acceda al nivel de configuración del servicio CPCD.
  2. Cree una regla para aplicar al tráfico destinado fuera del jardín amurallado.
  3. Especifique que la regla se aplica al tráfico entrante.
  4. Defina un término de regla para que CPCD aplique una acción al tráfico HTTP. Dado que el jardín amurallado está configurado como un filtro de servicio, el tráfico ya está filtrado para ser tráfico HTTP antes de enviarse al servicio.
    • Para un servidor de redireccionamiento HTTP local, proporcione la URL de redireccionamiento, que es la URL del portal cautivo con la URL original (fuera del jardín amurallado) anexa:

    • Para un servidor de redireccionamiento HTTP remoto, proporcione la dirección de destino del servidor remoto:

Por ejemplo, en la siguiente configuración para un servidor local, la regla de servicio CPCD redir-svc redirige el tráfico a un portal cautivo, http://www.portal.example.com. La URL original introducida por el suscriptor se anexa a la URL de redireccionamiento.

La siguiente configuración para un servidor remoto crea la regla de servicio CPCD rewr-svc que reescribe la dirección de destino original en la dirección del servidor remoto, 192.0.2.230.

Configuración del perfil de servicio y del conjunto de servicios para asociar el perfil de servicio a una interfaz de servicio

Los conjuntos de servicios definen uno o más servicios que debe realizar el motor de enrutamiento. Para los servicios de redireccionamiento HTTP, se define un perfil de servicio CPCD que incluye reglas CPCD. El conjunto de servicios aplica el perfil de servicio CPCD a una interfaz de servicio específica.

  1. Cree el perfil de servicio.
  2. Especifique una o varias reglas de CPCD para el perfil de servicio.
  3. Cree el conjunto de servicios.
  4. Especifique que el conjunto de servicios es para CPCD basado en motor de enrutamiento.
  5. Especifique el perfil de servicio de la CPCD.
  6. Especifique la interfaz de servicio.

Por ejemplo, la siguiente configuración crea el perfil de servicio CPCD redir-prof, que hace referencia a la regla CPCD redir-svc. El conjunto de servicios ss2 se especifica como para CPCD basado en motor de enrutamiento. El conjunto asocia el redir-prof del perfil de servicio de la CPCD con la interfaz de servicio si-4/0/0.

Adjuntar un conjunto de servicios CPCD y un filtro de servicio a una interfaz lógica

Para utilizar los servicios de redireccionamiento HTTP, debe adjuntar el conjunto de servicios CPCD a una interfaz lógica. Si el jardín amurallado está configurado como un filtro de servicio, debe adjuntarlo a la misma interfaz que el conjunto de servicios. El tráfico que entra y sale de esa interfaz se filtra mediante el filtro de servicio. El tráfico identificado para el mantenimiento se envía a la interfaz de servicio del motor de enrutamiento, donde se aplica el perfil CPCD.

  1. Habilite los servicios en línea y especifique un ancho de banda.
  2. Configure la interfaz lógica de servicios en línea.
  3. Configure la familia de direcciones.
  4. Adjunte el conjunto de servicios y el filtro de servicio a la interfaz.
    • Interfaz estática:

    • Interfaz dinámica

Por ejemplo, la siguiente configuración habilita servicios en línea en la tarjeta de línea en la ranura 4 del chasis y en el MIC en la ranura 0 de la tarjeta de línea. Asigna una dirección a la interfaz lógica. Luego conecta el conjunto de servicios sset2 y el filtro de servicio walled-v4 a ge-2/0/1.0 para la familia de direcciones IPv4. El conjunto de servicios y el filtro se aplican a la entrada y salida de la interfaz.

Insertar etiquetas de encabezado GET que el servidor HTTP puede utilizar para controlar el acceso al contenido

En algunos casos, es posible que desee que el servidor HTTP determine si desea permitir que los usuarios tengan acceso al contenido. A partir de Junos OS versión 19.1, puede configurar filtros de servicio de redireccionamiento HTTP estáticos basados en motor de enrutamiento para especificar las etiquetas que el motor de enrutamiento inserta en el encabezado del paquete de los mensajes HTTP GET para este fin. Puede insertar etiquetas para el nombre de host del enrutador o la dirección MAC, la dirección IPv4 o la dirección IPv6 del suscriptor.

Los siguientes pasos corresponden a la figura 1.

  1. El dispositivo del usuario, el cliente HTTP, realiza una secuencia de protocolo de enlace TCP con el servidor HTTP.

  2. Cuando el protocolo de enlace se realiza correctamente, el cliente envía un HTTP GET con la URL solicitada por el usuario.

  3. El motor de enrutamiento modifica esa URL concatenando una cadena de caracteres aleatorios encerrados por /$ y $/. La longitud de la cadena coincide con la longitud combinada de las etiquetas que se insertarán más adelante. La cadena sirve como identificador cuando el cliente la devuelve.

    Supongamos que la longitud de las etiquetas que se van a insertar es de 30 caracteres y la URL solicitada es http://192.51.100.20/test.html. El motor de enrutamiento devuelve la dirección URL modificada con una cadena de 30 caracteres aleatorios, como en el ejemplo siguiente:

    http://192.51.100.20/test.html/$IIGSbVdNDTDvnJFIAyoysXwVJawoYj$/

  4. El motor de enrutamiento envía la URL modificada con un código de estado de 302 (encontrado) o 307 (redireccionamiento temporal). El código enviado depende de la versión de HTTP que se utilice y de la versión de Junos OS en el BNG. Ambos códigos indican al cliente que la solicitud de acceso debe reenviarse con la URL modificada.

  5. El motor de enrutamiento restablece la conexión TCP con el cliente y el servidor.

  6. El cliente realiza un protocolo de enlace TCP con el servidor HTTP para una dirección URL modificada.

  7. El cliente envía un HTTP GET con la URL modificada.

  8. El motor de enrutamiento comprueba si la longitud de la cadena concatenada es la misma que la enviada al cliente.

    • Si la longitud es correcta, devuelve la URL a la URL solicitada originalmente, inserta las etiquetas en el encabezado GET y reenvía la GET al servidor HTTP. Si está configurado, el GET se puede reenviar opcionalmente a una URL de redireccionamiento en lugar del servidor solicitado originalmente.

    • Si la longitud no es correcta, el motor de enrutamiento descarta el paquete e incrementa el contador de entrega.

  9. El servidor HTTP evalúa el mensaje GET y envía una respuesta al cliente con un código de estado de 200 (OK) si concede acceso o 403 (Forbidden) si se rechaza la solicitud.

  10. El motor de enrutamiento termina la conexión TCP con el cliente y el servidor.

Figura 1: Inserción de etiquetas para el flujo de mensajes de redireccionamiento HTTP. Tag Insertion for HTTP Redirect Message Flow.
Nota:

Las etiquetas se insertan en el encabezado en el mismo orden en que están configuradas. El nombre de la etiqueta distingue entre mayúsculas y minúsculas, por lo que tag ABCD y tag abcd se procesan como nombres diferentes.

Para configurar las etiquetas que se insertarán en los encabezados GET:

  1. Acceda al nivel de configuración del servicio CPCD.
  2. Cree una regla para aplicar al tráfico destinado fuera del jardín amurallado.
  3. Especifique que la regla se aplica al tráfico entrante.
  4. (Opcional) Especifique una o más direcciones de destino para filtrar el tráfico para el etiquetado.
    Nota:

    Como alternativa, puede especificar direcciones de destino para identificar el tráfico en el filtro del servicio de firewall.

  5. Defina un término de regla para que CPCD aplique una acción al tráfico HTTP. Dado que el jardín amurallado está configurado como un filtro de servicio, el tráfico ya está filtrado para ser tráfico HTTP antes de enviarse al servicio.

Por ejemplo, la siguiente configuración crea una regla de servicio, insert-rule, que coincide con el tráfico en la interfaz de entrada. El término t1 inserta dos etiquetas, x-mac-addr con la dirección MAC del suscriptor y x-sub-ip con el valor de la dirección IPv4 del suscriptor.

En la siguiente regla de ejemplo, solo se etiqueta el tráfico con una dirección de destino que coincida con 198.51.100.50 o 198.51.100.75. Se insertan etiquetas para la dirección IP del suscriptor y el nombre de host del enrutador. Un segundo término de la regla proporciona una URL de redireccionamiento en la que el tráfico se reenvía en lugar de enviarse a la URL solicitada originalmente.

Al igual que con cualquier regla de servicio CPCD para la redirección HTTP basada en motor de enrutamiento, debe incluir las reglas en un perfil de servicio CPCD y, a continuación, utilizar un conjunto de servicios CPCD para asociar el perfil a una interfaz de servicio en línea. El motor de enrutamiento utiliza las reglas para procesar el tráfico HTTP que pasa por un filtro de servicio en la misma interfaz lógica que el conjunto de servicios.

Considere la siguiente configuración de ejemplo. La regla de redireccionamiento de etiquetas se define para que coincida con el tráfico en la interfaz de entrada y, a continuación, inserte dos etiquetas en el encabezado GET, el valor de la dirección IP del suscriptor y el nombre de host del enrutador. A continuación, la regla proporciona una URL de redireccionamiento para el tráfico etiquetado. El perfil de servicio CPCD http-insert-redirect se define para incluir esta regla.

El conjunto de servicios sset1 se define como para CPCD basado en motor de enrutamiento. Aplica el perfil de servicio CPCD a una interfaz de servicio en línea.

El filtro de servicio walled-tag identifica y actúa sobre tres tipos de tráfico: tráfico HTTP para enviar al jardín amurallado en 192.0.2.100, tráfico HTTP destinado a 198.51.100.50 para ir al procesamiento del servicio y todo el resto del tráfico que se omite. Este es un ejemplo de cómo hacer coincidir una dirección de destino en el filtro de servicio en lugar de en la regla de servicio.

El conjunto de servicios sset1 y la etiqueta muralizada del filtro de servicio se aplican a una interfaz lógica.

Tabla de historial de versiones
Lanzamiento
Descripción
19.1
A partir de Junos OS versión 19.1, puede configurar filtros de servicio de redireccionamiento HTTP estáticos basados en motor de enrutamiento para especificar las etiquetas que el motor de enrutamiento inserta en el encabezado del paquete de los mensajes HTTP GET para este fin.