Tutoriales

Cómo importar el perfil WireGuard usando nmcli en Linux

I tener varios perfiles de protección de cables en Linux. ¿Hay alguna forma de importar el perfil WireGuard (/etc/wireguard/wg{0,1,2}.conf archivos) usando nmcli en Linux? No quiero convertirme en root y ejecutar systemctl start wg-quick @ wg0. ¿Cómo puedo importar un perfil WireGuard existente desde la interfaz de tangente de comandos de NetworkManager?

WireGuard es obvio de configurar y utiliza técnicas de red privada aparente (VPN) de código franco para crear conexiones seguras punto a punto en varias configuraciones. Funciona en Linux, * BSD, macOS y dispositivos móviles. Sin secuestro, esta página explica cómo importar el archivo de perfil de WireGuard existente usando nmcli en un escritorio Linux.

Cómo importar el perfil WireGuard usando nmcli en Linux

Podemos importar /etc/wireguard/wg0.conf escribiendo el sucesivo comando:

  1. Configure la variable de entorno de shell: file = "/ etc / wireguard / wg0.conf"
  2. Ahora impórtelo usando el comando nmcli: sudo nmcli tipo de importación de conexión archivo wireguard "$ file"
  3. Cambie el nombre del perfil wg0 como mum-office-vpn: conexión nmcli modificar wg0 connection.id "mum-office-vpn"
  4. Puede repetir este procedimiento para todos los perfiles WireGuard en Linux cuando utilice la interfaz CLI de NetworkManager indicación nmcli.

Use ver WireGuard en NetworkManager en detalles. Tenga en cuenta que debe tener instalado y configurado el servidor WireGuard. Vea cómo instalar WireGuard en Alpine Linux, CentOS 8, Debian 10 y Ubuntu 20.04 LTS.

LEER  Linux es un arte: la fuerza impulsora detrás de Linux

Importación del perfil WireGuard

WireGuard viene con un wg-quick para configurar túneles WireGuard rápidamente. Así es como se ve la muestra wg0.conf:

# MUM OFFICE VPN
[Interface]
PrivateKey = {private-key-here}
Address = 10.8.1.2/24
DNS = 10.8.1.1
[Peer]
PublicKey = {Pub-key-here}
PresharedKey = {Pre-shared-key-here}
AllowedIPs = 0.0.0.0/0
Endpoint = $Linux_SERVER_IP_HERE:$Port
PersistentKeepalive = 15

No conozco una opción de GUI en Linux que pueda importar archivos de configuración como wg0.conf. Por lo tanto, terminé usando nmcli. Es una utensilio de tangente de comandos para controlar NetworkManager y reportar el estado de la red.

Sintaxis del comando de importación nmcli

La opción de importación permite a los usuarios importar una configuración externa / ajena como un perfil de conexión de NetworkManager. La opción de tipo especifica el tipo de archivo de entrada. Tenga en cuenta que en este momento solo se admiten configuraciones de VPN. La sintaxis es:
nmcli connection import type wireguard file "/path/to/wg0.conf"
Podemos importar wg0.conf, wg1.conf y wg2.conf de la sucesivo guisa usando un ciclo bash for:

#!/usr/bin/env bash
configs="wg0.conf|mum-office-vpn wg1.conf|del-office-vpn wg2.conf|aws-ec2-vpn"
wgpath="/etc/wireguard"
for c in $configs
do
	IFS='|'
	set -- $c
	echo "Importing ${wgpath}/$1 ... "
	sudo nmcli connection import type wireguard file "${wgpath}/$1"
	echo "Renaming ${1%%.conf} as $2 ..."
	nmcli connection modify "${1%%.conf}" connection.id "$2"
done

Ejecute su script de shell de la sucesivo guisa:
bash /path/to/script

Visualización de información sobre configuraciones WireGuard importadas

Valer:
nmcli connection show
Ver información detallada sobre el perfil wg0 llamado mum-office-vpn
nmcli connection show mum-office-vpn
nmcli connection show mum-office-vpn | more

Activar WireGuard VPN desde la CLI

Podemos activar una conexión. La conexión se identifica por su nombre, como oficina-madre-vpn. Por lo tanto, podemos escribir el sucesivo comando para desplegar la interfaz VPN:
nmcli connection up mum-office-vpn
Elimine o desactive WireGuard VPN con la sucesivo sintaxis:
nmcli connection down mum-office-vpn
Podemos conectarnos a múltiples interfaces VPN siempre que tengamos el enrutamiento correcto y la configuración de IP esté implementada. Por ejemplo, puedo trabajar con material de oficina y la nimbo de AWS ec2 al mismo tiempo:
nmcli connection up mum-office-vpn
nmcli connection up aws-ec2-vpn
ping -c4 ec2-server-wg-ip
ping -c4 mum-office-ssh-gateway-wg-ip

Utilice el comando ip y el comando wg para ver el enrutamiento IP y otra información:
ip -c r
sudo wg

Cómo ver las opciones de perfil de WireGuard

Ejecute el sucesivo comando pegado con el comando grep / comando egrep:
nmcli connection show mum-office-vpn
nmcli connection show mum-office-vpn | more
nmcli connection show mum-office-vpn | grep 'dns'
nmcli connection show mum-office-vpn | grep -E -i 'dns|autoconnec'

Aquí vemos opciones:


connection.autoconnect:                 no
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.autoconnect-slaves:          -1 (default)
connection.mdns:                        -1 (default)
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.ignore-auto-dns:                   no
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       --
ipv6.dns-priority:                      0
ipv6.ignore-auto-dns:                   no

Por ejemplo, puedo habilitar la opción de conexión cibernética para el oficina-madre-vpn pero desactívelo para aws-ec2-vpn de la sucesivo guisa:
$ nmcli connection modify mum-office-vpn connection.autoconnect yes
$ nmcli connection modify aws-ec2-vpn connection.autoconnect no

Cambie incluso el nombre de la interfaz de WirdeGuard:
# interface name must not be longer than 15 characters #
$ nmcli connection modify sg-wg2 connection.interface-name sg-nixcraft-vpn
$ nmcli connection up sg-wg2
$ ip a s sg-nixcraft-vpn

Y esto es lo que vemos:

26: sg-nixcraft-vpn: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 172.16.0.2/24 brd 172.16.0.255 scope entero noprefixroute sg-nixcraft-vpn
       valid_lft forever preferred_lft forever

Asegúrese de acertar la página man de nmcli escribiendo el sucesivo comando man:
man nmcli

¿Qué pasa con la opción GUI?

Creo que están trabajando para juntar compatibilidad con WireGuard a otros clientes de NetworkManager, como nm-connection-editor. Una vez colaborador, podemos colocar el subprograma como una interfaz gráfica de favorecido descubierta del editor de conexión de red.

Resumiendo

Espero que este pequeño tutorial le resulte útil para tratar con WireGuard usando nmcli, especialmente al importar el perfil de WireGuard para su computadora de escritorio o portátil Linux.

LEER  pinfo - Lea la documentación de información de Linux en colores

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba