obsidian-dix/DIX-Notes/Wireguard con obfuscación.md

4.9 KiB

¡Claro! Configurar un túnel WireGuard con obfs4proxy es una excelente manera de evitar que el tráfico VPN sea detectado, ya que obfs4proxy es un protocolo de ofuscación diseñado específicamente para ocultar el tráfico VPN y hacerlo parecer tráfico normal HTTPS.

A continuación, te guiaré a través de los pasos básicos para configurar esto. Aquí tienes un esquema general para hacerlo:

1. Instalar WireGuard y obfs4proxy en el servidor

  1. Instalar WireGuard:
    Si no tienes WireGuard instalado en tu servidor, primero instálalo:

    En Ubuntu/Debian:

    sudo apt update
    sudo apt install wireguard
    
  2. Instalar obfs4proxy:
    obfs4proxy se utiliza para ofuscar el tráfico VPN. Puedes instalarlo en el servidor y el cliente.

    En Ubuntu/Debian:

    sudo apt install obfs4proxy
    

2. Configurar WireGuard en el servidor

Ya que tienes WireGuard instalado, tendrás que configurar la parte básica de la VPN. Aquí te dejo un ejemplo de configuración de servidor WireGuard (/etc/wireguard/wg0.conf):

[Interface]
Address = 10.10.10.1/24   # Dirección IP del servidor WireGuard
ListenPort = 51820         # Puerto para WireGuard (por defecto 51820)
PrivateKey = <private-key>

[Peer]
PublicKey = <peer-public-key>
AllowedIPs = 10.10.10.2/32  # IP del cliente

Asegúrate de generar las claves privadas y públicas con wg genkey y wg pubkey, como se indica en la documentación de WireGuard.

3. Configurar obfs4proxy

El siguiente paso es configurar obfs4proxy para usarlo con WireGuard. Vamos a usar el puerto 443 para hacer que el tráfico de WireGuard se vea como HTTPS.

  1. Generar un "bridge" de obfs4proxy:

    Primero, necesitarás crear un "bridge" para obfs4proxy. Esto se hace ejecutando el siguiente comando en tu servidor para obtener un identificador único de obfs4 (también conocido como bridge):

    obfs4proxy -generate
    

    Esto generará algo como:

    Bridge obfs4 <IP:Puerto> <identificador-obfs4>
    

    Guarda esta información porque la necesitarás en el cliente.

  2. Configurar el obfs4proxy en el servidor:

    Una vez que tengas el "bridge", puedes configurar obfs4proxy para que actúe como un "proxy" en el servidor de WireGuard. Para hacerlo, necesitas ejecutar obfs4proxy y asociarlo con el puerto 443.

    Para hacerlo, puedes usar este comando en el servidor:

    obfs4proxy -enableServer -listenAddr 0.0.0.0:443
    

    Esto hará que el servidor WireGuard pase su tráfico por el obfs4proxy, y lo hará parecer tráfico HTTPS.

4. Configurar WireGuard en el cliente

En el lado del cliente, deberás configurar WireGuard para que se conecte al servidor, pero a través del túnel ofuscado. Aquí está un ejemplo de cómo hacerlo:

  1. Configurar WireGuard:

    El archivo de configuración del cliente (wg0-client.conf) se verá de esta forma:

    [Interface]
    PrivateKey = <private-key>
    Address = 10.10.10.2/32
    
    [Peer]
    PublicKey = <server-public-key>
    Endpoint = <IP-del-servidor>:443  # Usa el puerto 443 (HTTPS) para la conexión
    AllowedIPs = 0.0.0.0/0, ::/0
    PersistentKeepalive = 25
    
  2. Configurar obfs4proxy en el cliente:

    En el lado del cliente, también tendrás que usar obfs4proxy. Puedes instalarlo de la misma manera que en el servidor.

    Una vez instalado, ejecuta obfs4proxy en el cliente:

    obfs4proxy -proxy <bridge-del-servidor>
    

    El bridge-del-servidor es la información que obtuviste del paso de configuración del servidor.

5. Verificar la conexión

Finalmente, verifica que la conexión está funcionando. Si todo está configurado correctamente, el tráfico de WireGuard se verá como tráfico HTTPS y debería ser mucho más difícil de bloquear.

Para verificar:

  1. Asegúrate de que el servicio de WireGuard y obfs4proxy esté activo en ambos lados (sudo systemctl status wg-quick@wg0).

  2. Realiza una conexión desde el cliente al servidor usando WireGuard, y asegúrate de que se esté enrutando correctamente a través de obfs4proxy.

Resumen de pasos clave:

  • Instalar y configurar WireGuard en el servidor y cliente.

  • Instalar y ejecutar obfs4proxy en el servidor y cliente, usando el puerto 443 para pasar por tráfico HTTPS.

  • Configurar la VPN para usar la ofuscación, de modo que el tráfico de WireGuard sea indetectable.


Este proceso es un poco más avanzado debido a la necesidad de configurar obfs4proxy y combinarlo con WireGuard, pero definitivamente vale la pena si las restricciones de red son severas. Si necesitas más detalles o tienes alguna pregunta durante la configuración, no dudes en preguntar.