Gestionar WireGuard con nmcli
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
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 up id wg0
para tumbar una conexiónnmcli c down 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
.
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
La entrada Gestionar WireGuard con nmcli aparece primero en Atareao.