GNU/Linux >> Tutoriales Linux >  >> Linux

WireGuard en Kali

Hemos escuchado mucho sobre WireGuard últimamente y, dado que se agregó recientemente a los repositorios de Kali, pensamos en probarlo rápidamente para ver de qué se trata todo este alboroto. En general, descubrimos que esta es una solución de VPN realmente agradable y rápida de configurar, y podría valer la pena echarle un vistazo.

Cómo empezar

Con WireGuard agregado a los repositorios, la instalación es fácil y agradable:

apt install wireguard resolvconf

Y estamos fuera. Luego viene el momento de la configuración. Aquí es donde WireGuard realmente brilló para nosotros, ya que tomó casi nada para ponerlo en marcha.

En el servidor, tenemos que generar un par de claves pública/privada y configurar un archivo de configuración inicial.

wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat > /etc/wireguard/wg0.conf << EOF
[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-

[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.222.222.2/32
EOF

Y hacemos el mismo proceso en el cliente para establecer su par de claves y configuración.

wg genkey | tee privatekey | wg pubkey > publickey
umask u=rwx,go= && cat /etc/wireguard/wg0.conf  << EOF
[Interface]
Address = 10.222.222.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8

[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
EOF

Estas son configuraciones bastante simples, pero vale la pena señalar algunas cosas. En primer lugar, obviamente debe colocar la salida de los pares de claves en las configuraciones según corresponda. Además, la línea DNS en el cliente es para ayudar a evitar que las fugas de DNS usen su servidor DNS local predeterminado. Puede o no querer cambiar eso dependiendo de sus necesidades.

Sin embargo, lo más importante es la línea "IP permitidas". Esto controlará qué IP pasa o no pasa por la VPN. En este caso, configuramos el cliente para enrutar todo a través del servidor VPN. Jugaremos con esto más en un momento, pero veamos cómo ejecutar esta configuración básica.

Iniciar y detener el túnel es bastante fácil.

# The VPN can be enabled using
wg-quick up wg0
# To disable the VPN:
wg-quick down wg0
# Information about the connection can be retrieved with following command:
wg show

Y, por supuesto, debemos habilitar el enmascaramiento de IP y el reenvío de IP en el servidor.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Entonces, con esto tenemos una configuración de VPN tradicional. Si solo está buscando obtener una configuración de VPN estándar, en este punto ya ha terminado. Esto tiene algunas ventajas en comparación con el uso de OpenVPN, por ejemplo, esta solución parece ser mucho más rápida, la configuración es mucho más simple y es un poco más sigiloso porque el servidor no responderá a los paquetes que no tienen un par de claves adecuado vinculado a ellos. Sin embargo, pensamos que podría ser interesante cambiar la configuración para reflejar nuestra configuración ISO de Doom, tener un cliente que se conectará automáticamente al servidor en el arranque, lo que permitirá que el servidor se enrute y acceda a la red del cliente.

¡Wireguard de DOOM!

Lo primero es lo primero, en nuestro cliente, configuremos rápidamente el reenvío y el enmascaramiento de IP:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Genial, con eso hecho, hacemos un par de cambios menores en nuestras configuraciones. En primer lugar, en el servidor cambiamos la línea "IP permitidas" para tener la red privada en el sitio del informe. Esto se vería así:

[Interface]
Address = 10.222.222.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = -SERVER PRIVATE KEY-

[Peer]
PublicKey = -CLIENT PUBLIC KEY-
AllowedIPs = 10.200.200.2/32, 192.168.2.0/24

Con esa línea modificada en el servidor, modificamos la línea "IP permitidas" del cliente para eliminar la opción de enrutar todo al servidor VPN.

[Interface]
Address = 10.200.200.2/32
PrivateKey = -CLIENT PRIVATE KEY-
DNS = 8.8.8.8

[Peer]
PublicKey = -SERVER PUBLIC KEY-
Endpoint = public.ip.of.server:51820
AllowedIPs = 10.200.200.0/24
PersistentKeepalive = 21

¡Y eso es todo!

[email protected]:~# ping 192.168.2.22
PING 192.168.2.22 (192.168.2.22) 56(84) bytes of data.
64 bytes from 192.168.2.22: icmp_seq=19 ttl=63 time=50.2 ms
64 bytes from 192.168.2.22: icmp_seq=20 ttl=63 time=53.4 ms
64 bytes from 192.168.2.22: icmp_seq=21 ttl=63 time=48.1 ms

Ahora el servidor VPN puede acceder a las subredes del otro lado de WireGuard VPN.

Resumiendo

El tiempo dirá si WireGuard reemplaza a OpenVPN como la VPN de elección, o si el último rumor es solo la emoción de usar los juguetes más nuevos. En cualquier caso, es bueno tener la capacidad de probarlo y usarlo si encaja bien. Como hemos visto aquí, definitivamente es fácil de configurar y relativamente versátil en los casos de los usuarios.


Linux
  1. Kali Pi seguro (2022)

  2. Kali Unkaputtbar

  3. Mejoras de accesibilidad de Kali Linux

  4. Consecuencias del lanzamiento de Kali Linux

  5. Lanzamiento de Kali Linux 1.0.7

Endurecimiento de Kali Linux

Cómo instalar Kali Linux

Descargar KaliLinux

Requisitos del sistema Linux Kali

Kali Linux contra Parrot

¡Kali por todas partes!