🔒 Certificados SSL para direcciones IP
- HTTPS para cualquier IP: Obtén un certificado SSL válido a través de Let's Encrypt para cualquier dirección IP pública.
- Confiables en los navegadores: Todos los certificados están oficialmente validados — sin errores ni advertencias en el navegador.
- Sin configuración: No necesitas configurar DNS ni ejecutar tu propio servidor SSL.
- Renovación automática: Los certificados se renuevan automáticamente sin intervención manual.
🔧 ¿Cómo funciona?
Obtener un certificado SSL directamente para una dirección IP no es posible: las autoridades certificadoras (incluido Let's Encrypt) no emiten certificados para IPs sin dominio. DNSBox resuelve este problema — te permite obtener un certificado SSL gratuito para cualquier IP pública en segundos, sin necesidad de configurar un dominio ni un servidor DNS propio.
Modificamos automáticamente el DNS y realizamos la validación ACME, emitiendo el certificado de Let's Encrypt para un subdominio como 123.123.123.123.dnsbox.io
. Se admiten tanto IPv4 como IPv6. Todo funciona al instante — solo accede por HTTPS a la IP usando DNSBox.
DNSBox convierte automáticamente las direcciones IP en nombres de dominio. Solo codifica la IP en el subdominio:
- IPv4:
1.2.3.4.dnsbox.io
→1.2.3.4
- IPv6:
2a01-4f8-c17-b8f--1.dnsbox.io
→2a01:4f8:c17:b8f::1
- HTTPS: Obtén un certificado SSL válido emitido por Let's Encrypt
- WebSocket: Soporte completo para WebSocket (los encabezados Upgrade se mantienen)
🎯 Casos de uso
DNSBox es una herramienta versátil para acceder rápidamente a direcciones IP mediante DNS y HTTPS, sin configuraciones complicadas:
- Desarrollo web y pruebas: Crea dominios temporales para servidores locales o remotos. Ideal para demostrar proyectos a clientes o testear sin modificar registros DNS.
- Internet de las cosas (IoT): Asegura acceso estable a dispositivos IoT en redes dinámicas usando nombres de dominio permanentes. Facilita el monitoreo y la gestión.
- Servidores temporales: Obtén nombres de dominio al instante para demostraciones o proyectos efímeros. Sin necesidad de comprar ni configurar dominios.
- Uso corporativo: Despliega tu propio nodo DNSBox para tener control total sobre DNS y certificados SSL. Asegura la privacidad y la protección de tu infraestructura.
🌍 ¿Por qué usar DNSBox para obtener SSL en una IP?
- ✨ No necesitas tener ni configurar un dominio
- ✨ Certificados SSL de Let's Encrypt sin dominio propio
- ✨ Funciona con cualquier IP (IPv4 o IPv6), sin necesidad de dirección estática
- ✨ Configuración automática de DNS y HTTPS
- ✨ Rápido, confiable, accesible globalmente y listo para producción
- ✨ Ideal para APIs, CI/CD, DevOps, servidores temporales y VPNs
❓ Preguntas frecuentes
- ¿Qué hace DNSBox? DNSBox te permite obtener un certificado SSL gratuito para cualquier dirección IP — incluso si no tienes un dominio. Solo tienes que usar un subdominio como 123.123.123.123.dnsbox.io, y nosotros emitiremos y gestionaremos el certificado automáticamente.
- ¿Cómo se usa DNSBox? Simplemente reemplaza tu IP en la URL por
IP.dnsbox.io
. Por ejemplo: https://167.172.5.205.dnsbox.io Nosotros nos encargamos del DNS y del certificado — no necesitas configurar nada. - ¿Puedo obtener HTTPS para una IP sin dominio? Sí. Ese es el propósito principal de DNSBox — obtener certificados SSL para IPs públicas sin tener que registrar un dominio. Solo usa un subdominio como
IP.dnsbox.io
y realizaremos la validación ACME mediante Let's Encrypt. - ¿Es seguro? Sí. Utilizamos certificados de Let's Encrypt y ciframos todas las conexiones con HTTPS. Además, puedes verificar el certificado manualmente si lo deseas.
- ¿Es gratis? Sí, es totalmente gratuito para uso público — y el código es de código abierto.
- ¿Con qué direcciones IP funciona DNSBox? Con cualquier dirección IP pública — tanto IPv4 como IPv6.
- ¿Y si tengo una IP dinámica? Puedes usar DNSBox, pero el certificado será válido solo para la IP usada durante la configuración. Recomendamos combinarlo con un servicio DDNS en estos casos.
- ¿Cuánto tiempo es válido el certificado? Los certificados de Let's Encrypt son válidos por 90 días, y DNSBox los renueva automáticamente.
- ¿Puedo usar DNSBox en producción? Claro que sí. DNSBox está diseñado para entornos de producción — perfecto para CI/CD, APIs públicas, SPAs, dispositivos IoT y más.
- ¿Necesito registrarme o crear una cuenta? No. Todo funciona sin necesidad de cuenta o registro.
- ¿Qué pasa si mi servidor está apagado o no responde? Si no se puede establecer conexión con tu IP (por ejemplo, *.dnsbox.io), el navegador mostrará un error estándar. DNSBox seguirá gestionando el certificado y todo volverá a funcionar cuando el servidor esté de nuevo en línea.
- ¿Cómo se verifica la IP antes de emitir el certificado? Utilizamos validación DNS a través del subdominio. DNSBox gestiona la zona dnsbox.io, lo que nos permite crear los registros TXT necesarios para Let's Encrypt de forma inmediata.
- ¿Puedo usar DNSBox con IPs privadas o internas (como 192.168.0.1)? No. Este servicio funciona únicamente con direcciones IP públicas accesibles desde internet.
- ¿Dónde está el código fuente? Ver en GitHub
🧪 ¿Quieres desplegarlo por tu cuenta?
DNSBox te permite obtener un certificado SSL para una dirección IP sin necesidad de comprar un dominio ni configurar DNS — solo usa subdominios como IP.dnsbox.io
y todo funcionará directamente.
Pero si prefieres una instancia totalmente independiente, con control completo sobre registros DNS y certificados, deberás configurar la infraestructura manualmente:
Qué necesitas para desplegarlo tú mismo:
1. ✅ Compra un dominio (por ejemplo, example.com
).
2. 🖥 Alquila al menos dos servidores con IP públicas y estáticas — funcionarán como servidores NS.
3. 🛠 Crea los registros NS en tu registrador, apuntando a esas IPs. Ejemplo:
ns1.example.com → 167.172.5.205
ns2.example.com → 134.199.248.116
4. 🚀 Instala DNSBox en cada servidor, especificando los parámetros correctos:
bash <(curl -sSL https://install.dnsbox.io) \
--ip=167.172.5.205 \
--domain=example.com \
--ns=ns1
Referencia de parámetros:
--ip
— dirección IP pública del servidor actual (la misma usada en el registro NS).--domain
— dominio raíz, por ejemplo example.com
.--ns
— nombre del servidor NS actual (ns1
, ns2
, etc.).
Parámetros adicionales:
--force-resolv
— desactiva systemd-resolved (si el puerto 53 está ocupado).--debug
— activa el registro detallado (DNSBOX_DEBUG=true
).
📌 Una vez configurado, tu instancia DNSBox:
- funciona como servidor NS autoritativo,
- responde consultas DNS,
- obtiene automáticamente certificados SSL para IPs vía Let's Encrypt,
- habilita acceso HTTPS y WSS sin depender de subdominios
dnsbox.io
.
💡 Esta solución es ideal si tú:
- necesitas control total sobre tu infraestructura,
- despliegas APIs, servicios internos o VPNs sobre IPs directas,
- construyes proyectos autónomos que requieren HTTPS sin dominio.
🔗 Revisa el código fuente y la documentación:
github.com/crypto-chiefs/dnsbox
✅ Cómo verificar que todo funciona
Después de configurar DNSBox, es importante asegurarte de que tu certificado SSL para la dirección IP se haya emitido correctamente y sea accesible vía HTTPS. A continuación, una guía para dos escenarios: usando subdominios IP.dnsbox.io
o una instalación autoalojada.
1. Si estás usando IP.dnsbox.io
DNSBox configura automáticamente el DNS y el proxy HTTPS para tu IP, por lo que todo funciona sin ajustes adicionales.
Verificación del registro DNS:
dig +short 167.172.5.205.dnsbox.io
La respuesta esperada es la IP de uno de los servidores NS de DNSBox (por ejemplo, 167.172.5.205
, si fue definida durante la instalación).
Verificación HTTPS en el navegador:
https://167.172.5.205.dnsbox.io
🔒 El navegador debe mostrar una conexión segura con un certificado válido de Let's Encrypt.
2. Si desplegaste DNSBox por tu cuenta
En este caso, gestionas tu propia infraestructura: dominio, registros NS y nodos de DNSBox. Asegúrate de que todo esté funcionando correctamente:
Verificación de registros NS del dominio:
dig NS example.com
Verifica que se devuelvan ns1.example.com.
, ns2.example.com.
, etc.
Verificación de direcciones IP de los NS:
dig A ns1.example.com
dig A ns2.example.com
La respuesta debe contener las IP reales de tus servidores VPS.
Verificación de zona a través de un NS específico:
dig @167.172.5.205 A example.com
Asegúrate de que el dominio resuelva a la IP esperada.
📌 Si hay errores — asegúrate de que el DNS funcione, que los registros NS sean correctos y que DNSBox esté ejecutándose en todos los servidores NS.
⚙️ Detalles técnicos
Implementación base
- Escrito en Go sin dependencias externas para HTTP/DNS
- Utiliza miekg/dns como servidor DNS integrado
- DNS integrado (UDP + TCP en el puerto 53), HTTPS (:443) y API REST (:80)
- Un único binario y unidad systemd — ideal para servidores, VPS y nodos edge
DNS y enrutamiento
Conversión de IP desde el subdominio:
1.2.3.4.dnsbox.io
→1.2.3.4
2a01-4f8-c17-b8f--1.dnsbox.io
→2a01:4f8:c17:b8f::1
(где -- → ::, - → :)
Tipos de registros DNS compatibles:
- A, AAAA: A / AAAA — Dirección IP derivada del nombre de dominio
- TXT: TXT — Almacenamiento y replicación del desafío ACME
- NS, SOA, SRV: NS, SOA, SRV — Generados dinámicamente (incluye descubrimiento entre nodos)
- CNAME, MX, TXT: CNAME, MX, TXT — Se pueden definir manualmente mediante custom_domains.txt
Módulo customdns
- Permite agregar registros A, CNAME, MX, TXT, AAAA a través de custom_domains.txt
- El archivo está embebido mediante embed.FS — no requiere gestor de configuración externo
- Funciona en paralelo con la generación automática basada en IP
TLS y HTTPS
- Emisión automática de certificados con Let's Encrypt usando dns-01
- Los registros TXT se almacenan localmente y se sincronizan entre nodos vía API REST
- Cifrado de certificados entre nodos usando ECDH efímero (X25519) + AES-GCM
- Los certificados se guardan en /var/lib/dnsbox/certs y se validan automáticamente en cada solicitud
WebSocket
- Compatibilidad con los encabezados Connection: Upgrade + Upgrade: websocket
- Funciona con cualquier cliente wss://, incluidos navegadores y herramientas de línea de comandos
Seguridad y restricciones
- Bloqueo de IP mediante blacklist.txt (compatible con IPv4, IPv6 y rangos CIDR)
- No se responden solicitudes HTTPS ni DNS para direcciones bloqueadas
- Todas las comunicaciones entre nodos se cifran con claves temporales
Despliegue y configuración
-
Configuración a través de variables de entorno:
- DNSBOX_DOMAIN
- DNSBOX_IP
- DNSBOX_NS_NAME
- DNSBOX_DEBUG
- Instalación con un solo comando vía curl | bash + unidad systemd
- Soporta el parámetro --force-resolv para desactivar systemd-resolved
- Soporta el parámetro --debug para habilitar el registro detallado
Cómo obtener un certificado SSL para una dirección IP
Los proveedores de certificados tradicionales (CAs) no emiten certificados SSL directamente para direcciones IP. DNSBox es un servicio único que permite superar esta limitación mediante la asignación dinámica de DNS. Usa un subdominio como IP.dnsbox.io
y realizaremos la validación con Let's Encrypt para emitir un certificado HTTPS funcional.
Es la solución perfecta si necesitas un SSL para un servidor por IP, HTTPS para APIs sin dominio o trabajas con IoT, entornos de prueba o túneles donde no es viable registrar un nombre de dominio.