Plano de control de prialo autohospedado: los tres puertos

El plano de control autohospedado de prialo funciona como tres contenedores de Docker Compose en un VPS Linux y publica tres puertos: UDP 3478 para STUN, TCP 50051 para gRPC y TCP 4430 para el relay. Con 2 vCPU y 2 GB de RAM basta para cientos de nodos. Hay que copiar la base de datos PostgreSQL y las claves del servidor.

Los tres puertos que publica un plano de control de prialo autohospedado

El servidor de coordinación escucha en TCP 50051 para gRPC y en UDP 3478 para STUN, y el relay escucha en TCP 4430. Son los únicos puertos que el cortafuegos del VPS tiene que publicar. Los dispositivos de la malla no abren nada: no se redirige ningún puerto en el router de la oficina ni en el de casa.

PuertoServicioQuién se conectaPublicado en Internet
UDP 3478STUN del servidor de coordinaciónTodos los nodos, para negociar el camino directoSí
TCP 50051gRPC con TLS fijado por huella SPKITodos los nodos, para el tráfico de controlSí
TCP 4430Relay que reenvía paquetes que no puede descifrarNodos cuyo camino directo fallaSí
TCP 8080API de administración y panelSolo el administrador, por un túnel SSHNo, nunca

La API de administración del puerto 8080 no se publica nunca en Internet. Para entrar en el panel se abre un túnel SSH hacia el VPS y se usa el puerto local reenviado. Quien escanee el servidor solo verá gRPC detrás de TLS, STUN y un relay que reenvía paquetes cifrados de extremo a extremo.

Por qué el gRPC de prialo en el puerto 50051 usa una clave fijada y no una autoridad de certificación

Cada nodo se instala con la huella SPKI de la clave TLS del servidor, escrita como sha256:..., y rechaza cualquier servidor que no presente exactamente esa clave. Ninguna autoridad de certificación forma parte del modelo de confianza, así que el servidor no necesita un certificado público. La consecuencia operativa es clara: quien pierde esa clave pierde la identidad en la que confían todos los nodos.

Dimensionado del VPS para el plano de control de prialo: 2 vCPU y 2 GB de RAM

Con 2 vCPU y 2 GB de RAM basta para cientos de nodos. El paquete levanta tres contenedores con Docker Compose (servidor de coordinación, relay y PostgreSQL) en Linux x86_64 o arm64, con Docker Engine 24 o posterior y Compose v2, de modo que una instancia ARM pequeña sirve igual que una x86.

La CPU del relay casi nunca limita: reenviar una trama cuesta unos 23 ns y ese coste no depende de cuántos clientes haya conectados. Lo que conviene vigilar es el ancho de banda. El tráfico solo pasa por el relay cuando falla el camino directo, normalmente por CGNAT del operador, NAT simétrico u otra VPN delante; la guía de CGNAT en sedes paso a paso cubre esos casos.

Una sesión SSH por el relay consume bastante menos de 1 MB por hora; un escritorio remoto o compartir pantalla, entre 0,5 y 1 GB por hora. Para controlar la transferencia del VPS, PRIALO_MESH_QUOTA_BYTES limita la salida por relay de cada malla al mes. Superado el límite, el relay descarta y cuenta las tramas de esa malla sin desconectar a nadie.

Las dos cosas que hay que copiar de un servidor prialo autohospedado

El cliente conserva las claves y la base de datos en su propio servidor, y esas son las dos cosas que necesitan una copia fuera del VPS.

Las claves privadas de los dispositivos no están en esa lista: cada dispositivo tiene su propio par de claves WireGuard y no hay usuario ni contraseña en el camino de datos. Sinergia no aloja ni accede a esa instancia, así que no existe otra copia de la que recuperar nada; la copia de seguridad es tarea del operador.

Alta del primer nodo Linux o macOS en un servidor prialo autohospedado

sudo PRIALO_AUTH_KEY='<enrolment key>' prialo install --server=control.example.com:50051 --relay=control.example.com:4430 --tls-pin=sha256:<fingerprint>

Después, prialo status debe mostrar 'Control: tls, pinned' y una IP dentro de 100.64.0.0/10. prialo peers lista los demás dispositivos y prialo ping <host-or-ip> prueba un camino. Si el nodo debe dar acceso a una LAN, la anuncia con prialo up --advertise-routes=192.168.50.0/24; no se enruta nada hasta que un administrador la aprueba y cada cliente la acepta con --accept-routes.

Qué puede ejecutar hoy el paquete autohospedado de prialo y qué todavía no

A 17 de octubre de 2026 funcionan el paquete autohospedado y el cliente de terminal para Linux y macOS; Windows es una versión temprana sin instalador ni firma. Las apps de Mac e iPhone están en la cola de revisión de Apple y aún no se pueden descargar, y Android está en preparación. Solo Linux puede hacer de router de subred.

Si un equipo ya usa los clientes de Tailscale y quiere su propio servidor de coordinación, Headscale, una implementación de código abierto de ese servidor, puede encajarle mejor; NetBird también publica su servidor de gestión como código abierto. La tabla comparativa de alternativas a Tailscale pone las arquitecturas lado a lado. prialo lo hace Sinergia, empresa de Barcelona, y el paquete está en la descarga del servidor autohospedado con sus sumas de verificación.

Preguntas frecuentes

¿Qué puertos necesita abiertos un servidor prialo autohospedado?

Un servidor prialo autohospedado publica UDP 3478 para STUN, TCP 50051 para gRPC con clave TLS fijada y TCP 4430 para el relay. La API de administración del puerto 8080 queda cerrada a Internet y el panel se abre por un túnel SSH. Los dispositivos no abren ningún puerto.

¿Qué VPS necesita el plano de control de prialo?

El plano de control de prialo funciona con 2 vCPU y 2 GB de RAM para cientos de nodos, en Linux x86_64 o arm64 con Docker Engine 24 o posterior y Compose v2. Pesa más el ancho de banda del relay que la CPU, y PRIALO_MESH_QUOTA_BYTES lo limita por malla y mes.

¿Qué pasa si se pierde la clave TLS del servidor prialo?

Si se pierde la clave TLS de un servidor prialo autohospedado, los nodos rechazan cualquier servidor sustituto, porque cada uno fijó la huella SPKI de esa clave y ninguna autoridad de certificación puede avalar otra. Habría que dar de alta cada nodo de nuevo, por eso esa clave se copia.

¿Puede Sinergia recuperar una instancia de prialo autohospedada?

No. Con el paquete autohospedado, el cliente conserva las claves y la base de datos PostgreSQL en su propio servidor, y Sinergia no aloja ni accede a esa instancia. Recuperar un servidor prialo dañado depende por completo de las copias que el operador haya hecho de la base de datos y las claves.

¿Prefieres tu propio servidor? Guía del paquete autoalojado de prialo

← Todas las noticias