MiVPN MiVPN.
Volver a Descargas

MiVPN Server para Linux sin pantalla

Ubuntu Server, Debian, Raspberry Pi y Orange Pi · amd64, arm64 y armhf · v3.0.2-5

Convierte un equipo que se queda encendido en casa —un VPS, un Ubuntu Server, una Raspberry Pi o una Orange Pi— en tu servidor VPN. No necesita pantalla: se instala y se maneja desde el terminal, también por SSH, con el comando mivpn.

Antes de empezar

SistemaUbuntu 22.04 o posterior, Debian 12 o posterior, Raspberry Pi OS 12 (Bookworm), o Ubuntu/Debian en Orange Pi.
Arquitecturaamd64 (PC y servidores Intel/AMD), arm64 (Raspberry Pi y Orange Pi de 64 bits) o armhf (Raspberry Pi de 32 bits).
AccesoUn terminal, en el propio equipo o por SSH, con un usuario que pueda usar sudo.
CuentaTu cuenta de mivpn.net con un servidor MiVPN.
ConexiónUn router con UPnP, o un plan con relay si tu conexión no admite entradas (CGNAT, fibra compartida, red móvil).
¿El equipo tiene escritorio? Te resultará más cómoda la app con ventana. MiVPN Server para Linux con escritorio

1 Instalar

Desde el repositorio de MiVPN (recomendado)

La primera línea añade la clave con la que firmamos los paquetes, la segunda el repositorio y las dos últimas instalan MiVPN Server. Solo se hace una vez: después, las actualizaciones llegan con las del resto del sistema.

curl -fsSL https://mivpn.net/apt/mivpn.gpg | sudo tee /usr/share/keyrings/mivpn.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/mivpn.gpg] https://mivpn.net/apt stable main" | sudo tee /etc/apt/sources.list.d/mivpn.list
sudo apt update
sudo apt install mivpn-server

O con el paquete .deb

Descarga el paquete de tu arquitectura:

amd64PC, servidores y VPS Intel/AMD arm64Raspberry Pi y Orange Pi con sistema de 64 bits armhfRaspberry Pi con sistema de 32 bits

¿No sabes tu arquitectura? Ejecuta dpkg --print-architecture

E instálalo desde la carpeta donde lo hayas descargado:

sudo apt install ./mivpn-server_*.deb
Instalado así no recibirás actualizaciones automáticas: tendrás que descargar e instalar cada versión nueva.

2 Vincúlalo con tu cuenta

Escribe el correo de tu cuenta de mivpn.net; te pedirá la contraseña. La contraseña solo sirve para entrar esta vez: no se guarda en el equipo.

sudo mivpn setup -e tu@correo.com

Qué hace mivpn setup

  1. Registra este equipo como el servidor de tu cuenta.
  2. Crea el servidor WireGuard si el equipo aún no tiene uno, con su red y el reenvío de tráfico preparados.
  3. Comprueba si tu conexión admite entradas: si es así, abre el puerto en el router; si no, activa el relay de MiVPN.
  4. Abre el puerto en el cortafuegos del propio equipo.
  5. Prepara los clientes que ya tengas en tu cuenta.
Si tu servidor ya funciona en otro equipo, setup te avisa y te pregunta si quieres trasladarlo a este.

3 Arráncalo

Arranca el servidor VPN y el agente que lo mantiene en contacto con mivpn.net, y los deja en el arranque del sistema: tras un reinicio o un corte de luz, el servidor vuelve solo.

sudo mivpn enable

4 Comprueba que funciona

mivpn status muestra lo mismo que la app de escritorio. Así se ve un servidor funcionando:

$ sudo mivpn status
MiVPN Server  raspberrypi (aarch64)
  Cuenta         tu@correo.com  ·  servidor "Casa"
  Servicios      tunel activo  ·  upnp activo  ·  notify activo  ·  arranque con el sistema: si
  Servidor       en marcha
  mivpn.net      conectado (estado y ordenes)
  Red            Ethernet 1000 Mbps
  Puerto         UDP 51820  ·  abierto en el router
  IP publica     203.0.113.25  ·  local 192.168.1.40
  Clientes       1 de 2 conectados
      movil      conectado      10.8.0.2        ahora
      portatil   desconectado   10.8.0.3        hace 2 h
  • Servidor«en marcha» cuando el servidor VPN y el agente funcionan.
  • mivpn.net«conectado»: el panel de mivpn.net y la app ven tu servidor y le pueden pedir configuraciones.
  • Puertopor dónde entran tus clientes: «abierto en el router» si la conexión es directa, o el puerto del relay de MiVPN.
  • Clienteslos dispositivos que has creado, si están conectados y cuándo se conectaron por última vez.
For now, the mivpn command shows its messages in Spanish.

Comandos

Todo se hace con el comando mivpn. Los que tocan el servidor necesitan sudo.

Puesta en marcha
sudo mivpn setup -e …

Vincula el equipo con tu cuenta y deja el servidor preparado.

Cuándo: la primera vez, o para trasladar aquí un servidor que funcionaba en otro equipo.

sudo mivpn enable

Arranca el servidor y hace que arranque solo cada vez que se enciende el equipo.

Cuándo: justo después de setup.

sudo mivpn disable

El servidor deja de arrancar al encender el equipo. Si está en marcha, sigue funcionando hasta que lo pares.

Cuándo: si quieres decidir tú cuándo encenderlo.

Día a día
sudo mivpn status

Cómo está todo: servidor, conexión con mivpn.net, red, puerto, IP y clientes.

Cuándo: siempre que quieras saber si el servidor funciona.

sudo mivpn logs -f

El registro del servidor, en vivo. Sin -f, las últimas líneas.

Cuándo: si algo no funciona y quieres ver qué pasa.

sudo mivpn stop

Para el servidor del todo: el servidor VPN, el agente y el relay.

Cuándo: si no quieres que nadie se conecte durante un tiempo.

sudo mivpn start

Vuelve a arrancar un servidor parado.

Cuándo: después de stop.

sudo mivpn restart

Para y arranca el servidor de nuevo.

Cuándo: si has cambiado algo en la red o el router.

Dejar el equipo
sudo mivpn unlink

Desvincula el equipo de tu cuenta y lo deja limpio: para el servidor, suelta el puerto del router y del relay, y borra credenciales y clientes. Pide tu contraseña.

Cuándo: cuando este equipo va a dejar de ser tu servidor, antes de desinstalar o de venderlo.

Información
mivpn --version

La versión de MiVPN Server instalada.

mivpn status -h

La ayuda de cualquier comando: cambia status por el que quieras.

Opciones de mivpn setup

-e, --email

El correo de tu cuenta de mivpn.net.

--password-stdin

Lee la contraseña de la entrada estándar, para scripts.

--replace

Traslada aquí el servidor desde otro equipo sin preguntar.

-y, --yes

No pide confirmaciones.

--port 51820

Puerto UDP del servidor. Si no lo indicas, 51820.

--no-relay

No comprueba la red ni activa el relay.

Instalación desatendida

Para instalar en varios equipos o desde un script (Ansible, cloud-init…), pasa la contraseña por la entrada estándar y salta las confirmaciones:

printf '%s\n' "$MIVPN_PASSWORD" | sudo mivpn setup -e tu@correo.com --password-stdin -y
sudo mivpn enable
No escribas la contraseña en la propia orden con -p: quedaría en el historial y cualquier usuario del equipo la vería.

Trasladar el servidor a otro equipo

Instala MiVPN Server en el equipo nuevo y vincúlalo con --replace. El equipo antiguo deja de servir solo en cuanto mivpn.net le avisa. Tus clientes tendrán que descargar su configuración de nuevo; la app de MiVPN lo hace sola.

sudo mivpn setup -e tu@correo.com --replace
sudo mivpn enable

Actualizar

Las versiones nuevas llegan por el repositorio, como el resto del sistema. Al actualizar, el servidor se reinicia solo con la versión nueva.

sudo apt update && sudo apt upgrade

Desinstalar

Primero desvincula el equipo de tu cuenta; después, desinstala el paquete.

sudo mivpn unlink
sudo apt remove mivpn-server

Al desinstalar se para todo y se borran las credenciales, los clientes y el servidor WireGuard que creó MiVPN. Si te saltas unlink, el equipo seguirá constando en tu cuenta hasta que traslades el servidor a otro.

Problemas frecuentes

status dice «Hace falta root para leer el estado»

Las claves y el estado del servidor solo los puede leer el administrador. Usa sudo mivpn status.

Puerto: «sin UPnP en el router»

Tu router no abre puertos automáticamente. Activa UPnP en su configuración y ejecuta sudo mivpn restart. Si tu conexión no admite entradas (CGNAT), necesitas un plan con relay: el servidor saldrá por el relay de MiVPN sin tocar el router.

mivpn.net: «sin conexión»

El agente no llega a mivpn.net. Comprueba que el equipo tiene Internet y mira qué pasa con sudo mivpn logs -f.

setup dice que el servidor lo usa otro equipo

Tu servidor MiVPN ya funciona en otro equipo. Trasládalo a este con sudo mivpn setup -e … --replace, o desvincula primero aquel con sudo mivpn unlink.

Tras cambiar de equipo, mis clientes no conectan

Al cambiar de equipo cambian las claves del servidor: cada cliente tiene que descargar su configuración de nuevo desde mivpn.net o desde la app de MiVPN.

¿Puedo instalarlo junto a la app de escritorio?

No: un equipo solo puede ser servidor una vez. mivpn-server y mivpn-server-desktop se excluyen; apt quita uno si instalas el otro.

¿Sigue sin funcionar? Escríbenos desde el chat de soporte y pega lo que muestra sudo mivpn status.