Files
Maison/Migration/DOCUMENTATION_ImportDns.md
2026-02-10 12:12:11 +01:00

5.5 KiB

Documentation - Script importDns.sh

Vue d'ensemble

Le script importDns.sh est la nouvelle version améliorée pour importer les zones et enregistrements DNS depuis les fichiers CSV vers Samba4. Il remplace l'ancien script généré automatiquement par une approche plus flexible et maintenable.

Fonctionnalités

Import basé sur CSV

  • Utilise les fichiers CSV générés par exportDns.ps1
  • Lecture du fichier Transfert/Dns/dns_zones.csv pour la liste des zones
  • Traitement automatique des fichiers dns_records_<zone>.csv correspondants

Interface utilisateur améliorée

  • Affichage coloré avec codes de couleur pour les différents types de messages
  • Demande interactive des credentials Samba4
  • Mode dry-run pour tester avant l'import réel
  • Progression détaillée avec compteurs de réussite/échec

Gestion robuste des erreurs

  • Vérifications préalables des prérequis
  • Validation des credentials avant de commencer
  • Création automatique des zones si elles n'existent pas
  • Continuation même en cas d'erreurs sur des enregistrements individuels

Filtrage intelligent

  • Ignore les zones reverse (in-addr.arpa)
  • Traite seulement les zones Primary Forward
  • Exclut les enregistrements système (@, SOA, NS, _service)

Utilisation

Prérequis

  1. Avoir exécuté exportDns.ps1 sur Windows pour générer les fichiers CSV
  2. Avoir transféré le dossier Transfert/Dns/ sur le serveur Samba4
  3. Samba4 doit être installé et configuré

Exécution

# Se placer dans le répertoire de migration
cd /data/apps/Migration

# Exécuter le script
./importDns.sh

Interface interactive

  1. Vérification des prérequis : Le script vérifie automatiquement la présence de samba-tool et des fichiers CSV

  2. Credentials :

    • Nom d'utilisateur (défaut: Administrator)
    • Mot de passe (saisie masquée)
    • Validation automatique des credentials
  3. Mode d'exécution :

    • Option 1 : Dry-run (affiche les commandes sans les exécuter)
    • Option 2 : Import réel
  4. Traitement :

    • Création automatique des zones DNS
    • Import des enregistrements avec feedback détaillé
    • Statistiques finales

Structure des fichiers CSV attendus

dns_zones.csv

"ZoneName","ZoneType","IsReverse","IsPrimary","DynamicUpdate","RecordCount"
"example.com","Forward","False","True","Secure","25"

dns_records_.csv

"Name","Type","TTL","Value","Timestamp"
"www","A","3600","192.168.1.100","Static"
"mail","CNAME","3600","www.example.com.","Static"

Avantages par rapport à l'ancien script

Aspect Ancien script Nouveau script
Source des données Hardcodé dans le script Fichiers CSV flexibles
Maintenance Modification du code Modification des CSV
Credentials Hardcodés ou répétés Demande interactive
Mode test Non disponible Mode dry-run intégré
Gestion d'erreurs Basique Robuste avec continuation
Interface Texte simple Interface colorée et claire
Création de zones Manuelle Automatique avec vérification
Filtrage Limité Intelligent (types de zones/enregistrements)

Messages et codes de retour

Codes couleur

  • 🔵 [INFO] : Messages informatifs (bleu)
  • 🟢 [OK] : Opérations réussies (vert)
  • 🟡 [WARNING] : Avertissements (jaune)
  • 🔴 [ERREUR] : Erreurs (rouge)

Codes de sortie

  • 0 : Succès complet
  • 1 : Erreur de prérequis ou credentials invalides

Dépannage

"samba-tool non trouvé"

  • Vérifier que Samba4 est installé : which samba-tool
  • Installer Samba4 si nécessaire

"Répertoire DNS non trouvé"

  • Vérifier que le dossier Transfert/Dns/ existe
  • Transférer les fichiers depuis Windows si nécessaire

"Credentials invalides"

  • Vérifier le nom d'utilisateur et mot de passe
  • S'assurer que l'utilisateur a les droits administrateur Samba4

"Impossible de créer la zone"

  • Vérifier les droits de l'utilisateur
  • Contrôler les logs Samba : journalctl -u samba-ad-dc

Exemple d'exécution

$ ./importDns.sh
==================================================================================
                          IMPORT DNS VERS SAMBA4
==================================================================================

[INFO] Vérification des prérequis...
[OK] Prérequis validés
[INFO] Configuration des credentials Samba4

Nom d'utilisateur administrateur Samba [Administrator]: 
Mot de passe pour Administrator: 

[INFO] Test des credentials...
[OK] Credentials validés pour Administrator

Modes d'exécution disponibles:
  1. Dry-run (afficher les commandes sans les exécuter)
  2. Import réel (exécuter les commandes)

Choisissez le mode [1/2]: 2
[INFO] Mode import réel activé

[INFO] Début de l'import DNS depuis les fichiers CSV

===================================================================================
[INFO] Traitement de la zone: example.com

[INFO] Création de la zone: example.com
[OK] Zone example.com créée avec succès
[INFO] Traitement des enregistrements pour la zone: example.com
[OK] Ajout enregistrement: www (A) → 192.168.1.100
[OK] Ajout enregistrement: mail (CNAME) → www.example.com.
[INFO] Zone example.com: 2/2 enregistrements traités avec succès

===================================================================================
[OK] Import terminé: 1/1 zones traitées

[OK] Script d'import DNS terminé avec succès !