Project

General

Profile

Tâche #22903

Scénario #22872: Seth/Scribe : Évaluer la possibilité d'un classic_upgrade vers une nouvelle machine dans le cadre de la mise en place d'Eole-AD

Étudier la possibilité d'un classic_upgrade vers une nouvelle machine afin d'éviter les opérations de changement de mot de passe, sortie du domaine NT et la jonction au domaine AD de tous les postes

Added by Fabrice Barconnière about 6 years ago. Updated about 6 years ago.

Status:
Fermé
Priority:
Normal
Start date:
01/29/2018
Due date:
% Done:

100%

Estimated time:
12.00 h
Spent time:
Remaining (hours):
0.0

Description

https://wiki.samba.org/index.php/Migrating_a_Samba_NT4_Domain_to_Samba_AD_(Classic_Upgrade)#Upgrading_on_a_new_server
  • Un Scribe instancié
  • Des postes Windows intégrés au domaine Scribe
  • Un serveur Seth (instancié ou pas ?)

History

#1 Updated by Fabrice Barconnière about 6 years ago

  • Status changed from Nouveau to En cours

#2 Updated by Fabrice Barconnière about 6 years ago

  • Assigned To set to Fabrice Barconnière

#3 Updated by Fabrice Barconnière about 6 years ago

  • % Done changed from 0 to 50
Deux essais infructueux :
  • Classicupgrade effectué sur Scribe puis copie du résultat su Seth
    • plus de compte Administrator
    • problèmes de DNS, scribe.dompedago.etb1.lan apparaît dans les bases Samba4 comme étant le DC
    • Le poste ne peuvent pas se connecter au domaine AD
  • Classicupgrade effectué sur Seth:
    • Les comptes sont bien présents
    • On perd le mot de passe du compte Administrator. Il faut le réinitialiser
    • Il est quand même nécessaire de sortir les postes du domaine NT pour les joindre au domaine AD

Voici les notes des commandes exécutées :

Préparer le Classicupgrade sur Scribe en prod en mode NT
--------------------------------------------------------

* backup annuaire
service slapd stop
tar czvf ldap.backup.tgz /etc/ldap* /var/lib/ldap/
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no -l ldap.backup.ldif
service slapd start

* backup Samba
service smbd stop
service nmbd stop
mkdir /etc/samba.NT
mkdir /var/lib/samba.NT
#cp --preserve /etc/hostname{,.NT}
cp -r --preserve /etc/samba/* /etc/samba.NT/
cp -r --preserve /var/lib/samba/* /var/lib/samba.NT/

* prepare classicupgrade
mkdir -p /var/lib/samba.PDC/{etc,dbdir}
cp -p /var/lib/samba/private/secrets.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/private/schannel_store.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/private/passdb.tdb /var/lib/samba.PDC/dbdir/
#cp -p /var/lib/samba/var/lock/gencache_notrans.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/group_mapping.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/account_policy.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/wins* /var/lib/samba.PDC/dbdir/
sed -e "s/\(netbios name = \).*/\1seth/" -e "/logging/,/enable privileges/""s/^/#/" /etc/samba/smb.conf > /var/lib/samba.PDC/etc/smb.PDC.conf
#sed -i "s/\(netbios name = \).*/\1seth/" /var/lib/samba.PDC/etc/smb.PDC.conf
#sed -i "s/$(CreoleGet nom_machine)/seth/" /etc/hostname
tar czvf samba.PDC.tgz /var/lib/samba.PDC

il faut également adapter les configuration ETB1
* Amon
** Forward de zone DNS : dompedago.etb1.lan 10.1.3.6 (ip de Seth en DMZ)
** Authentification proxy en NTLM/KERBEROS
* Scribe
** domaine local passe à dompedago.etb1.lan
** DHCP -> changer le DNS renvoyé avec l'IP de Seth ainsi que le domaine DNS à renvoyer (celui de Seth)
* Seth
** nom_machine : seth
** domaine local : dompedago.etb1.lan
** dns : ip Amon sur la dmz
** NTP : ip Amon sur la dmz
** Pas de DC additionnel

