Encaminamiento

Introducción al encaminamiento o routing

Zentyal usa el subsistema del kernel de Linux para el encaminamiento configurado mediante la herramiente iproute2 [1].

[1]http://www.policyrouting.org/iproute2.doc.html

Configuración del encaminamiento con Zentyal

Puerta de enlace

La puerta de enlace o gateway es el router por omisión para las conexiones cuyo destino no está en la red local. Es decir, si el sistema no tiene definidas rutas estáticas o si ninguna de éstas coincide con una transmisión a realizar, ésta se hará a través de la puerta de enlace.

Para configurar una puerta de enlace en Zentyal se utiliza Red ‣ Puertas de enlace, que tiene los siguientes parámetros configurables.

_images/11-routing-gateways.png

Añadiendo una puerta de enlace

Habilitado:
Indica si realmente esta puerta de enlace es efectiva o está desactivada.
Nombre:
Nombre por el que identificaremos a la puerta de enlace.
Dirección IP:
Dirección IP de la puerta de enlace. Esta dirección debe ser directamente accesible desde la máquina que contiene Zentyal, es decir, sin otros enrutamientos intermedios.
Interfaz:
Interfaz de red conectada a la puerta de enlace. Los paquetes que se envíen a la puerta de enlace se enviarán a través de esta interfaz.
Peso
Cuanto mayor sea el peso, más paquetes se enviarán por esa puerta de enlace si activamos el balanceo de tráfico.
Predeterminado
Si esta opción está activada, esta será la puerta de enlace por defecto.

Si se tienen interfaces configuradas como DHCP o PPPoE [2] no se pueden añadir puertas de enlace explícitamente para ellas, dado que ya son gestionadas automáticamente. A pesar de eso, se pueden seguir activando o desactivando, editando su Peso o elegir si es el Predeterminado, pero no se pueden editar el resto de los atributos.

_images/dynamic-gateways.png

Lista de puertas de enlace con DHCP

Además Zentyal puede necesitar utilizar un proxy para acceder a Internet, por ejemplo para las actualizaciones de software y del antivirus, o para la redirección del propio proxy HTTP.

Para configurar este proxy externo iremos a Red ‣ Puertas de enlace, allí podremos indicar la dirección del Servidor proxy así como el Puerto del proxy. También podremos especificar un Usuario y Contraseña en caso de que el proxy requiera autenticación.

[2]http://es.wikipedia.org/wiki/PPPoE

Tabla de rutas estáticas

Si queremos hacer que todo el tráfico dirigido a una red pase por una puerta de enlace determinada, tendremos que añadir una ruta estática. Esto puede servirnos, por ejemplo, para interconectar dos redes locales a través de sus puertas de enlace predeterminadas.

Para realizar la configuración manual de una ruta estática se utiliza Red ‣ Rutas estáticas.

_images/Zentyal_static_route.png

Configuración de rutas

Estas rutas podrían ser sobreescritas si se utiliza el protocolo DHCP.

Configuración del balanceo con Zentyal

Como se ha comentado anteriormente, una misma máquina puede tener varias puertas de enlace predeterminadas, lo que conduce a una situación especial en la que hay que tener en cuenta nuevos parámetros en la configuración de un servidor Zentyal.

_images/01-gateways.png

Lista de puertas de enlace

Las reglas de encaminamiento para múltiples puertas de enlace, conocidas también como reglas multigateway permiten que una red pueda usar varias conexiones a Internet de una manera transparente. Esto es muy útil para organizaciones que requieran más ancho de banda que el que ofrece una única conexión ADSL o que no puedan permitirse interrupciones en su acceso a Internet, una situación cada vez más común.

El balanceo de tráfico reparte de manera equitativa las conexiones salientes hacia Internet, permitiendo utilizar la totalidad del ancho de banda disponible. La forma más simple de configuración es establecer diferentes pesos para cada puerta de enlace, de manera que si las conexiones de las que se dispone tienen diferentes capacidades podemos hacer un uso óptimo de ellas.

_images/02-gateway-rules.png

Balanceo de tráfico

Además, Zentyal se puede configurar para hacer que determinado tipo de tráfico se envíe siempre por un router específico en caso de ser necesario. Ejemplos comunes son enviar siempre el correo electrónico o todo el tráfico de una determinada subred por un determinado router.

Las reglas multigateway y el balanceo de tráfico se establecen en la sección Red ‣ Puertas de enlace, pestaña Balanceo de tráfico. En esta sección podemos añadir reglas para enviar ciertas conexiones a una determinada puerta de enlace dependiendo de la Interfaz de entrada, el Origen (puede ser una Dirección IP, un Objeto, el propio servidor Zentyal o Cualquiera), el Destino (una Dirección IP o un Objeto), el Servicio al que se quiere asociar esta regla y por cual de los Gateway queremos direccionar el tipo de tráfico especificado.

Configuración de la tolerancia a fallos con Zentyal

Si se está balanceando tráfico entre dos o más puertas de enlace, se recomienda habilitar la característica de tolerancia a fallos. Supóngase que se está balanceando el tráfico entre dos routers y uno de ellos sufre un fallo. Si no se ha activado esta característica, una parte del tráfico seguiría intentando salir por el router fuera de servicio, causando problemas de conectividad a los usuarios de la red.

En la configuración del failover se pueden definir conjuntos de pruebas para cada puerta de enlace que revisen si está operativa o si por el contrario está sufriendo algún problema y debe dejar de utilizarse como salida a Internet. Estas pruebas pueden ser un ping a la puerta de enlace, a una máquina externa, una resolución de DNS o una petición HTTP. También se puede definir cuántas pruebas se quieren realizar así como el porcentaje de aceptación exigido. Si cualquiera de las pruebas falla, no llegando al porcentaje de aceptación, la puerta de enlace asociada a ella será desactivada. Las pruebas se siguen ejecutando, así que cuando estas se ejecuten satisfactoriamente, la puerta de enlace volverá a ser activada de nuevo.

Deshabilitar una puerta de enlace sin conexión tiene como consecuencia que todo el tráfico salga por el resto de puertas de enlace que siguen habilitadas, se deshabilitan las reglas multigateway asociadas a esa puerta de enlace y también se consolidan las reglas de calidad de servicio. De esta forma, los usuarios de la red no deberían sufrir problemas con su conexión a Internet. Una vez que Zentyal detecta que la puerta de enlace caída está completamente operativa se restaura el comportamiento normal de balanceo de tráfico, reglas multigateway y calidad de servicio.

El failover está implementado como un evento de Zentyal. Para usarlo, primero se necesita tener el módulo Eventos habilitado, y posteriormente habilitar el evento WAN Failover.

_images/failover.png

WAN failover

Para configurar las opciones y pruebas del failover se debe acudir al menú Red ‣ Puertas de enlace, pestaña WAN failover. Se puede especificar el periodo del evento modificando el valor de la opción Tiempo entre revisiones. Para añadir una regla simplemente hay que pulsar la opción Añadir nueva y aparecerá un formulario con los siguientes campos:

Habilitado:
Indica si la regla va a ser aplicada o no durante la comprobación de conectividad de los routers. Se pueden añadir distintas reglas y habilitarlas o deshabilitarlas de acuerdo a las necesidades, sin tener que borrarlas y añadirlas de nuevo.
Gateway:
Se selecciona la puerta de enlace de la lista de previamente configuradas.
Tipo de prueba:

Puede tomar uno de los siguientes valores:

Ping a puerta de enlace:
Envía un paquete de control desde el servidor Zentyal a su puerta de enlace y espera una respuesta de esta, de este modo comprueba que existe conectividad entre ambas máquinas y que la puerta de enlace está activa. No comprueba que la puerta de enlace tenga conexión con Internet.
Ping a máquina:
Como en el tipo anterior, esta prueba envía un paquete de control y espera una respuesta, solo que esta vez se envía a una máquina externa a la red, por lo que ya no sólo se comprueba que se puede conectar con la puerta de enlace, si no que también se comprueba si esta tiene conexión con Internet.
Resolución DNS:
Intenta obtener la dirección IP para el nombre de máquina especificado, lo que requiere que, como en el caso anterior, exista conectividad entre el servidor y la puerta de enlace y de esta a Internet, pero además, que los servidores de DNS sigan siendo accesibles.
Petición HTTP:
Esta prueba sería la más completa, ya que intenta descargar el contenido del sitio web especificado, lo que requiere que todos los requisitos de las pruebas anteriores se satisfagan.
Máquina:
El servidor que se va a usar como objetivo en la prueba. No es aplicable en caso de Ping a puerta de enlace.
Número de pruebas:
Número de veces que se repite la prueba.
Ratio de éxito requerido:
Indica que proporción de intentos satisfactorios es necesaria para considerar correcta la prueba.

Con la configuración predeterminada, si alguna de estas reglas se activa, deshabilitando una puerta de enlace, el evento queda registrado solamente en el fichero de registro /var/log/zentyal/zentyal.log. Si deseamos recibir notificaciones por otras vías, podemos configurar un emisor de eventos para ello como se detalla en el capítulo Eventos y alertas o bien adquirir la Subscripción Profesional de Zentyal [3] que incluye el envío automático de alertas.

[3]http://store.zentyal.com/serversubscriptions/subscription-professional.html