Desde hace varios años, Ubiquiti Networks comercializa productos de red para entusiastas del homelab, prosumers y empresas dentro de su línea UniFi. Por sus precios accesibles y la cantidad de funcionalidades que ofrecen sus componentes, se ha vuelto la opción favorita de muchas pequeñas y medianas empresas para resolver sus necesidades de red.
Con la migración masiva a la nube, contar con una conexión directa y cifrada entre el datacenter on-premise (o la oficina) y la nube se volvió un caso de uso muy habitual.
Google Cloud Platform es la plataforma elegida por muchas pequeñas y medianas empresas para tener presencia en la nube, gracias a su bajo costo y al entorno repleto de funcionalidades que creó Google. Lamentablemente, cuando se usa un router como el UniFi Security Gateway o un equipo de la serie UniFi Dream Machine, hay muy poca documentación sobre cómo conectarlo directamente a GCP, en comparación con AWS o Azure.
A continuación encontrarás una guía paso a paso para configurar una VPN site-to-site entre una red basada en UniFi y GCP.
Requisitos previos
Antes de comenzar, hay tres requisitos que se deben cumplir.
- Del lado de la red on-premise, vas a necesitar un router UniFi como el UniFi Security Gateway (o USG), UniFi Security Gateway Pro (o USG3/USG4), UniFi Dream Machine (o UDM), o el UniFi Dream Machine Pro (o UDM Pro/UDMP). También vas a necesitar un controlador UniFi configurado y conectado a tu router. En el caso de los dos últimos productos, el controlador viene alojado dentro del propio dispositivo.
- También vas a necesitar una dirección IP estática para tu conexión. Si no tienes una, contacta a tu ISP, ya que normalmente pueden asignarte una por un costo bajo.
- Del lado de GCP, vas a necesitar un proyecto en el que tu usuario tenga al menos privilegios IAM de Network Management Admin.
Recopilación de información
Como en toda buena investigación, hay información que conviene tener a mano antes de empezar la implementación. Abre un editor de texto para anotar algunos valores que vas a necesitar más adelante.
El primer dato es muy fácil: tu dirección IP estática.
- La forma más sencilla es buscar en Google "my IP" desde una máquina conectada a la misma red, y aparecerá al inicio de los resultados. Si no estás en la misma red, consulta a tu administrador o ISP para obtenerla.
- Anótala en tu editor de texto y etiquétala como Dirección IP estática para más adelante.
El segundo dato que necesitas es el rango de direcciones IP de la subred de tu(s) red(es) on-premise que vas a conectar a GCP.
- Para esto, inicia sesión en tu controlador UniFi con una cuenta de administrador.
- Desde ahí, ve al menú Settings (el ícono de engranaje en la esquina inferior izquierda) y entra a la página Networks.
- Busca las redes que vas a conectar y toma nota de la información que aparece en la columna de subred.
Ten en cuenta que aquí puedes elegir más de 1 red. 4. Anótalo en tu editor de texto y etiquétalo como Subred On-Prem para después.
Aquí tienes un ejemplo en esta captura de pantalla. En la siguiente quiero conectar las redes Gaming y Home Devices a GCP, así que voy a guardar los siguientes rangos de IP en notación CIDR para más adelante: 10.4.4.0/24 y 10.2.2.0/24.

Captura de pantalla de la configuración de Networks dentro del controlador UniFi.
Deja esta página abierta en una pestaña, porque vamos a volver a ella más adelante.
El último dato que necesitas es el rango de direcciones IP de la subred de la región a la que vas a conectarte en GCP. Para esto conviene tener algo de contexto sobre qué hay en tu proyecto y en qué región corre.
Para obtenerlo, inicia sesión en la consola de GCP:
- Haz clic en el menú principal de navegación en la esquina superior izquierda (ícono de 3 barras) y ve a VPC network - > VPC networks.
- En la pantalla que aparece habrá una o más redes con una tabla de subredes en distintas regiones. Esto se ve diferente en cada proyecto según el diseño de la red, así que voy a asumir que estás usando el diseño predeterminado que ofrece GCP.
- Lo que buscas es la región donde residen tus recursos; la mayoría de las veces es us-central1, pero puede variar según el diseño de red e infraestructura.
- Una vez identificada la región correcta, toma nota del valor en la columna IP address ranges.
- Anótalo en tu editor de texto y etiquétalo como Rango de red GCP.
Deja la consola de GCP abierta en una pestaña, porque la vas a usar en los siguientes pasos del proceso.
Eso es todo lo necesario para arrancar. Ya es hora de meternos de lleno en la implementación.
Implementación
Configuración de GCP, parte I: configurar el VPN Gateway
Ahora vamos a configurar el servicio VPN de GCP.
- Abre la pestaña de la consola de GCP.
- Haz clic en el menú principal de navegación en la esquina superior izquierda.
- Desde ahí, navega a Networking -> Hybrid connectivity -> VPN.
- Haz clic en el botón Create VPN connection para iniciar el proceso.
- Por ahora, selecciona la opción Classic VPN.
Nota de compatibilidad: este modo es una VPN única y no ofrece redundancia en caso de que falle una conexión. La razón es que la VPN de alta disponibilidad requiere soporte para BGP, y al momento de escribir esto, los equipos de red UniFi no son compatibles con BGP. 6. Una vez en la pantalla de creación, en la sección superior del VPN gateway, ingresa un nombre y una descripción claros. 7. Luego, selecciona la red que quieras usar.
La mayoría de las veces será la red autogenerada predeterminada llamada default, pero si tienes un esquema personalizado, elige el correcto. 8. Haz lo mismo con la región. Por último, selecciona una dirección IP externa existente o crea una nueva.
Aquí tienes una captura que muestra un ejemplo de un VPN gateway correctamente configurado dentro de la consola de GCP.

Ejemplo de un VPN gateway configurado en la región us-central1.
Configuración de GCP, parte II: configurar el túnel VPN
La segunda sección de la página corresponde al túnel VPN propiamente dicho, que es el mecanismo que conecta GCP con tu red on-premise.
Desplázate hacia abajo hasta la segunda sección, llamada VPN tunnel.
Completa un nombre y una descripción claros.
En el campo Remote peer IP address, ingresa el o los valores de Subred On-Prem que tienes en tu editor de texto.
Asegúrate de que el campo IKE version tenga el valor IKEv2.
Luego, haz clic en el botón Generate and copy.
Coloca este valor en tu editor de texto, etiquetado como IKE Key.
Nota importante: no pierdas este valor, ya que una vez enviada esta página no volverá a estar accesible dentro de GCP.
Por último, haz clic en la pestaña Route-based en la última sección.
Dentro del cuadro Remote network IP ranges, ingresa el o los valores de Subred On-Prem que tomaste del controlador UniFi, asegurándote de presionar Enter después de cada uno para que queden como una "caja".
Verifica que tus valores se vean parecidos a los de la siguiente captura luego de seguir estos pasos.
Una vez verificado, presiona el botón Done en este panel y luego el botón Create al final de la página.

Ejemplo de configuración del túnel usando las dos redes on-premise mostradas en la captura anterior.
En este punto, el sistema te redirigirá a las páginas que muestran el estado de los VPN Gateways y los túneles. El aprovisionamiento de los servicios toma unos minutos.
Una vez que el servicio termine de aprovisionarse, quedan unos últimos pasos para finalizar la configuración de GCP.
- Cuando el túnel muestre First handshake con un signo de exclamación amarillo al lado, ya estás listo para continuar.
- En la columna Cloud VPN gateway aparecerá una dirección IP.
- Anótala en tu editor de texto, etiquetada como Cloud VPN IP.
- Antes de continuar, deja la consola de GCP abierta en esta pestaña, porque vas a volver a esta página después de configurar el dispositivo UniFi.
Configuración de UniFi
Ya con el lado de GCP configurado y con un túnel VPN activo y un gateway esperando la conexión, vamos a configurar el dispositivo UniFi para completar el lado on-premise.
- Vuelve a abrir la pestaña del controlador UniFi.
- Haz clic en la opción Site en la barra de navegación principal de la izquierda.
- En la página Site, dentro de Services, hay una casilla llamada Enable advanced features que debe estar marcada.
- Si no lo está, márcala y presiona Apply al final de la página. Aparecerá una advertencia que puedes ignorar por ahora.
- Ahora haz clic en la página Networks para volver al listado de redes. Presiona el botón Create New Network al final de la página.
- Hay algunas opciones que se deben configurar en esta página. Primero las voy a listar y luego explico qué va en cada campo.
- En Purpose, selecciona Site-to-Site VPN. En VPN Type, selecciona Manual IPSec. Expande Advanced Options y cambia Key Exchange Version a IKEv2.
- Deja todo lo demás con los valores predeterminados por ahora.
- Primero, ingresa un nombre para la red.
- Presiona el botón Add Subnet y, en el campo que aparece, ingresa el valor Rango de red GCP de tu editor de texto.
- Coloca el valor de Cloud VPN IP de tu editor de texto en el campo Peer IP.
- En Local WAN IP, ingresa la Dirección IP estática de tu editor de texto.
- Por último, en esta página pega la IKE Key de tu editor de texto. Antes de guardar, verifica que tu página se vea como la captura de abajo, pero con tus valores ingresados.

Tu página debería verse igual a esta, pero con valores de IP distintos.
Por último, en el controlador UniFi se debe crear una ruta estática para que el tráfico pueda enrutarse a través de esta conexión VPN.
- Selecciona la página Routing & Firewall en el panel principal de navegación.
- Haz clic en el botón Create New Route.
- Ingresa un nombre para esta ruta.
- Ingresa el valor Rango de red GCP de tu editor de texto en el campo Destination Network y configura distance en 1.
- En Static Route Type, selecciona Interface y, en el campo Interface, selecciona el nombre de la red creada anteriormente.
- Presiona Save y ya estás listo para probarlo.
Si marcaste Enable advanced features antes y no quieres mantener este modo activo, sigue estos pasos para deshabilitarlo.
- Haz clic en la opción Site en la barra de navegación principal de la izquierda.
- En Services, desmarca la casilla Enable advanced features.
- Haz clic en Apply al final de la página y se deshabilitará nuevamente.
Verificación de la conexión
A esta altura la conexión VPN ya debería estar lista y conectada. Sigue estos pasos para verificar que esté establecida como corresponde.
- Vuelve a la pestaña de la consola de GCP.
- Si cambiaste de página en esa pestaña, desde el menú principal de navegación ve a Networking -> Hybrid connectivity -> VPN.
- Haz clic en la pestaña Cloud VPN Tunnels.
- En la columna VPN tunnel status de la tabla debería aparecer una casilla verde junto al mensaje Established.
Ten en cuenta que la conexión puede tardar unos minutos, así que puedes usar el botón Refresh en la parte superior para actualizar los datos hasta que aparezca. 5. Si todo se ve bien, la VPN está conectada entre GCP y tu dispositivo UniFi on-premise.
Ya verificamos que la VPN está conectada, pero para asegurarnos de que la conexión funciona correctamente, conviene hacer una prueba simple.
**Probar la conexión**
- Asegúrate de tener abierta la página de la consola de GCP.
- En el menú principal de navegación, ve a Compute Engine -> VM Instances.
- Si no has creado ninguna instancia de Compute Engine, o no tienes ninguna en la región donde se encuentra tu VPN, sigue esta excelente guía del canal de YouTube de GCP para crear una instancia temporal de prueba; verifica que la región donde la crees sea la correcta: https://www.youtube.com/watch?v=1XH0gLlGDdk
- En tu lista de instancias de Compute Engine, busca una que esté ubicada en la región donde creaste la VPN. Por defecto será us-central1.
- En esa instancia, ubica el valor que aparece en la columna Internal IP.
- Abre una ventana de terminal.
- Ejecuta el siguiente comando, reemplazando con la IP interna del paso anterior:
ping <internal IP>
El comando debería empezar a mostrar líneas indicando los bytes recibidos desde esa dirección IP y el tiempo de latencia. Si ves esa salida, tu VPN está conectada y todo está listo. Felicidades por lograrlo, no es uno de los procesos más fáciles.
Si tienes problemas, sigue la siguiente sección para ver algunos consejos de troubleshooting.
Troubleshooting
Si tienes inconvenientes, aquí van algunos consejos de troubleshooting que descubrí mientras escribía esto:
Los logs de Stackdriver son tus aliados. Muchas veces aparecen errores en los logs del VPN Gateway o del túnel VPN que dan pistas sobre qué está provocando que falle la conexión.
Te recomiendo revisar la ruta estática en tu controlador UniFi para confirmar que los valores sean correctos.
A veces, tu máquina local puede tener cacheadas las tablas de enrutamiento ICMP. En mi caso, reiniciar lo solucionó.
Revisa las reglas de firewall dentro de GCP y del controlador UniFi para asegurarte de que la comunicación entre nodos internos no esté bloqueada. Recuerda que, sobre la VPN, la comunicación se realiza con IPs privadas hacia GCP.
El controlador UniFi es simplemente una máquina Linux a la que se puede acceder por ssh y ejecutar cualquier comando básico. En el controlador, en la página General, hay una opción para activarlo y desactivarlo, y también para configurar credenciales. Desde el controlador, deberías poder hacer ping o traceroute a las IPs internas de GCP.
Asegúrate de que tu IP estática esté correctamente configurada y asignada en el router.
Asegúrate de usar siempre las IPs internas de GCP para las pruebas, no las externas, ya que las externas no enrutan el tráfico a través del túnel VPN.