obsidian-dix/Agencia_Espacial_Mexicana/Wireguard con obfuscación.md

132 lines
4.9 KiB
Markdown

¡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**:
```bash
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**:
```bash
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`):
```ini
[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):
```bash
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:
```bash
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:
```ini
[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:
```bash
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.