Classicupgrade depuis Scribe
----------------------------

1) Génération de la configuration Samba

* Exécuter la procédure
samba-tool domain classicupgrade --dbdir=/var/lib/samba.PDC/dbdir --use-xattrs=yes --realm=dompedago.etb1.lan --dns-backend=SAMBA_INTERNAL /var/lib/samba.PDC/etc/smb.PDC.conf

* Vérifier que la base sam est bien remplie
apt-get install ldb-tools
ldbsearch -H /var/lib/samba/private/sam.ldb -S '(objectclass=user)' cn

* sauvegarde la conf générée
mv /var/lib/samba{,AD}
mv /etc/samba{,AD}
tar czvf samba.AD.tgz /var/lib/sambaAD

* Relancer Samba en mode NT
mv /etc/hostname{.NT,}
mv /etc/samba{.NT,}
mv /var/lib/samba{.NT,}
service smbd start
service nmbd start

2) Mise en place sur Seth

* Instancier Seth

* Copier l'archive obtenue sur Scribe
scp root@scribe.etb1.lan:/root/samba.AD.tgz .
tar xzvf samba.AD.tgz -C /

* Arrêter Samba
service samba-ad-dc stop

* Sauvegarder les bases samba
mv /var/lib/samba{,SVG}

* Restaurer les bases issues de Scribe
mv /var/lib/samba{AD,}
cp /var/lib/sambaSVG/.instance_ok /var/lib/samba/

* Reconfigurer Seth

* Ajouter une entrée DNS seth.dompedago.etb1.lan dans le DNS Samba
samba-tool dns add 10.1.3.6 dompedago.etb1.lan seth A 10.1.3.6 -U admin

Classicupgrade depuis Seth
----------------------------

* Instancier Seth
* Sur Seth instancié, arrêter samba et lancer ldap :
service samba-ad-dc stop

* Copier les backup obtenus sur Seth (depuis Seth)
scp root@scribe.etb1.lan:~/ldap.backup.tgz .
scp root@scribe.etb1.lan:/root/samba.PDC.tgz .

* Installer openldap vet restaurer l'annuaire (ouvre.firewall sur Amon sur etb1)
apt-eole install slapd
service slapd stop
tar xzvf ldap.backup.tgz -C /
tar xzvf samba.PDC.tgz -C /
#service slapd start
/usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf

* Lancer la procédure classic upgrade :
samba-tool domain classicupgrade --dbdir=/var/lib/samba.PDC/dbdir/ --realm=dompedago.etb1.lan --dns-backend=SAMBA_INTERNAL /var/lib/samba.PDC/etc/smb.PDC.conf 

* Reconfigurer Seth
pkill slapd
samba-tool user setpassword Administrator

Il est tout de même nécessaire de sortir les postes du domaine NT pour les joindre au domaine AD

#4 Updated by Fabrice Barconnière about 6 years ago

  • % Done changed from 50 to 80

Finalement on ne peut pas vraiment utiliser la méthode classicupgrade pour migrer les comptes sur Seth.
On devra se contenter de la procédure avec eole-ad et LSC.
Il est toutefois possible de réinjecter les password NT-Hash des comptes de Scribe sur Seth :
Extraction des Hash sur Scribe : pdbedit -L -w | sed -e "/^.*$:/d" |cut -d":" -f 1,4 > hash_passwd
Injection des Hash sur Seth pour chaque USERNAME : pdbedit -u USERNAME --set-nt-hash PASSWORD_HASH
La jonction des postes sur le nouveau DC pourra se faire à l'aide du script joinDom.ps1 présent dans le projet project:seth-ecologie en adaptant joinDom.psd1.
Ce script pourra être lancé à l'ouverture de session avant que Scribe ne devienne membre de l'AD.

#5 Updated by Fabrice Barconnière about 6 years ago

  • Status changed from En cours to Résolu
  • % Done changed from 80 to 100
  • Remaining (hours) changed from 12.0 to 0.0

Étude terminée

#6 Updated by Scrum Master about 6 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF