Para redes aisladas - sin dominio público, sin internet saliente, conectividad restringida.
Los navegadores requieren HTTPS de confianza para cámara/micrófono mediante WebRTC. Los certificados autofirmados funcionan pero muestran advertencias. Para una configuración limpia, genera una CA privada y distribúyela a los clientes.
Generar CA privada y certificado de servidor
Los navegadores modernos requieren Subject Alternative Names (SANs) en los certificados. El instalador maneja esto automáticamente.
Opción 1: Usar el instalador (recomendado)
El comando bedrud install genera certificados autofirmados con las SANs adecuadas para las IPs y dominios indicados:
sudo bedrud install --tls --ip TU_IP_DEL_SERVIDORPara incluir también un nombre de dominio:
sudo bedrud install --tls --ip TU_IP_DEL_SERVIDOR --domain your.domain.comOpción 2: Generación manual de certificados
Si la generación integrada del instalador no se ajusta a tu flujo de trabajo, añade las banderas -addext a los comandos de openssl:
#### Ed25519 (matches Bedrud's built-in generation, recommended)
```bash
openssl genpkey -algorithm ed25519 -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/CN=Bedrud Internal CA"
openssl genpkey -algorithm ed25519 -out server.key
openssl req -new -key server.key -out server.csr \
-subj "/CN=<tu-ip-o-nombre-de-host-del-servidor>" \
-addext "subjectAltName=IP:TU_IP_DEL_SERVIDOR"
openssl x509 -req -days 1825 -in server.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
-addext "subjectAltName=IP:TU_IP_DEL_SERVIDOR"
sudo ./bedrud install --tls --cert server.crt --key server.key --ip TU_IP_DEL_SERVIDORECDSA P256 (alternative)
openssl ecparam -genkey -name prime256v1 -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/CN=Bedrud Internal CA"
openssl ecparam -genkey -name prime256v1 -out server.key
openssl req -new -key server.key -out server.csr \
-subj "/CN=<tu-ip-o-nombre-de-host-del-servidor>" \
-addext "subjectAltName=IP:TU_IP_DEL_SERVIDOR"
openssl x509 -req -days 1825 -in server.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
-addext "subjectAltName=IP:TU_IP_DEL_SERVIDOR"
sudo ./bedrud install --tls --cert server.crt --key server.key --ip TU_IP_DEL_SERVIDORRSA (legacy compatibility, larger keys)
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/CN=Bedrud Internal CA"
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr \
-subj "/CN=<tu-ip-o-nombre-de-host-del-servidor>" \
-addext "subjectAltName=IP:TU_IP_DEL_SERVIDOR"
openssl x509 -req -days 365 -in server.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
-addext "subjectAltName=IP:TU_IP_DEL_SERVIDOR"
sudo ./bedrud install --tls --cert server.crt --key server.key --ip TU_IP_DEL_SERVIDORAñadir la CA a los almacenes de confianza de los clientes
Distribuye ca.crt a todas las máquinas cliente:
Windows
certmgr.msc # Clic derecho en ca.crt → Instalar certificado → CA raíz de confianzamacOS
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain ca.crtLinux (Debian/Ubuntu)
sudo cp ca.crt /usr/local/share/ca-certificates/bedrud-ca.crt
sudo update-ca-certificatesLinux (Arch/Fedora)
sudo cp ca.crt /etc/pki/ca-trust/source/anchors/bedrud-ca.crt
sudo update-ca-trustReinicia los navegadores y luego abre https://TU_IP_DEL_SERVIDOR (reemplaza con la dirección IP real del servidor, por ejemplo 192.168.1.100). Después de reiniciar, el certificado será de confianza y el acceso a la cámara y al micrófono funcionará sin advertencias.
Solución de problemas
| Problema | Solución |
|---|---|
| El navegador sigue advirtiendo que el certificado no es de confianza | Limpia la caché del navegador, reinícialo después de instalar la CA |
| Cámara/micrófono bloqueado | Verifica que la CA esté en las CA raíz de confianza, no en intermedias |
| Certificado caducado | Ejecuta sudo bedrud cert renew para regenerar (renovación automática cada 24h a las 09:00) |
| Desajuste de CN | Los navegadores modernos ignoran el campo CN — SAN es la autoridad. Usa la generación integrada de certificados del instalador (recomendado) o añade -addext 'subjectAltName=...' al comando openssl |
| SANs faltantes | Los navegadores modernos ignoran el campo CN. Usa la generación integrada de certificados del instalador (recomendado) o añade -addext 'subjectAltName=...' al comando openssl |
Consulta también
- Guía de instalación - métodos de instalación
- Referencia de configuración - opciones completas de configuración