103 lines
2.7 KiB
Markdown
103 lines
2.7 KiB
Markdown
# CONFIGURACIÓN ROUTER - PORT FORWARDING PARA LIVEKIT
|
|
|
|
## 🌐 Port Forwarding necesario en tu Router
|
|
|
|
### Puertos a exponer públicamente:
|
|
|
|
| Servicio | Puerto | Protocolo | IP Interna | Descripción |
|
|
|----------|---------|-----------|------------|-------------|
|
|
| **HTTP** | 80 | TCP | 192.168.1.19 | Redirect a HTTPS |
|
|
| **HTTPS/WSS** | 443 | TCP | 192.168.1.19 | LiveKit WebSocket Secure |
|
|
| **LiveKit API** | 7880 | TCP | 192.168.1.19 | API directa (opcional) |
|
|
| **WebRTC Media** | 50000-50100 | UDP | 192.168.1.19 | Streams de audio/video |
|
|
|
|
### Configuración típica router:
|
|
|
|
```
|
|
Regla 1: LiveKit-HTTPS
|
|
- Servicio: HTTPS/Custom
|
|
- Puerto externo: 443
|
|
- Puerto interno: 443
|
|
- IP interna: 192.168.1.19
|
|
- Protocolo: TCP
|
|
- Estado: Habilitado
|
|
|
|
Regla 2: LiveKit-HTTP
|
|
- Servicio: HTTP
|
|
- Puerto externo: 80
|
|
- Puerto interno: 80
|
|
- IP interna: 192.168.1.19
|
|
- Protocolo: TCP
|
|
- Estado: Habilitado
|
|
|
|
Regla 3: LiveKit-WebRTC
|
|
- Servicio: Custom
|
|
- Puerto externo: 50000-50100
|
|
- Puerto interno: 50000-50100
|
|
- IP interna: 192.168.1.19
|
|
- Protocolo: UDP
|
|
- Estado: Habilitado
|
|
```
|
|
|
|
## 🏠 IP Dinámica - Solución con DuckDNS
|
|
|
|
### Si tu IP pública cambia (típico en casa):
|
|
|
|
```bash
|
|
# 1. Crear cuenta en DuckDNS.org
|
|
# 2. Crear subdominio: mi-livekit.duckdns.org
|
|
# 3. Script de actualización automática
|
|
|
|
# /home/usuario/update-duckdns.sh
|
|
#!/bin/bash
|
|
echo url="https://www.duckdns.org/update?domains=mi-livekit&token=TU_TOKEN&ip=" | curl -k -o ~/duckdns.log -K -
|
|
|
|
# Crontab para actualizar cada 5 minutos
|
|
# crontab -e
|
|
*/5 * * * * /home/usuario/update-duckdns.sh >/dev/null 2>&1
|
|
```
|
|
|
|
### Configurar dominio en LiveKit:
|
|
```yaml
|
|
# livekit-production.yaml
|
|
rtc:
|
|
external_ip: "mi-livekit.duckdns.org" # En lugar de IP
|
|
```
|
|
|
|
## 🔒 Certificado SSL automático con Let's Encrypt
|
|
|
|
```bash
|
|
# Instalar certbot
|
|
sudo apt install certbot
|
|
|
|
# Generar certificado para tu dominio
|
|
sudo certbot certonly --standalone -d mi-livekit.duckdns.org
|
|
|
|
# Copiar certificados para Docker
|
|
sudo cp /etc/letsencrypt/live/mi-livekit.duckdns.org/fullchain.pem ./ssl/cert.pem
|
|
sudo cp /etc/letsencrypt/live/mi-livekit.duckdns.org/privkey.pem ./ssl/key.pem
|
|
sudo chown $USER:$USER ./ssl/*.pem
|
|
|
|
# Auto-renovación (crontab)
|
|
0 12 * * * /usr/bin/certbot renew --quiet && docker-compose restart nginx-livekit
|
|
```
|
|
|
|
## 📊 Verificación de conectividad
|
|
|
|
### Tests externos:
|
|
```bash
|
|
# Test puertos desde internet
|
|
nmap -p 80,443,7880 mi-livekit.duckdns.org
|
|
nmap -sU -p 50000-50010 mi-livekit.duckdns.org
|
|
|
|
# Test WebSocket
|
|
wscat -c wss://mi-livekit.duckdns.org
|
|
|
|
# Test HTTPS
|
|
curl -I https://mi-livekit.duckdns.org
|
|
```
|
|
|
|
### URLs finales:
|
|
- **LiveKit WSS**: `wss://mi-livekit.duckdns.org`
|
|
- **API HTTP**: `https://mi-livekit.duckdns.org`
|
|
- **Monitoreo**: `https://mi-livekit.duckdns.org/debug` |