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.
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
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
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
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
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
Todo se hace con el comando mivpn. Los que tocan el servidor necesitan sudo.
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 enableArranca el servidor y hace que arranque solo cada vez que se enciende el equipo.
Cuándo: justo después de setup.
sudo mivpn disableEl 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.
sudo mivpn statusCó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 -fEl registro del servidor, en vivo. Sin -f, las últimas líneas.
Cuándo: si algo no funciona y quieres ver qué pasa.
sudo mivpn stopPara 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 startVuelve a arrancar un servidor parado.
Cuándo: después de stop.
sudo mivpn restartPara y arranca el servidor de nuevo.
Cuándo: si has cambiado algo en la red o el router.
sudo mivpn unlinkDesvincula 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.
mivpn --versionLa versión de MiVPN Server instalada.
mivpn status -hLa ayuda de cualquier comando: cambia status por el que quieras.
-e, --emailEl correo de tu cuenta de mivpn.net.
--password-stdinLee la contraseña de la entrada estándar, para scripts.
--replaceTraslada aquí el servidor desde otro equipo sin preguntar.
-y, --yesNo pide confirmaciones.
--port 51820Puerto UDP del servidor. Si no lo indicas, 51820.
--no-relayNo comprueba la red ni activa el relay.
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
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
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
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.
Las claves y el estado del servidor solo los puede leer el administrador. Usa sudo mivpn status.
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.
El agente no llega a mivpn.net. Comprueba que el equipo tiene Internet y mira qué pasa con sudo mivpn logs -f.
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.
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.
No: un equipo solo puede ser servidor una vez. mivpn-server y mivpn-server-desktop se excluyen; apt quita uno si instalas el otro.