132 lines
5.0 KiB
Markdown
132 lines
5.0 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. |