Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

zonecraft 🌐

Un gestor interactivo para crear y configurar zonas DNS directas e inversas en BIND9. Ideal para administradores de sistemas, estudiantes y entornos educativos.

Características ✨

  • Interfaz gráfica interactiva - Menú basado en whiptail fácil de usar
  • Crear zonas DNS directas - Configure rápidamente zonas con registros A, NS, CNAME y SOA
  • Crear zonas DNS inversas - Genere automáticamente registros PTR para resolución inversa
  • Configuración automática - Establece named.conf.local, named.conf.options y forwarders
  • Validación de sintaxis - Verifica la integridad de la configuración con named-checkzone
  • Soporte multi-servidor - Configure hasta 2 servidores de nombres (NS1 y NS2)
  • Gestión de equipos - Añada hasta 2 PCs con registros A automáticos
  • Instalación automática - Instala BIND9 si no está disponible (Debian/Ubuntu/Fedora/CentOS)
  • Reinicio automático - Reinicia BIND9 después de cambios

Requisitos 📋

  • Sistema Linux (Debian, Ubuntu, Fedora, CentOS, RHEL)
  • Acceso sudo
  • whiptail instalado (generalmente incluido)
  • Conexión a internet (para instalar BIND9)

Instalación 🚀

# Clonar el repositorio
git clone https://github.com/tu-usuario/zonecraft.git
cd zonecraft

# Hacer el script ejecutable
chmod +x zonecraft.sh

# Ejecutar con privilegios de administrador
sudo ./zonecraft.sh

Uso 💻

El script presenta un menú interactivo con las siguientes opciones:

GESTOR DNS BIND9

1. Comprobar/Instalar BIND9 - Verifica si BIND9 está instalado, sino lo instala
2. Crear Zona Directa - Crea un archivo de zona con registros A, NS, CNAME y SOA
3. Crear Zona Inversa - Genera registros PTR para resolución inversa
4. Configurar named.conf.options - Establece forwarders y opciones globales
5. Configurar named.conf.local - Declara las zonas en la configuración de BIND9
6. Comprobar sintaxis - Valida la configuración con named-checkzone y named-checkconf
7. Reiniciar BIND9 - Reinicia el servicio para aplicar cambios
8. Volver al menú principal

Ejemplo de flujo típico:

  1. Instalar BIND9 (opción 1)
  2. Crear una zona directa (opción 2) - Ingresa datos como:
    • Nombre de zona: empresa.local
    • NS1 e IP del servidor
    • Nombre del alias CNAME (ej: www)
    • Equipos a registrar
  3. Crear zona inversa (opción 3)
  4. Configurar named.conf.options (opción 4)
  5. Configurar named.conf.local (opción 5)
  6. Verificar sintaxis (opción 6)
  7. Reiniciar BIND9 (opción 7)

Ejemplo de uso

$ sudo ./zonecraft.sh

# Menú interactivo aparecerá. Selecciona:
# 1. Instalar BIND9
# 2. Crear Zona Directa
#    - Zona: empresa.local
#    - NS1 nombre: ns1
#    - NS1 IP: 192.168.1.1
#    - Alias CNAME: www
#    - PC1 nombre: pc1
#    - PC1 IP: 192.168.1.10
# (continúa según necesidades)

Archivos generados 📁

El script crea los siguientes archivos en /etc/bind/:

  • db.empresa.local - Zona directa
  • db.1.168.192 - Zona inversa (ejemplo)
  • Modifica named.conf.local - Declaración de zonas
  • Modifica named.conf.options - Configuración global

Compatibilidad 🖥️

Sistema Estado
Debian / Ubuntu ✅ Soportado
Fedora / CentOS ✅ Soportado
RHEL ✅ Soportado
macOS ❌ No probado
Windows (WSL) ✅ Debería funcionar

Solución de problemas 🔧

Error: "BIND9 ya está instalado"

Significa que BIND9 ya está en el sistema. Continúa con la opción 2 (Crear Zona Directa).

Error: "Las zonas ya están en named.conf.local"

Las zonas ya fueron declaradas. Verifica /etc/bind/named.conf.local para evitar duplicados.

El script se cierra sin motivo

Asegúrate de ejecutarlo con sudo:

sudo ./zonecraft.sh

Errores de sintaxis

Usa la opción 6 "Comprobar sintaxis" para validar la configuración antes de reiniciar.

Licencia 📜

Este proyecto está bajo licencia MIT. Ver archivo LICENSE para más detalles.

Contribuir 🤝

Las contribuciones son bienvenidas. Por favor:

  1. Haz un fork del repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -am 'Añade nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Abre un Pull Request

Autor ✍️

Creado con ❤️ para administradores de DNS y estudiantes de networking.

Soporte 💬

Si encuentras problemas o tienes sugerencias, abre un Issue.


Versión: 1.0.0
Última actualización: 2026-09-02

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages