Hola a todos. Hoy vamos a ver como implementar una vpn net to net (o site to site) con pFsense. Ya os hablé de pFsense en entradas anteriores como esta o esta así que me voy a saltar la parte de la instalación y vamos directo a montar nuestra VPN.

Para implementar la net to net usaremos el protocolo IPsec y ya veréis que no tiene mucha dificultad aunque como siempre, los ajustes son otra cosa.

IPsec

IPsec es el protocolo mas popular de VPN, es muy robusto y desempeña bien a nivel de red. Este protocolo funciona combinando la cabecera de autentificación (AH) y la capa de seguridad encapsulada (ESP). AH incorpora una firma digital en cada paquete que verifica que solo el destinatario de los datos los reciba. Por otro lado ESP controla el cifrado de la información dentro del paquete.

IPsec es el protocolo mas popular de VPN, es muy robusto y desempeña bien a nivel de red. Este protocolo funciona combinando la cabecera de autentificación (AH) y la capa de seguridad encapsulada (ESP).

AH incorpora una firma digital en cada paquete que verifica que solo el destinatario de los datos los reciba. Por otro lado ESP controla el cifrado de la información dentro del paquete.

IPsec tiene dos modos, modo túnel (el modo por defecto) y modo de transporte, que se utiliza para conexiones de extremo a extremo. Este último se puede usar para sesiones de escritorio remoto por ejemplo.

Cuando se opera en una VPN, IPsec se puede combinar con dos protocolos, IKEv2 y con L2TP. Para hoy usaremos el IKEv2.

Esquema de la red

Os dejo aquí un esquema de la instalación de la red, nada muy complicado para vosotr@s.

Notas sobre la instalación:

  • La instalación la haré como siempre con Virtualbox.
  • Para la instalación he instalado un tercer router (Ipfire) entre los dos pFsense para que la cosa funcione. Este router no aparece en el esquema pero la ip de su interfaz LAN es 172.16.20.1, y esta es la puerta de enlace de los otros dos. Si implementamos todo en una red real, la ip de las WAN serían la ips externas de las dos redes a conectar con la VPN.
  • He nombrado las redes LAN como red Oficina Teruel (192.168.10.0/24) y red Oficina Huesca (192.168.1.0/24) como en esta entrada de mi otro blog (enlace). En la red Teruel conectaré un máquina con Windows7 y en la red Huesca una máquina con Linux Mint. Ambas redes las implementaré con DHCP.

Empezamos

Empezaremos con el router de la red Oficina Teruel. Antes de nada debemos empezar el asistente de configuración (setup wizard) porque debemos desmarcar esta casilla que os muestro en la imagen inferior.

Ahora ya podemos hacer clic en el menú VPN >> Ipsec y añadimos un servidor VPN. El interfaz divide la configuración en dos partes T1 o Phase 1 y T2 o Phase 2.

Empezamos con la Phase 1:

  • (1) Elegimos la “Key Exchange version” como dije antes usaremos IKEv2.
  • (2) Seleccionamos el protocolo de IP Ipv4.
  • (3)Elegimos interfaz, por supuesto el WAN para este caso.
  • (4) En Remote Gateway, la IP del interfaz WAN del otro lado del túnel. También podemos elegir los puertos pero mejor lo dejamos por default.
  • (5) La descripción para distinguirlo de los otros túneles, en caso de tenerlos.
  • (6) En la parte Authentication podemos configurar la autentificación. Para este caso lo dejaremos todo por default pero tenemos que asignar una clave precompartida (Pre-Shared Key), para este ejemplo usaré el generador de claves que nos suministra pFsense; podríamos usar igualmente una clave nuestra, pero ya sabéis tiene que ser una clave fuerte o ponemos en peligro la seguridad de la VPN. Esta clave la usaremos en el router del otro lado del túnel VPN. Y por supuesto si modificamos el resto de la configuración, en el otro lado debemos aplicar la misma.
  • (7) El resto de la configuración lo podemos dejar como esta, solo remarcaros en Expiration and Replacement que si modificamos el Life time y el Rekey time, el primero debe ser mayor que el segundo.

El final de la configuración también lo dejamos por default, solo señalaros dos opciones:

  • (8) Childs SA Close Action. En ocasiones podemos experimentar ciertos cortes en la conexión en algunos de los pares, aquí podemos seleccionar: Cerrar todo y reconectar, o cerrar la conexión y volver a abrirla bajo demanda; está última nos puede ahorrar ancho de banda en algunas situaciones.
  • (9) En Nat Trasversal podemos seleccionar Force, si tenemos algún firewall que nos de problemas. Esta opción habilita la encapsulación de ESP en paquetes UDP.

Al terminar que no se nos olvide hacer clic en “Save”.

Ahora vamos con la Phase 2. Hacemos clic en el botón verde justo debajo:

Y accedemos a la configuración:

  • (1) Elegimos el modo, que como ya os dije al inicio, seleccionaremos Tunnel IPv4.
  • (2) En Local Network, elegimos cual de las redes locales vamos a unir con la VPN, como en esta instalación solo tenemos una LAN, así que seleccionamos LAN subnet en el desplegable. Si tenemos mas de una LAN, pues obramos en consecuencia.
  • (3) En Remote Network, tenemos que decir que red local del otro lado queremos conectar con el túnel VPN.
  • (4) Le ponemos un nombre a esta fase. No se si era necesario añadir este campo en este punto, pero bueno, es opcional.

Para el resto de la configuración lo único que podríamos cambiar para este ejemplo es cambiar el AES de 128 bits por 256, mas seguro. Y como en la etapa anterior, el Life Time tiene que ser superior al Rekey Time. Al final que no se nos olvide hacer clic en “Save” y luego en “Apply changes”.

Al final debería verse algo como esto:

Ahora pasamos a configurar el router de la Oficina Huesca (ver esquema), la configuración sería la misma pero cambiando los datos asi:

  • Remote Gateway, la dirección del interfaz WAN de la otra red -> 172.16.20.200
  • Remote Network, la dirección de red de la Lan contraria -> 192.168.10.1
  • Que no se nos olvide la clave precompartida(Pre-Shared Key) , tiene que ser la misma en los dos router.

Al final nos debería quedar algo como esto:

Ya casi terminamos, ahora tenemos que autorizar esta conexión en los Firewall. Es muy fácil.

Vamos al menú Firewall de pFsense y hacemos clic en la pestaña IPsec, después clicamos para añadir una regla.

El menú de configuración de pFsense es como el de cualquier Firewall, aun así lo veremos:

  • (1) Seleccionamos Pass en el desplegable.
  • (2) En interfaces nos sale por defecto IPsec. Lo dejamos así.
  • (3) En protocolos seleccionamos IPv4 y Any pero si vais a usar la VPN en algún otro caso deberíais solo aceptar el trafico de los protocolos que vayáis a usar para mas seguridad; en cuyo caso deberéis crear varias reglas, una para cada protocolo.
  • (4) En Source (origen) introducimos la dirección de red de la red local remota que queremos conectar.
  • (5) En destino, podemos poner elegir LAN Subnet o usar la dirección de red indistintamente.
  • (6) En esta opción podemos guardar los logs de los packetes que cumplen esta regla, es opcional y además consume espacio de almacenamiento de la máquina donde instalemos pFsense. Por otro lado guardar estos paquetes nos permite analizar el tráfico de la VPN justo antes de que pase el Firewall.

Al terminar hacemos clic en “Save” y guardamos la regla; debería verse algo como esto:

Ya podemos probar nuestra conexión VPN haciendo ping desde una red a otra, voy a probar haciendo ping desde la máquina Linux Mint a la máquina con Windows 7 -> 192.168.10.10

Como veis la máquina responde

Y con esto terminamos por hoy, como veis no tiene mucha dificultad y pFsense es una excelente solución de software.

Compartir / Share

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *