104 lines
2.3 KiB
Markdown
104 lines
2.3 KiB
Markdown
# SOLUCIÓN: TURN SERVER PARA EASYPANEL
|
|
|
|
## 🔄 TURN Server como alternativa para NAT traversal
|
|
|
|
### ¿Qué es TURN?
|
|
TURN (Traversal Using Relays around NAT) permite que WebRTC funcione sin exponer miles de puertos UDP.
|
|
|
|
## 🏗️ ARQUITECTURA CON TURN
|
|
|
|
```
|
|
Cliente → Internet → TURN Server → EasyPanel
|
|
(3 puertos) (sin UDP)
|
|
|
|
Vs. directo:
|
|
Cliente → Internet → EasyPanel
|
|
(10,000 UDP) ❌ No posible
|
|
```
|
|
|
|
## 📋 IMPLEMENTACIÓN
|
|
|
|
### 1. TURN Server en VPS separado
|
|
```bash
|
|
# Instalar Coturn en VPS
|
|
apt-get update
|
|
apt-get install coturn
|
|
|
|
# /etc/turnserver.conf
|
|
listening-port=3478
|
|
tls-listening-port=5349
|
|
external-ip=IP_PUBLICA_VPS
|
|
realm=turn.tu-dominio.com
|
|
lt-cred-mech
|
|
user=usuario:password123
|
|
verbose
|
|
```
|
|
|
|
### 2. Firewall VPS (Solo 3 puertos)
|
|
```bash
|
|
# Solo estos 3 puertos para TURN
|
|
ufw allow 3478/tcp # TURN TCP
|
|
ufw allow 3478/udp # TURN UDP
|
|
ufw allow 5349/tcp # TURN over TLS
|
|
ufw enable
|
|
```
|
|
|
|
### 3. LiveKit en EasyPanel con TURN
|
|
```yaml
|
|
# livekit.yaml para EasyPanel
|
|
port: 7880
|
|
|
|
keys:
|
|
devkey: tu-secret-32-chars
|
|
|
|
# SIN puertos UDP locales - usar TURN
|
|
rtc:
|
|
# NO port_range - usa TURN
|
|
use_external_ip: false
|
|
|
|
# Configurar TURN servers
|
|
ice_servers:
|
|
- urls: ["stun:stun.l.google.com:19302"]
|
|
- urls: ["turn:turn.tu-dominio.com:3478"]
|
|
username: "usuario"
|
|
credential: "password123"
|
|
- urls: ["turns:turn.tu-dominio.com:5349"]
|
|
username: "usuario"
|
|
credential: "password123"
|
|
```
|
|
|
|
### 4. Variables EasyPanel
|
|
```env
|
|
# Solo TCP - SIN UDP
|
|
LIVEKIT_URL=wss://tu-app.easypanel.host/livekit
|
|
LIVEKIT_API_KEY=devkey
|
|
LIVEKIT_API_SECRET=tu-secret-32-chars
|
|
```
|
|
|
|
### 5. Nginx en EasyPanel para proxy LiveKit
|
|
```nginx
|
|
# nginx.conf - agregar ruta para LiveKit
|
|
location /livekit {
|
|
proxy_pass http://openvidu-meet:7880;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
}
|
|
```
|
|
|
|
## 💰 COSTOS
|
|
- **TURN VPS**: $5-10/mes (pequeño VPS)
|
|
- **EasyPanel**: Tu plan actual
|
|
- **Total**: +$5-10/mes vs LiveKit Cloud
|
|
|
|
## ✅ VENTAJAS
|
|
- ✅ Solo 3 puertos UDP en VPS externo
|
|
- ✅ EasyPanel sin UDP
|
|
- ✅ NAT traversal garantizado
|
|
- ✅ Menor costo que LiveKit Cloud
|
|
|
|
## ❌ DESVENTAJAS
|
|
- ❌ Configuración más compleja
|
|
- ❌ VPS adicional para TURN
|
|
- ❌ Latencia adicional (relay)
|
|
- ❌ Ancho de banda TURN server |