Pla de control de prialo autoallotjat: els tres ports
El pla de control autoallotjat de prialo funciona com a tres contenidors de Docker Compose en un VPS Linux i publica tres ports: UDP 3478 per a STUN, TCP 50051 per a gRPC i TCP 4430 per al relay. Amb 2 vCPU i 2 GB de RAM n'hi ha prou per a centenars de nodes. Cal copiar la base de dades PostgreSQL i les claus del servidor.
Els tres ports que publica un pla de control de prialo autoallotjat
El servidor de coordinació escolta a TCP 50051 per a gRPC i a UDP 3478 per a STUN, i el relay escolta a TCP 4430. Són els únics ports que el tallafoc del VPS ha de publicar. Els dispositius de la malla no obren res: no es redirigeix cap port al router de l'oficina ni al de casa.
| Port | Servei | Qui s'hi connecta | Publicat a Internet |
|---|---|---|---|
| UDP 3478 | STUN del servidor de coordinació | Tots els nodes, per negociar el camí directe | Sí |
| TCP 50051 | gRPC amb TLS fixat per empremta SPKI | Tots els nodes, per al trànsit de control | Sí |
| TCP 4430 | Relay que reenvia paquets que no pot desxifrar | Nodes amb el camí directe fallit | Sí |
| TCP 8080 | API d'administració i tauler | Només l'administrador, per un túnel SSH | No, mai |
L'API d'administració del port 8080 no es publica mai a Internet. Per entrar al tauler s'obre un túnel SSH cap al VPS i es fa servir el port local reenviat. Qui escanegi el servidor només hi veurà gRPC darrere de TLS, STUN i un relay que reenvia paquets xifrats d'extrem a extrem.
Per què el gRPC de prialo al port 50051 fa servir una clau fixada i no una autoritat de certificació
Cada node s'instal·la amb l'empremta SPKI de la clau TLS del servidor, escrita com a sha256:..., i rebutja qualsevol servidor que no presenti exactament aquesta clau. Cap autoritat de certificació forma part del model de confiança, de manera que el servidor no necessita un certificat públic. La conseqüència operativa és clara: qui perd aquesta clau perd la identitat en què confien tots els nodes.
Dimensionament del VPS per al pla de control de prialo: 2 vCPU i 2 GB de RAM
Amb 2 vCPU i 2 GB de RAM n'hi ha prou per a centenars de nodes. El paquet aixeca tres contenidors amb Docker Compose (servidor de coordinació, relay i PostgreSQL) a Linux x86_64 o arm64, amb Docker Engine 24 o posterior i Compose v2, així que una instància ARM petita serveix igual que una x86.
La CPU del relay gairebé mai no limita: reenviar una trama costa uns 23 ns i aquest cost no depèn de quants clients hi hagi connectats. El que cal vigilar és l'amplada de banda. El trànsit només passa pel relay quan falla el camí directe, normalment per CGNAT de l'operador, NAT simètric o una altra VPN al davant; la guia de CGNAT en seus pas a pas tracta aquests casos.
Una sessió SSH pel relay consumeix força menys d'1 MB per hora; un escriptori remot o compartir pantalla, entre 0,5 i 1 GB per hora. Per controlar la transferència del VPS, PRIALO_MESH_QUOTA_BYTES limita la sortida pel relay de cada malla al mes. Passat el límit, el relay descarta i compta les trames d'aquella malla sense desconnectar ningú.
Les dues coses que cal copiar d'un servidor prialo autoallotjat
El client conserva les claus i la base de dades al seu propi servidor, i aquestes són les dues coses que necessiten una còpia fora del VPS.
- La base de dades PostgreSQL: desa els noms dels dispositius, les seves adreces fixes dins de 100.64.0.0/10, les polítiques, les claus d'alta, les aprovacions i el registre d'auditoria de cada acció administrativa. Sense ella, la malla es refà a mà.
- Les claus del servidor: sobretot la clau TLS l'empremta de la qual han fixat tots els nodes. Restaurada en un VPS nou, els nodes tornen a connectar; perduda, tots rebutgen el substitut i cal donar-los d'alta de nou amb un --tls-pin nou.
Les claus privades dels dispositius no són en aquesta llista: cada dispositiu té el seu propi parell de claus WireGuard i no hi ha usuari ni contrasenya al camí de dades. Sinergia no allotja ni accedeix a aquesta instància, de manera que no hi ha cap altra còpia d'on recuperar res; la còpia de seguretat és feina de l'operador.
Alta del primer node Linux o macOS en un servidor prialo autoallotjat
- Crear una clau d'alta al tauler, al qual s'arriba pel túnel SSH; les claus caduquen, poden ser d'un sol ús o reutilitzables i es poden revocar.
- Executar la instal·lació com a root al node, indicant servidor, relay i empremta fixada:
sudo PRIALO_AUTH_KEY='<enrolment key>' prialo install --server=control.example.com:50051 --relay=control.example.com:4430 --tls-pin=sha256:<fingerprint>
Després, prialo status ha de mostrar 'Control: tls, pinned' i una IP dins de 100.64.0.0/10. prialo peers llista els altres dispositius i prialo ping <host-or-ip> prova un camí. Si el node ha de donar accés a una LAN, l'anuncia amb prialo up --advertise-routes=192.168.50.0/24; no s'encamina res fins que un administrador l'aprova i cada client l'accepta amb --accept-routes.
Què pot executar avui el paquet autoallotjat de prialo i què encara no
A 17 d'octubre de 2026 funcionen el paquet autoallotjat i el client de terminal per a Linux i macOS; Windows és una versió primerenca sense instal·lador ni signatura. Les apps de Mac i iPhone són a la cua de revisió d'Apple i encara no es poden baixar, i Android està en preparació. Només Linux pot fer de router de subxarxa.
Si un equip ja fa servir els clients de Tailscale i vol el seu propi servidor de coordinació, Headscale, una implementació de codi obert d'aquest servidor, li pot encaixar millor; NetBird també publica el seu servidor de gestió com a codi obert. La taula comparativa d'alternatives a Tailscale posa les arquitectures una al costat de l'altra. prialo el fa Sinergia, empresa de Barcelona, i el paquet és a la baixada del servidor autoallotjat amb les sumes de verificació.
Preguntes freqüents
Quins ports necessita oberts un servidor prialo autoallotjat?
Un servidor prialo autoallotjat publica UDP 3478 per a STUN, TCP 50051 per a gRPC amb clau TLS fixada i TCP 4430 per al relay. L'API d'administració del port 8080 queda tancada a Internet i el tauler s'obre per un túnel SSH. Els dispositius no obren cap port.
Quin VPS necessita el pla de control de prialo?
El pla de control de prialo funciona amb 2 vCPU i 2 GB de RAM per a centenars de nodes, a Linux x86_64 o arm64 amb Docker Engine 24 o posterior i Compose v2. Pesa més l'amplada de banda del relay que la CPU, i PRIALO_MESH_QUOTA_BYTES la limita per malla i mes.
Què passa si es perd la clau TLS del servidor prialo?
Si es perd la clau TLS d'un servidor prialo autoallotjat, els nodes rebutgen qualsevol servidor substitut, perquè cadascun va fixar l'empremta SPKI d'aquella clau i cap autoritat de certificació en pot avalar una altra. Caldria donar d'alta cada node de nou; per això aquesta clau es copia.
Pot Sinergia recuperar una instància de prialo autoallotjada?
No. Amb el paquet autoallotjat, el client conserva les claus i la base de dades PostgreSQL al seu propi servidor, i Sinergia no allotja ni accedeix a aquesta instància. Recuperar un servidor prialo malmès depèn del tot de les còpies que l'operador hagi fet de la base de dades i les claus.
Prefereixes el teu propi servidor? Guia del paquet autoallotjat de prialo