Cómo instalar WireGuard VPN en Centos 8

Cómo instalar WireGuard VPN en Centos 8

WireGuard es un popular protocolo de comunicación de código abierto punto a punto que se utiliza para crear un túnel de red privada virtual segura y rápida. Esta VPN fue diseñada para su uso en el kernel de Linux. WireGuard es una VPN ligera que proporciona velocidades extremadamente rápidas a los usuarios.

Este artículo le muestra cómo instalar y configurar WireGuard en su sistema CentOS 8. La instalación y la configuración de WireGuard son mucho más fáciles que las VPN ya existentes, como OpenVPN, y esta es una razón importante detrás de su creciente popularidad en la comunidad de Linux.

Descripción general

Este artículo se compone de dos secciones:

  • En la primera sección, instalaremos y configuraremos una máquina CentOS 8 que actuará como una Servidor VPN de WireGuard.
  • En la segunda sección, instalaremos y configuraremos una máquina CentOS 8 que actuará como un Cliente VPN de WireGuard.

Instalación y configuración de WireGuard en un servidor CentOS 8

En esta sección, configuraremos una máquina CentOS 8 que actuará como servidor instalando WireGuard.

Paso 1: Agregar repositorios Epel y Elrepo

Para comenzar la instalación de WireGuard en CentOS 8, primero, agregue los repositorios Epel y Elrepo para instalar los módulos del núcleo y las herramientas de WireGuard.

$ sudo dnf instalación Epel-liberase Elrepo-libere -y -y

Ahora, después de instalar los repositorios requeridos, instale los módulos del núcleo y las herramientas de control de alambre.

Paso 2: Instale módulos de núcleo y herramientas de control de alambre

Los módulos del núcleo y las herramientas de WireGuard se pueden instalar rápidamente desde los repositorios EPEL y Elrepo emitiendo el siguiente comando:

$ sudo DNF Instalar Kmod-Wireguard WireGuard-Tools

Cuando se le solicite permiso para importar y agregar las claves GPG al sistema CentOS 8, permita esta acción escribiendo "Y" y presionando "Ingrese."

Después de instalar con éxito las herramientas de WireGuard, ahora realizaremos algunas configuraciones.

Paso 3: Crear claves públicas y privadas

Primero, crearemos un nuevo directorio '/etc/cableguard' para que podamos configurar el servidor VPN en el directorio. Para crear un nuevo directorio '/etc/cableguard' en el sistema CentOS 8, emita el siguiente comando.

sudo mkdir /etc /cableguard

Después de crear el directorio, cree las claves públicas y privadas utilizando las herramientas de línea de comandos "WG" y "Tee". El comando para crear claves privadas y públicas es la siguiente.

$ wg genkey | Sudo Tee/Etc/WireGuard/PrivateKey | WG PUBKEY | Sudo Tee/etc/WireGuard/PublicKey

La clave generada se imprimirá tras la ejecución del comando anterior.

Paso 4: Configuración del dispositivo de túnel para enrutar el tráfico VPN

Para configurar un dispositivo, cree un archivo de configuración en el directorio '/etc/cableguard' y abra el archivo usando el editor nano.

Antes de crear el archivo de configuración, obtenga la clave privada utilizando el siguiente comando.

$ sudo gato/etc/cableguard/privatekey

Guarde la llave privada en algún lugar; Necesitará esta clave más adelante en el archivo de configuración.

Ahora, crea el "WG0.archivo conf ”.

$ sudo nano/etc/cableguard/wg0.confusión

Agregue el contenido que se da a continuación al "/etc/cableguard/wg0.archivo conf ”.

[Interfaz]
## Dirección IP del servidor VPN ##
Dirección = 192.168.18.200/24
## Guarde la configuración cuando un nuevo cliente agregue ##
SaveConFig = True
## Número de puerto del servidor VPN ##
Listenport = 51820
## Clave privada del servidor VPN ##
PrivateKey = server_private_key
## comando que se ejecutará antes de iniciar la interfaz ##
Postup = firewall-cmd --zone = public --add-puerto 51820/udp && firewall-cmd --zone = public --add-Masquerade
## comando que se ejecutará antes de apagar la interfaz ##
Postdown = firewall-cmd--Remove-Port 51820/UDP --zone = public && firewall-cmd--Remove-Masquerade = Public

Este archivo de configuración contiene los siguientes términos clave:

  • DIRECCIÓN - la dirección IP privada para la interfaz (WG0).
  • Saveconfig = verdadero: guarda el estado de la interfaz en el reinicio o el apagado del servidor.
  • Escucha - el puerto donde escucha el daemon de alguas de alambre.
  • Llave privada - la clave que acabamos de generar.
  • Post - Este comando se ejecutará antes de encender la interfaz
  • Posterior - Este comando se ejecutará antes de apagar la interfaz.

Ahora que comprende bastante bien el archivo de configuración, puede guardar el archivo y salir con los atajos de teclado (Ctrl + S) y (Ctrl + X).

Paso 5: Establezca privilegios de la configuración y el archivo "PrivateKey"

Ahora, haremos que el servidor VPN sea un poco más seguro. Un usuario básico no debe tener los privilegios para leer el archivo de configuración y el archivo 'privateKey'. Para proporcionar acceso a estos archivos, cambiaremos el modo de estos dos archivos a 600. El comando para establecer los permisos se da a continuación.

$ sudo chmod 600/etc/wireguard/privatekey
$ sudo chmod 600/etc/cableguard/wg0.confusión

Después de finalizar los permisos, encenderemos la interfaz (WG0) utilizando la herramienta de línea de comandos WG-Quick.

Paso 6: Inicie la interfaz

Para encender la interfaz, emita el comando que se proporciona a continuación:

$ sudo wg-quick up wg0

Si ha obtenido la salida que se muestra en la captura de pantalla anterior, ha iniciado con éxito la interfaz. Ahora verificaremos el estado de la interfaz.

$ sudo wg

Habilite la interfaz para iniciar automáticamente la interfaz en el arranque del servidor CentOS 8.

$ sudo SystemCTL Habilitar wg-quick@wg0

En esta etapa, la configuración del servidor se ha completado. Ahora, si desea configurar este servidor VPN para NAT, deberá habilitar el reenvío de IPv4.

Paso 7: Habilitar el reenvío de IPv4

Para habilitar el reenvío IPv4 para el NAT, cree un "99-Custom.File conf "en el"/etc/sysctl.Directorio D "usando el editor nano.

$ sudo nano /etc /sysctl.D/99-Custom.confusión

Agregue el siguiente contenido al "/etc/sysctl.D/99-Custom.conf "

## para habilitar el reenvío IPv4 ##
neto.IPv4.ip_forward = 1

Para habilitar el reenvío de IPv6, agregue el siguiente contenido al "/etc/sysctl.D/99-Custom.File conf ”también.

## para habilitar el reenvío IPv6 ##
neto.IPv6.confusión.todo.Reenvío = 1

Después de habilitar el reenvío de IPv4, guarde el archivo y salga usando los atajos (CTRL + S) y (CTRL + X).

Pasemos ahora para configurar la máquina del cliente de WireGuard.

Instalación y configuración de WireGuard VPN en CentOS 8 Cliente

En esta sección, configuraremos una máquina CentOS 8 que actuará como cliente. El proceso de instalación y configuración del cliente WireGuard VPN será casi el mismo que para el servidor WireGuard VPN.

Paso 1: Agregar repositorios Epel y Elrepo

Primero, agregaremos los repositorios Epel y Elrepo para instalar los módulos del núcleo y las herramientas de control de alambre:

$ sudo dnf instalación Epel-liberase Elrepo-libere -y -y

Ahora, después de instalar los repositorios requeridos, instalaremos los módulos del núcleo y las herramientas de control de alambre.

Paso 2: Instale módulos de núcleo y herramientas de control de alambre

Los módulos del núcleo y las herramientas de WireGuard ahora se pueden instalar desde los repositorios EPEL y Elrepo emitiendo el siguiente comando.

$ sudo DNF Instalar Kmod-Wireguard WireGuard-Tools

Cuando se le solicite permiso para importar y agregue las claves GPG al sistema CentOS 8, permita los cambios escribiendo "Y" y presionando "Enter."

Después de que las herramientas de WireGuard se hayan instalado correctamente, la máquina cliente CentOS 8 también debe configurarse, también.

Paso 3: Crear claves públicas y privadas

En este paso, crearemos un nuevo directorio '/etc/cableguard' en la máquina del cliente. Para crear el nuevo directorio '/etc/cableguard' en su sistema CentOS 8, ingrese el siguiente comando.

sudo mkdir /etc /cableguard

Después de crear el directorio, cree las claves públicas y privadas utilizando las herramientas de línea de comandos "WG" y "Tee". El comando para crear claves privadas y públicas se proporciona a continuación.

$ wg genkey | Sudo Tee/Etc/WireGuard/PrivateKey | WG PUBKEY | Sudo Tee/etc/WireGuard/PublicKey

Las teclas generadas ahora se imprimirán.

Paso 4: Configuración para enrutar el tráfico VPN

En este paso, crearemos un archivo de configuración en el directorio '/etc/cableguard' y lo abriremos usando el editor nano.

Antes de crear el archivo de configuración, obtenga la clave privada utilizando el siguiente comando.

$ sudo gato/etc/cableguard/privatekey

Guarde la llave privada en algún lugar; Lo necesitará más adelante en el archivo de configuración.

Ahora, crea el "WG0.archivo conf ”.

$ sudo nano/etc/cableguard/wg0.confusión

Agregue el contenido que se da a continuación al "/etc/cableguard/wg0.archivo conf ”

[Interfaz]
## Clave privada del cliente VPN ##
PrivateKey = 8D8PULQCBUW+51WPE3Q7KUTGXQHUVSY+A+DBGAMB+3O =
## Dirección IP del cliente VPN ##
Dirección = 192.168.18.201/24
[Par]
## Clave pública de CentOS 8 VPN Server ##
PublicKey = VWNDJ4OB7ZJWC/7UOM ++ OLDRBAXMPSR2YD0CL3SEKUI =
## establecer ACL ##
Permitido = 0.0.0.0/0
## Dirección IP y puerto de CentOS 8 VPN Server ##
Punto final = 192.168.18.200: 51820

El archivo de configuración contiene los siguientes términos clave:

  • Llave privada - la clave generada en la máquina del cliente.
  • DIRECCIÓN - la dirección IP para la interfaz (WG0).
  • Llave pública - la clave pública de la máquina del servidor VPN a la que queremos conectarnos.
  • Permitido - Todas las direcciones IP permitidas para el flujo de tráfico utilizando la VPN.
  • Punto final - Proporcionaremos la dirección IP y el número de puerto de la máquina del servidor CentOS 8 a la que queremos conectarnos.

Ahora hemos configurado la máquina del cliente también. Guarde el archivo y salga con los atajos de teclado (Ctrl + S) y (CTRL + X).

Paso 5: Establezca privilegios de la configuración y el archivo "PrivateKey"

Ahora, cambiaremos el modo y estableceremos los privilegios del archivo de configuración y el archivo "PrivateKey" a 600. Ingrese el siguiente comando para establecer los permisos.

$ sudo chmod 600/etc/wireguard/privatekey
$ sudo chmod 600/etc/cableguard/wg0.confusión

Ahora que hemos finalizado los permisos, podemos encender la interfaz (WG0) utilizando la herramienta de línea de comandos "WG-Quick".

Paso 6: Inicie la interfaz

Para encender la interfaz, emita el comando que se proporciona a continuación:

$ sudo wg-quick up wg0

Ahora hemos iniciado con éxito la interfaz. A continuación, verificaremos el estado de la interfaz.

$ sudo wg

Habilite la interfaz para iniciar automáticamente la interfaz en el arranque del servidor CentOS 8.

$ sudo SystemCTL Habilitar wg-quick@wg0

En esta etapa, el cliente también está configurado.

Paso 7: Agregue la dirección IP y la clave pública del cliente al servidor CentOS 8

El paso final es agregar la dirección IP y la clave pública de la máquina del cliente VPN al archivo de configuración de la máquina del servidor VPN CentOS 8 WireGuard VPN.

Regrese a la máquina del servidor y agregue el siguiente contenido al "/etc/cableguard/wg0.archivo conf ”.

[Par]
## Clave pública del cliente VPN ##
Publickey = dmfo9pirb315slxogxxtmrbwaqpy07c57evpks1ikza =
## Dirección IP del cliente VPN ##
Permitido = 192.168.10.2/32

Después de actualizar el archivo de configuración del servidor VPN, guarde el archivo y salga con los atajos de teclado (Ctrl + S) y (Ctrl + X).

Se ha establecido el túnel, y todo el tráfico se pasará por el servidor VPN CentOS 8 WireGuard.

Paso 8: Verificar la conexión del túnel

Para verificar que el servidor VPN CentOS 8 WireGuard se haya instalado y configurado correctamente, emita el comando que se proporciona a continuación para verificar que el tráfico fluye a través del servidor VPN de WireGuard configurado.

$ sudo wg

Y eso es todo! Ha configurado y establecido el servidor WireGuard VPN correctamente.

Conclusión

Este artículo le mostró cómo instalar y configurar WireGuard VPN en su máquina CentOS 8 y configurar el sistema como servidor VPN. También le mostramos cómo configurar un cliente VPN CentOS 8 WireGuard y configurar el cliente para enrutar el tráfico a través del servidor WireGuard VPN.