Sommaire
Bonjour à tous,
Parfois on croisent des antiquités et dernièrement j'ai eu droit à un bon vieux Samba 3.5 en mode NT4. L'idée était de préparer une migration vers la branche 4 et en profiter pour changer le nom de domaine car de mauvais choix avaient été fait lors de la mise en prod.
Pour le changement de nom de domaine il est bien plus simple de le faire dans la branche 3, donc se sera la 1ere étape et l'objet de ce journal.
Contexte
Nom de domaine : dom.corp
Nouveau nom de domaine : 205marue
Serveur de prod : svprod01
Service disponible sur svprod01 :
- Samba
- LDAP
- DHCP
- DNS
Préparation
Par chance l'infra est basé sur des VM donc j'ai pu cloner la VM de svprod01 pour faire mes essai hors réseau. C'est un détail important car si vous avez deux Samba lancé sur le réseau avec le même niveau de priorité ils vont passer leurs temps à déclencher des élections pour obtenir le statut de contrôleur de domaine et du coups vos machines Windows vont perdre les pédales.
Prérequis
- serveur wapt (pas obligatoire mais pratique pour gérer la sortie/entrée des machines dans le domaine sans devoir intervenir physiquement sur les pc);
- installer sur tout les pc powershell (uniquement si vous avez choisi l'option wapt et/ou script)
- faire un snapshot de la vm svprod01
Feux, partez !
** /!\ Je le répète : faite un snapshot de la vm svprod01 /!\ **
La 1ere étape est de sortir toutes les machines du domaine. J'ai utilisé se script :
$computer = $env:computername
$username = "dom.corp\administrateur"
$securepass = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $securepass
Remove-computer –credential $cred `
-Passthru –Verbose –Restart `
–Workgroupname "mig" -Computername $computer `
-force
Adapté la valeur PASSWORD avec le mot de passe administrateur du domaine. Attendre que toutes les machines ai redémarré.
Rappel : Est-ce que je vous ai déjà dit de faire un snapshot de la vm svprod01 ?!
Connecté en ssh sur svprod01
--- Réseau ---
Modifier /etc/resolv.conf --> remplacer dom.corp par 205marue
Modifier /etc/hosts --> remplacer dom.corp par 205marue
Rebooter
--- DHCP ---
Arrêter dhcp --> service dhcpd stop
Modifier fichier /etc/dhcpd.conf
Remplacer dom.corp par 205marue
Peut être non présent sur votre config : Remplacer "\003dom\007corp\000" par "\003205marue\000"
Remplacer server-name "svprod01.dom.corp" par "svprod01.205marue"
--- Samba ---
Arrête samba (smb et nmb)
Modifier /etc/samba/smb.conf
- workgroup = 205marue
- Passdb backend = […]192.168.x.xx <--- adresse ip du serveur ldap
- Idmap backend = […]192.168.x.xx <--- adresse ip du serveur ldap
--- LDAP ---
Attention c'est ici qu'il y a le plus à faire.
Si vous avez utilisez des noms dns pour définir l'adresse du serveur il me semble plus logique et remplacer par les IP, comme ça si le DNS tombe vous aurez toujours accès à l'annuaire.
Modifier /etc/ldap.conf --> remplacer nomduserveurldap.dom.corp par 192.168.x.xx
Modifier /etc/openldap/ldap.conf --> remplacer nomduserveurldap.dom.corp par 192.168.x.xx
Arrêter ldap --> service ldap stop
A partir de là je vous déconseille de faire un ls sous peine de devoir attendre un peu de temps si le module pam du serveur a été paramétré pour aller chercher les comptes utilisateurs dans l'annuaire ldap.
Exporter l'annuaire LDAP --> slapcat –f /etc/openldap/slapd.conf -l /root/backup/ldap/backup.ldif
Dans backup.ldif, remplacer dom.corp par 205marue --> avec vim :%s/dom.corp/205marue/g
Supprimer dans /var/lib/ldap/ --> rm -f __* .bdb log
Modifier le fichier /etc/openldap/slapd.conf --> avec vim :%s/dom.corp/205marue/g
Importer le backup --> slapadd –f /etc/openldap/slapd.conf -l backup.ldif
Remettre les bons droits dans /var/lib/ldap --> chown ldap:ldap * (à adapter suivant votre distribution, ici c'est du redhat).
--- smbldap-tools ---
Peut être nom présent sur votre install
Dans /etc/smbldap-tools/smbldap.conf
Remplacer sambaDomain = "dom.corp" par "205marue"
Remplacer masterLDAP = "nomduserveurldap.dom.corp" par 192.168.x.xx <-- ip de votre serveur ldap
Remplacer sambaUnixIdPooldn="[…]dom.corp[…] par […]205marue[…]
--- DNS ---
Copier les fichiers zone db.dom.corp en db.205marue et db.rev-dom.corp en db.rev-205marue
Dans fichier db.marue205 remplacer --> avec vim :%s/dom.corp/205marue/g
Dans fichier db.rev-205rue remplacer --> avec vim :%s/dom.corp/205marue/g
Editer le fichier /etc/named.conf.local et copier la zone dom.corp et le reverse à la fin du fichier, remplacer par dom.corp par 205marue
Mettre en commentaire dans /etc/named.conf.local la zone dom.corp et le reverse
Modifier droit /var/named/ --> chown named:named db* à adapter suivant votre distribution
--- Relancer ---
LDAP
DNS
NSCD
DHCP
SAMBA
Si tout est ok faite le test d'intégrer manuellement une machine au domaine, vérifier la résolution DNS. Si certaines machine Windows ont du mal avec le DNS il va peut être falloir vider le cache sur ces machines
ipconfig /flushdns
Si tout est il reste plus qu'à lancer le script d'intégration avec wapt
$computer = $env:computername
$username = "205marue\administrateur"
$securepass = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $securepass
add-computer -computername $computer `
-DomainCredential $cred `
-DomainName "205marue" `
-Restart -Force –PassThru
Et voila reste plus qu'à attendre les dernières corrections impossible à anticiper :) Bien sur c'est une procédure qui sera a adapté suivant votre environnement et il est possible que certain point soit manquant ou alors de trop dans ma version.
Prochaine étape le changement de version.
# Petite remarque Vim
Posté par Micromy (site web personnel) . Évalué à 2.
Merci Philippe pour ce journal.
J'ai noté lors de l'adaptation du fichier backup.ldif l'emploi de Vim avec une commande que j'adore :
:%s/<pattern>/<remplacement>/g
Soit "sur toutes les lignes du fichier" (:%) "remplacer
<pattern>
par<remplacement>
" (s/<pattern>/<remplacement>/
) "pour l'ensemble des expressions<pattern>
de la ligne" (g).Personnellement je fais toujours suivre "g" par "c" (confirm) afin de pouvoir valider chaque changement. On perd un peu de temps, mais un remplacement malheureux est si vite arrivé…
[^] # Re: Petite remarque Vim
Posté par Christophe B. (site web personnel) . Évalué à 3.
Le "c" sur un %s c'est comme les freins sur les voitures … c'est pour les lâches
Voila je suis content j'ai dit une c…..
Alors qu'en fait je voulais surtout passer un coucou à Philippe, content de savoir que tu es toujours dans la course :)
[^] # Re: Petite remarque Vim
Posté par Philippe M (site web personnel) . Évalué à 2.
Même pas peur !
Yes toujours dans les salles sombres et froides, je fais de la résistance chez qui tu sais seul contre tout ces serveurs sqlserver et Cloud-esrie ;)
A l'occasion que tu passe pas trop loin préviens moi qu'on se fasse une bouffe :)
Born to Kill EndUser !
[^] # Re: Petite remarque Vim
Posté par Christophe B. (site web personnel) . Évalué à 2.
OK cela me ferait plaisir aussi …
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.