Como elegir, usar y configurar una VPN en NixOS (Tutorial)


En NixOS la filosofía es clara: todo se define como código y tu sistema se recompone de forma reproducible. Como informático en Madrid te voy a contar cuáles son las VPN más adecuadas para esta distro, teniendo en cuenta su gestor de paquetes Nix, el perfil de usuario (un entusiasta de Linux con ganas de trastear), los entornos gráficos habituales (GNOME, KDE Plasma, Xfce…) y sus peculiares características técnicas (declarativo, confiable, sin cambios “muertos” tras reiniciar).

Proveedores más aptos para NixOS y por qué

  • Mullvad: ofrece soporte nativo de WireGuard y OpenVPN. En NixOS tendrás los paquetes wireguard-tools y openvpn listos para integrar en configuration.nix. Además, su modelo de suscripción anónima encaja con la filosofía de privacidad.
  • ProtonVPN: dispone de archivos .ovpn para OpenVPN y un cliente CLI Python. En NixOS usarás el módulo networking.openvpn para levantar automáticamente las configuraciones .ovpn al arrancar.
  • AirVPN: muy configurable vía OpenVPN. También encontrarás el paquete openvpn disponible y podrás definir tu perfil en networking.openvpn.configs. Ideal si ya manejas opciones avanzadas de cifrado.

Tabla comparativa

Proveedor Protocolos Paquete NixOS Método de integración Enlace
Mullvad WireGuard, OpenVPN wireguard-tools, openvpn Declarar networking.wireguard o networking.openvpn Sitio oficial de Mullvad
ProtonVPN OpenVPN openvpn, python3Packages.protonvpn-cli (opcional) Módulo networking.openvpn.configs Sitio oficial de ProtonVPN
AirVPN OpenVPN openvpn Declarar servicio en networking.openvpn.configs Sitio oficial de AirVPN

Guías de instalación y configuración

Mullvad con WireGuard

1) Genera tus claves:

wg genkey  tee /etc/wireguard/privatekey  wg pubkey > /etc/wireguard/publickey
chmod 600 /etc/wireguard/privatekey
  

2) Configura configuration.nix:

{
  networking = {
    wireguard = {
      enable = true
      interfaces = {
        wg-mullvad = {
          privateKeyFile = /etc/wireguard/privatekey
          addresses = [ 10.64.0.2/32 ]
          peers = [
            {
              publicKey = 
              allowedIPs = [ 0.0.0.0/0 ]
              endpoint = se-us-chicago.prod.mullvad.net:51820
            }
          ]
        }
      }
    }
  }
}
  

3) Reconstruye el sistema:

sudo nixos-rebuild switch
  

ProtonVPN con OpenVPN

1) Descarga el perfil .ovpn desde tu panel de ProtonVPN.

2) Colócalo en /etc/openvpn/protonvpn.ovpn y asegúrate de que el paquete openvpn está en environment.systemPackages.

3) Añade a configuration.nix:

{
  networking.openvpn = {
    enable = true
    configs = {
      protonvpn = {
        config = /etc/openvpn/protonvpn.ovpn
        autoStart = true
        serviceConfig = {
          user = root
        }
      }
    }
  }
  environment.systemPackages = with pkgs [ openvpn ]
}
  

4) Aplica cambios:

sudo nixos-rebuild switch
  

AirVPN con OpenVPN

1) En tu cuenta de AirVPN genera un certificado y descarga el paquete .zip con los .ovpn.

2) Descomprime en /etc/openvpn/airvpn y copia la configuración principal, por ejemplo airvpn-udp-53.ovpn.

3) En configuration.nix declara:

{
  networking.openvpn = {
    enable = true
    configs = lib.mkForce (
      let conf = /etc/openvpn/airvpn/airvpn-udp-53.ovpn in {
        airvpn = {
          config = conf
          autoStart = true
        }
      }
    )
  }
  environment.systemPackages = with pkgs [ openvpn ]
}
  

4) Reconstruye:

sudo nixos-rebuild switch
  

Con estos tres ejemplos tienes cubiertas varias necesidades: WireGuard ultra-ligero con Mullvad, la robustez de OpenVPN con ProtonVPN y la flexibilidad avanzada de AirVPN. ¡A disfrutar de tu conexión segura en NixOS!

Download TXT



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *