Automatización completa de servidor DoT desde cero
Crear un sistema automatizado para desplegar servidores DNS over TLS (DoT) desde cero, integrando certificados SSL, proxy reverso y configuración de seguridad.
11 scripts que automatizan completamente la instalación y configuración de un servidor DoT funcional con SSL/TLS y monitoreo.
Tecnologías utilizadas en el proyecto:
Script principal que coordina toda la instalación
Funciones compartidas, colores y utilidades
Detecta SO, gestores de paquetes y servicios
Verifica propagación DNS antes de continuar
Instala y configura Nginx como proxy
Obtiene certificados SSL de Let's Encrypt
Compila e instala Stubby desde fuente
Configura stream proxy para DoT
Configura UFW/FirewallD/iptables
Instala SNMP y Fail2ban para monitoreo
Configuración global del sistema
#!/bin/bash
# Script principal para automatizar la instalación de DoT
function cleanup_on_exit() {
source common.sh
if [ "$INSTALL_COMPLETE" = false ]; then
print_warning "¡Instalación cancelada o fallida!"
run_cleanup_tasks
print_info "Limpieza completada."
else
print_success "¡Instalación completada con éxito!"
fi
rm -f config.sh
exit 0
}
scripts=(
"./detect_system.sh"
"./check_dns.sh"
"./setup_nginx.sh"
"./setup_certbot.sh"
"./setup_stubby.sh"
"./setup_nginx_dot.sh"
"./setup_firewall.sh"
"./setup_extras.sh"
)
for script in "${scripts[@]}"; do
if [ -f "$script" ]; then
print_info "Ejecutando: ${BOLD}$script${NC}"
if ! bash "$script"; then
print_error_and_exit "La instalación falló en: $script"
fi
print_success "${BOLD}$script${NC} completado."
fi
done