WireGuard: un túnel VPN rápido, moderno y seguro para Linux

WireGuard. es una implementación de VPN. moderna, segura, multiplataforma y de uso general que utiliza criptografía de última generación. Su objetivo es ser más rápido, más simple, más ágil y más funcional que IPsec y tiene la intención de ser más eficiente que OpenVPN.

Está diseñado para su uso en diversas circunstancias y se puede implementar en interfaces integradas, enrutadores troncales completamente cargados y supercomputadoras por igual; y se ejecuta en los sistemas operativos Linux, Windows, macOS, BSD, iOS y Android.

Lectura recomendada. 13 mejores servicios VPN con suscripción de por vida

It presenta una interfaz extremadamente básica pero poderosa que pretende ser simple, tan fácil de configurar e implementar como SSH. Sus características clave incluyen una interfaz de red simple, enrutamiento de claves criptográficas, roaming incorporado y soporte de contenedores.

Tenga en cuenta que en el momento de escribir este artículo, se encuentra en un gran desarrollo: algunas de sus partes están trabajando para lograr una versión estable 1.0, mientras que otros ya están allí (funcionando bien).

freestar.config.enabled_slots.push

En este artículo, aprenda a instalar y configurar WireGuard. en Linux para crear un túnel VPN entre dos hosts Linux.

Entorno de prueba

Para esta guía, nuestra configuración (nombre de host e IP pública) es la siguiente :

Nodo 1: tecmint-appserver1: 10.20.20.4 Nodo 2: tecmint-dbserver1: 10.20.20.3

Cómo instalar WireGuard en distribuciones de Linux

Inicie sesión en ambos nodos e instale WireGuard. usando el siguiente comando apropiado para sus distribuciones de Linux de la siguiente manera.

Instale WireGuard en RHEL 8 $ sudo yum install https://dl.fed oraproject.org/pub/epel/epel-release-latest-8.noarch.rpm $ sudo subscription-manager repos–enable codeready-builder-for-rhel-8-$ (arch)-rpms $ sudo yum copr enable jdoss/wireguard $ sudo yum install wireguard-dkms wireguard-tools Instalar WireGuard en CentOS 8 $ sudo yum install epel-release $ sudo yum config-manager–set-enabled PowerTools $ sudo yum copr enable jdoss/wireguard $ sudo yum install wireguard-dkms wireguard-tools Instale WireGuard en RHEL/CentOS 7 $ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo curl-o/etc/yum. repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo $ sudo yum install wireguard-dkms wireguard-tools Instalar WireGuard en Fedora $ sudo dnf instalar wireguard-tools Instalar WireGuard en Debian # echo “deb http://deb.debian.org/debian/unstable main”>/etc/apt/sources.list.d/unstable.list # printf ‘Paquete: * nPin: rele ase a = inestable nPin-Priority: 90 n ‘>/etc/apt/preferences.d/limit-unstable # apt update # apt install wireguard Instalar WireGuard en Ubuntu $ sudo add-apt-repository ppa: wireguard/wireguard $ sudo apt-get update $ sudo apt-get install wireguard Instalar WireGuard en OpenSUSE $ sudo zypper addrepo-f obs://red: vpn: wireguard wireguard $ sudo zypper install wireguard-kmp-default wireguard-tools

Configurar un WireGuard Túnel VPN entre dos hosts Linux

Cuando la instalación de wireguard. esté completa en ambos nodos, puede reiniciar sus nodos o agregar el módulo wireguard desde el kernel de Linux usando el siguiente comando en ambos nodos.

$ sudo modprobe wireguard O # modprobe wireguard

A continuación, genere claves públicas y privadas codificadas en base64 usando la utilidad wg. en ambos nodos como se muestra.

———-En el nodo 1———-

$ umask 077 $ wg genkey> private_appserver1

———-En el nodo 2———-

$ umask 077 $ wg genkey> private_dbserver1 $ wg pubkey  Generar claves en ambos nodos Generar claves en ambos nodos

Siguiente, debe crear una interfaz de red (por ejemplo, wg0. para wiregaurd en los pares, como se muestra a continuación. Luego asigne direcciones IP a la nueva interfaz de red creada (para esta guía, usaremos la red 192.168.10.0/24. .

———-En el nodo 1———- $ sudo ip link agregar dev wg0 tipo wireguard $ sudo ip addr agregar 192.168.10.1/24 dev wg0 ———En el nodo 2———- $ sudo ip link add dev wg0 type wireguard $ sudo ip addr add 192.168.10.2/24 dev wg0

Para ver las interfaces de red adjuntas en los pares y sus direcciones IP, use el siguiente comando de IP.

$ ip ad  Ver interfaces de red con direcciones IP Ver interfaces de red con direcciones IP

A continuación, asigne la clave privada para cada par a la red wg0. interfaz y abra la interfaz como se muestra.

———-En el nodo 1———-

$ sudo wg set wg0 private-key ./private_appserver1 $ sudo ip link set wg0 up

———-En el nodo 2———

$ sudo wg set wg0 private-key ./private_dbserver1 $ sudo ip link set wg0 up

Ahora que ambos enlaces están activos, cada uno con claves privadas asociadas a ellos, ejecute wg. utilidad sin argumentos para recuperar la configuración de las interfaces WireGuard en los pares. Luego, cree su túnel VPN wireguard de la siguiente manera.

El par ( clave pública. , ips permitidos. (red/máscara de subred) y endpoint. (public ip: port) son del par opuesto.

———-En el Nodo1 (Use las IP y la Clave Pública del Nodo 2)———- $ sudo wg $ sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0 = allowed-ips 192.168.10.0/24 endpoint 10.20.20.3:54371 ———-En Nodo2 (Utilice las IP y la clave pública del Nodo 1)———- $ sudo wg $ sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk = allowed-ips 192.168.10.0/24 endpoint 10.20.20.4:42930  Crear túnel VPN Wireguard entre máquinas Linux Crear túnel VPN Wireguard entre máquinas Linux

Probar el túnel VPN WireGuard entre sistemas Linux

Una vez Se ha creado el túnel VPN de wireguard, haga ping al par opuesto utilizando la dirección de la interfaz de red de wireguard. Luego ejecute la utilidad wg. una vez más para confirmar un apretón de manos entre los pares como se muestra.

———-En el nodo 1———- $ ping 192.168.10.2 $ sudo wg ———-En el nodo 2———- $ ping 192.168. 10.1 $ sudo wg  Prueba Wireguard d Túnel VPN entre máquinas Linux Prueba el túnel VPN Wireguard entre máquinas Linux

¡Eso es todo por ahora! WireGuard. es una solución VPN moderna, segura, simple pero poderosa y fácil de configurar para el futuro. Está experimentando un gran desarrollo, por lo que el trabajo en curso. Puede obtener más información, especialmente sobre su funcionamiento interno interno y otras opciones de configuración, en la página de inicio de WireGuard.