#!/bin/bash # Jean Luc BIELLMANN - contact@alsatux.com # Généré via ChatGPT if [ -f ./samba.conf ]; then source ./samba.conf else echo "Fichier samba.conf introuvable !" exit 1 fi dns_menu() { while true; do clear echo "=== Gestion du DNS Samba ===" echo "Que souhaitez-vous faire ?" echo "" echo "Serveur DNS actuel : $ADSERVER" echo "Domaine DNS actuel : $DNSZONE" echo "" echo "1. Modifier le serveur actuel" echo "2. Modifier le domaine actuel" echo "3. Domaines sur le serveur" echo "4. Infos globales sur le domaine" echo "5. Enregistrements du domaine" echo "6. Ajouter un domaine" echo "7. Supprimer un domaine" echo "8. Afficher les serveurs parents" echo "11. Ajouter un enregistrement DNS" echo "12. Modifier un enregistrement DNS" echo "13. Supprimer un enregistrement DNS" echo "14. Test de résolution directe" echo "15. Test de résolution inverse" echo "" echo -n "Votre choix [Entrée pour retour] : " read choice echo "" case $choice in 1) read -p "Entrez le serveur DNS (par défaut $ADSERVER) : " dns_server ADSERVER=${dns_server:-$ADSERVER} ;; 2) read -p "Entrez le domaine (par défaut $DNSZONE) : " domain DNSZONE=${domain:-$DNSZONE} ;; 3) echo "Domaines sur le serveur :" samba-tool dns zonelist $ADSERVER ${SAMBA_AUTH_OPTS} ;; 4) echo "Infos globales sur le domaine :" samba-tool dns zoneinfo $ADSERVER $DNSZONE ${SAMBA_AUTH_OPTS} ;; 5) echo "Enregistrements du domaine :" samba-tool dns query $ADSERVER $DNSZONE @ ALL ${SAMBA_AUTH_OPTS} ;; 6) echo "Ajouter un domaine :" read -p "Entrez le nom du domaine à ajouter : " dns_domain samba-tool dns zonecreate $ADSERVER $dns_domain ${SAMBA_AUTH_OPTS} ;; 7) echo "Supprimer un domaine :" read -p "Entrez le nom du domaine à supprimer : " dns_domain samba-tool dns zonedelete $ADSERVER $dns_domain ${SAMBA_AUTH_OPTS} ;; 8) echo "Afficher les serveurs parents" samba-tool dns roothints $ADSERVER @ ${SAMBA_AUTH_OPTS} ;; 11) echo "Ajouter un enregistrement DNS" read -p "Entrez le nom d'hôte à ajouter : " dns_hostname read -p "Entrez le type (A|AAAA|PTR|CNAME|NS|MX|SRV|TXT) (par défaut A) : " dns_type dns_type=${dns_type:-A} read -p "Entrez la valeur : " dns_value samba-tool dns add $ADSERVER $DNSZONE $dns_hostname $dns_type $dns_value ${SAMBA_AUTH_OPTS} ;; 12) echo "Modifier un enregistrement DNS" read -p "Entrez le nom d'hôte à modifier : " dns_hostname read -p "Entrez le type (A|AAAA|PTR|CNAME|NS|MX|SRV|TXT) (par défaut A) : " dns_type dns_type=${dns_type:-A} read -p "Entrez la nouvelle valeur : " dns_value samba-tool dns update $ADSERVER $DNSZONE $dns_hostname $dns_type $dns_value ${SAMBA_AUTH_OPTS} ;; 13) echo "Supprimer un enregistrement DNS" read -p "Entrez le nom d'hôte à supprimer : " dns_hostname read -p "Entrez le type (A|AAAA|PTR|CNAME|NS|MX|SRV|TXT) (par défaut A) : " dns_type dns_type=${dns_type:-A} samba-tool dns delete $ADSERVER $DNSZONE $dns_hostname $dns_type ${SAMBA_AUTH_OPTS} ;; 14) echo "Test de résolution directe" read -p "Entrez le nom d'hôte à interroger : " dns_hostname read -p "Entrez le type (A|AAAA|PTR|CNAME|NS|MX|SRV|TXT) (par défaut A) : " dns_type dns_type=${dns_type:-A} samba-tool dns query $ADSERVER $DNSZONE $dns_hostname $dns_type ${SAMBA_AUTH_OPTS} ;; 15) echo "Test de résolution inverse" echo "Attention : si vous voulez 192.168.150.30, il ne faut rentrer que 30 !" read -p "Entrez l'adresse IP à interroger : " dns_hostname_ip read -p "Entrez le type (A|AAAA|PTR|CNAME|NS|MX|SRV|TXT) (par défaut PTR) : " dns_type dns_type=${dns_type:-PTR} samba-tool dns query $ADSERVER $DNSZONE $dns_hostname_ip $dns_type ${SAMBA_AUTH_OPTS} ;; "") break ;; *) echo "Choix non valide. Veuillez réessayer." ;; esac read -n 1 -s -r -p "Appuyez sur une touche pour continuer..." done } dns_menu