311 - Gestionar WireGuard con nmcli

311 - Gestionar WireGuard con nmcli

Como gestionar WireGuard con nmcli tanto desde la terminal como desde GNOME Shell, sin necesidad de ganar derechos de administrador.

1:25
-3:15

Sigo liado con mi migración de extensiones. La semana pasada liberé Tunnel Indicator. Y seguidamente o casi a la misma vez liberé WireGuard Inidcator. Pero no solo he llevado la extensión a Gtk 4.0, sino que además la he mejorado, y esto gracias de nuevo a la sugerencias de aquellos que han ido a GitHub a poner sus ideas y sugerencias. Y es que esto de que alguien pueda colaborar para mejorar un software es lo mas productivo tanto para el desarrollador como para el colaborador. En este sentido, la idea que me propusieron fue la de gestionar WireGuar con nmcli.

Esta herramienta, nmcli, es un gestor de conexiones para la terminal. Y la gran ventaja de esta herramienta es que no requiere de permisos de administrador para hacerla funcionar. Cualquier usuario, puede hacerla funcionar, y con ello gestionar WireGuard con nmcli.

Gestionar WireGuard con nmcli

Gestionar WireGuard con nmcli

Sobre la integración de WireGuard en los escritorios

No termino de entender, a estas alturas de la película, porque ningún entono de escritorio ha integrado WireGuard, es decir, porque no se puede configurar y gestionar WireGuard desde las opciones propias del entorno de escritorio.

¿Porque es necesario recurrir a la terminal para gestionar WireGuard? Es mas ¿Porque necesitas ganar derechos de administrador para gestionar WireGuard?.

Creo que desde la aparición de WireGuard, ya ha demostrado suficientemente, que ha venido para quedarse. Tiene un gran desempeño y funciona muy bien. O al menos, se adapta perfectamente a mis necesidades. Por esta razón, a pasado a formar parte de mi caja de herramientas.

Derechos de administrador

A pesar de que se ha convertido en una herramienta fundamental para mi, lo cierto, es que esto de los derechos de administrador, me ha tenido atormentado, hasta el momento, ¿porque es necesario ganar derechos de administrador?.

Así, dentro de las sugerencias que me indicaron en el proyecto de WireGuard Indicator, se encontraba el uso de nmcli. Lo cierto es que cuando escribí el artículo sobre gestionar el WiFi desde la teminal, en ningún momento caí en la posibilidadde gestionar WireGuard con nmcli, porque lo que si es cierto, es que en este caso, no necesitas ganar derechos de administrador.

Así que, me puse manos a la obra. La primera operación, fue utilizarlo directamente desde la terminal para gestionar WireGuard con nmcli. Y realmente fue sencillo.

Utilizando nmcli

El primer paso para gestionar WireGuard con nmcli, es importar tu archivo de configuración. Esto, es tan sencillo como ejecutar la siguiente instrucción desde la terminal,

nmcli c import type wireguard <nombre_del_archivo>

Donde <nombre_del_archivo> es, como ya supones, el nombre del archivo donde está la configuración de WireGuard. A partir de aquí, e insisto, sin necesidad de derechos de administrador, simplemente, tienes que utilizar las siguientes opciones,

  • nmcli c show --active para ver si tu conexión WireGuard está activa.
  • nmcli c down id wg0 para tumbar una conexión
  • nmcli c up id wg0 para levantar una conexión

Y aquí es donde está toda la gracia de esta solución, no necesitas, ganar derechos de administrador en ningún caso, con lo que la solución es perfecta.

Y no solo es perfecta para la terminal, si no que también es perfecta para la extensión, que implementé hace tiempo para gestionar WireGuard.

Otras opciones

Por supuesto, que utilizar nmcli no es la única opción que tienes para gestionar WireGuard desde la terminal sin ganar derechos de administrador. La otra opción es añadir los comandos necesarios al archivo /etc/sudoers. Sin embargo, la solución anterior, es decir la de nmcli es mucho más práctica y cómoda para gestionar WireGuard tanto desde el terminal como desde GNOME Shell.

WireGuard Indicator

WireGuard Indicator es una extensión para GNOME Shell, que te permite gestionar WireGuard de forma cómoda, práctica y sencilla. Sin necesidad de recurrir al terminal. Además te permite monitorizar todas las conexiones WireGuard que tengas habilitada.

Configuración

Para configurar esta extensión de GNOME Shell, y te permita gestionar WireGuard, y dado todas las opciones que he comentado hasta el momento. La posibilidad de gestionar a las bravas, de forma que cada vez que hagas cualquier operación te pedirá tus credenciales. Utilizar sudo, en cuyo caso, necesitarás añadir los comandos /etc/sudoers y por supuesto la tercera y mas conveniente que es nmcli.

Configuración de WireGuard Indicator

La ventaja de nmcli, es que no te tienes que preocupar de absolutamente nada. Mientras que con los otros métodos, tienes que indicar las conexiones WireGuard que tienes habilitadas, si utilizas nmcli, este se encarga de gestionarlo todo por ti. Es decir, se encarga de mostrar todos los servicios que hay creados.

En el otro caso, también lo podría hacer, pero sería mas incómodo, porque cada vez que lo actualices, de nuevo tendría que pedirte la contraseña de administrador.

Finalmente, creo que me decantaré por dejar única y exclusivamente nmcli, porque la ventaja de utilizar esta herramienta es mas que considerable. Por el momento, lo que he hecho es que en el caso de que la utilices, deshabilite las otras opciones, tal y como puedes ver en la captura anterior.


Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Imagen de portada de la NASA en Unsplash

10 comentarios en “Gestionar WireGuard con nmcli

  1. SE
    Sergi hace 3 años

    Buenas! Yo uso plasma 5.22 en Arch y desde Network manager de KDE si que veo que puedo gestionar conexiones vpn de wireguard… Supongo que en Gnome también debería salir porque también usa networkmanager… de hecho, nmcli es la utilidad de línea de comandos de NetworkManager…

    Saludos y felicidades por el podcast!

    1. AT
      atareao hace 3 años

      Hola,
      Vaya que sorpresa mas agradable. Pues en GNOME 40 no aparecen las opciones. A ver si en una futura actualización se ven.
      Muchas gracias por tu comentario y por tu aporte.
      Saludos.

  2. MA
    Marc hace 3 años

    Buenas Atareao,

    Saliendo del tema un segundo, he notado que últimamente no me deja escuchar el podcast en tu pagina (antes se podía, y no recuerdo haber modificado nada), ¿puedes darle un veo?, me aparece la barra de reproducción como si ya lo hubiese escuchado y por mas que le doy a play no lo reproduce, antes me aparecía la barra en blanco (si le daba a play volvía a reproducirlo).
    Excelente podcast un saludo.
    Nota: Por cierto para escucharlo busco la url del mp3 en el código y la pego en la caja de direcciones del navegador;-) (por si a alguien le sucede lo mismo)

    1. AT
      atareao hace 3 años

      Hola,
      Hace algunas semanas cambié el código del reproductor, por ahí estará el problema.
      A ver si me puedes ayudar:
      ¿donde te sucede?¿móvil ó escritorio? y ¿en que navegador?¿todos?
      Por otro lado, estás detrás de una VPN o tienes PiHole o el filtrado de JavaScript?
      Gracias por tu ayuda Marc.

  3. JO
    Jorge hace 3 años

    Genial,
    Todo un invento esto del nmcli. Como único apunte, me ha pasado que siguiendo tus instrucciones, se levantaba siempre la conexión wireguard automáticamente tras reinicio. Como yo no la quiero siempre activa en mi perfil, con un sencillo
    nmcli c modify connection.autoconnect no
    ya se activa sólo cuando le digamos.
    Por cierto Atareao, ¿soy yo o tu muy interesante wireguard indicator versión nmcli no está para los pobres usuarios de gnome 3.36.8 (que es la de la última LTS de Ubuntu)?

    1. JO
      Jorge hace 3 años

      nmcli c modify #NOMBRECONEXION# connection.autoconnect no
      que lo había puesto con «» pero se lo ha tragado el html

    2. AT
      atareao hace 3 años

      Efectivamente Jorge, tienes toda la razón, no está disponible para 3.36.8…. Si te resulta necesario y no puedes esperar hasta Ubuntu 22.04 lo actualizo. Quedo a tu entera disposición, depende de ti… 🙂

  4. AT
    atareao hace 3 años

    Muchas gracias Jorge…. A mi también me pasaba, pero ni me había molestado en buscar la solución.
    Resuelto gracias a ti.

  5. QB
    qbano hace 3 años

    intento instalar wireguard en deepin y no puedo, en nmcli no aparece wireguard como tipo de vpn

    1. LO
      Lorenzo hace 3 años

      Hola,
      Pudiste importar el archivo de configuración?

Deja una respuesta

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