PFSENSE En Alta disponibilidad (HA – CARP)

En este post revisaremos la configuración de PFSENSE en modo CARP o también conocido como alta disponibilidad o HA en Ingles.

¿Qué es CARP?

CARP es el Protocolo de Redundancia de Dirección común (Common Address Redundancy Protocol). Su objetivo principal es permitir que múltiples hosts en el mismo segmento de red compartan una dirección IP. CARP es una alternativa libre y seguro para el Protocolo de redundancia de enrutador virtual (VRRP) y el Router Protocol Hot Standby (HSRP).

CARP funciona permitiendo a un grupo de hosts en el mismo segmento de red compartir una dirección IP. Este grupo de hosts se conoce como un «grupo de redundancia». El grupo de redundancia se asigna a una dirección IP que se comparte entre los miembros del grupo. Dentro del grupo, un host se denomina el «maestro» y el resto como «copias de seguridad». El host maestro es el que actualmente «segura» el IP compartido; responde a cualquier tráfico o solicitudes ARP dirigidas a él. Cada host puede pertenecer a más de un grupo de redundancia a la vez.

Un uso común para el CARP es crear un grupo de firewalls redundantes. El IP virtual que se asigna al grupo de redundancia se configura en los equipos cliente como la puerta de enlace predeterminada. Si el firewall sufre un fallo o se apaga, el IP se moverá a uno de los firewalls de copia de seguridad y el servicio continuará sin verse afectado.

CARP soporta IPv4 e IPv6.

Comenzemos...

Tpología que usara

En este caso usaremos una topología física (o virtual) de dos equipos PFSENSE y usaremos las IP virtuales como Gateway, porque si cae uno de los equipos el otro podrá soportar la infraestructura y podrá salir por el mismo Gateway sin interrumpir por mucho tiempo la red.

La topología es la siguiente:

Antes de realizar la configuración seria bueno tener claro como se va a implementar la solución, además de tener un checklist con todo listo para evitar perder tiempo y darse vueltas. Yo uso este método, espero les sirva.

Requisitos

  • 2 equipos Conectados y configurados básicamente.
  • 3 direcciones IP libres (una para ip virtual) y las otras dos para cada PFSESNE, que sean del segmento WAN o público.
  • 3 direcciones IP libres del Segmento LAN (una para ip virtual) y las otras dos para cada PFSESNE
  • 2 IP para el segmento PFSync (yo use una mascara 30 para tener los dos hosts)

Servidores PFSESNE

IP VIRTUAL WAN 192.168.0.7
IP VIRTUAL LAN 172.16.100.1

Configuracion de HA
Regla en interfaz de Sincronizacón

Comenzamos ya directamente a la parte entretenida, lo primero que debemos hacer crear una regla en la interfaz que usaremos para sincronizar los PFSESNE, en mi caso la llame PFSYNC (que original ¡¡¡) y la cual deje con un red 10.20.30.0/30 (solo IP para ambos HOST), esa regla será ANY para todo, podríamos hacerla más restrictiva para mejor la seguridad, pero para este laboratorio esta perfecto.

La regla es la Siguiente (en ambos PFSESNE)

Una vez creada las reglas podemos probar con un ping si esta todo correcto.

Ahora iremos a Firewall > IP Viruales  (en ambos PFSESNE), ahí crearemos las IP virtuales que usaremos, en este caso la wan y lan (estas serán nuestros Gateway por donde saldrán nuestros equipos.

Creación de IP Virtuales

He marcado en rojo los cambios que debemos hacer, ojo con el parámetro CARP, este es muy importante.

Con estos pasos ya tenemos configuradas las IP virtuales, si tienen mas interfaces que desean tener en HA como puede ser DMZ  o WIFI, por poner un ejemplo, también las debemos crear de la misma forma.

Habilitación de Sincronización entre ambos PFSESNE

Para seguir con la configuración debemos dirigirnos solo en el Servidor MASTER a: System > High Avail. Sync

Acá debemos Seleccionar los siguientes parámetros.

Realizar estos pasos en PFSESNE01.

State Synchronization Setting (pfsync)

  • Synchronize states: Para habilitar la sincronización desde el master al esclavo)
  • Synchronize Interface: La interfaz que usaremos para sincronizar, en este caso PFSYNC que creamos anteriormente.
  • pfsync Synchronize Peer IP: Será la IP del PFSESNE Esclavo, para poder pasarle la configuración, en este caso es 10.20.30.2, si no se especifica este será buscado por Multicast.

Configuración Synchronization Settings (XMLRCP Sync)

  • Synchronize Config to IP: Lo mismo de lo anterior la IP del PFSENSE esclavo, acá enviara el archivo XML que tienen las configuraciones.
  • Remote System Username: Este será el usuario (con permisos de super usuario) con el que debemos realizar la sincronización, podemos crear un usuario especial (en ambos PFSESNE) o usar el usuario “admin”, debe tener ambos hosts la misma contraseña, siempre por temas de seguridad es mejor crear un usuario, pero para el ejemplo usaremos el usuario “admin”.
  • Remote System Password: Obvio, El password del usuario admin ¡¡¡.
  • Select options to sync: Acá, debemos marcar los servicios que queremos que se sincronicen, acá es más a gusto del cliente. Debe marcar los servicios que usted estime conveniente, yo los marcare todos ya que iré creando servicios y quiero que estén en HA.

En el Segundo hosts PFSESNE, solo pondremos:

  • Synchronize Config to IP
  • Synchronize Interface
  • Remote System Username
  • Remote System Password

Y listo ya debería estas Sincronizando la configuración de un host al otro.

Verificar CARP

Para saber si está corriendo correctamente el servicio, podemos ir a Status > CARP

Ahí debería aparecer que host está en Master y esclavo.

Con esto ya podremos tener mas Fiabiliadad en nuestra infraestructura, cabe mencionar que es bueno que se pruebe el CARP desconectando uno de os equipos y ver como se comporta.

5/5

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: