Opsi – Installation d’un client Windows XP

Opsi

Opsi (Open PC Server Integration) est un outil de gestion de clients Windows basé sur un serveur Linux et sous licence AGPLv3 (hors code des modules cofinancés), version modifiée et orientée serveurs de la licence GPLv3. Son code source est la propriété de la société uib gmgh et son représentant en France/Belgique est la société Opensides.

uibopensides

Ses fonctionnalités principales sont :

  • Installation automatisée via PXE de systèmes d’exploitation clients Windows par le biais d’une image
  • Distribution automatique des logiciels via une connexion agent/serveur
  • Intégration automatique des drivers en se basant sur l’ID de ceux-ci
  • Inventaires matériels et logiciels
  • Dépôts logiciels multiples et décentralisés

 

Objectif

 

Dans cet article, nous installerons un client Opsi Windows XP 32 bits présentant les caractéristiques suivantes :

  • Nom court : opsicltxp-01
  • FQDN : opsicltxp-01.opensharing.priv
  • Adresse IP : 192.168.1.203
  • Adresse MAC : 08:00:27:CB:CE:63

Plusieurs scénarios seront envisagés :

  • Scénario 1 : installation assistée d’un nouveau client en PXE; configuration réseau obtenue via PXE, images de boot et de l’OS obtenus via TFTP
  • Scénario 2 : installation assistée d’un nouveau client en bootant à partir de l’ISO de l’image de boot stockée sur un support externe; configuration réseau obtenue via PXE et image de l’OS obtenue via TFTP
  • Scénario 3 : installation automatisée d’un nouveau client en PXE à partir de l’interface de gestion Opsi Configed; images de boot et de l’OS obtenus via TFTP
  • Scénario 4 : réinstallation automatisée d’un client en PXE à partir de l’interface de gestion Opsi Configed; images de boot et de l’OS obtenus via TFTP
  • Scénario 5 : intégration d’un client existant; installation locale de l’agent Opsi directement sur l’hôte via le script service_setup.cmd
  • Scénario 6 : intégration d’un client existant; installation distante de l’agent Opsi depuis le serveur Opsi via le script opsi-deploy-client-agent

 

Déroulement commun aux scénarios 1 à 4 :

  • Récupération des paramètres réseau auprès du serveur DHCP via PXE
  • Inventaire matériel et des drivers requis
  • Chargement en local des fichiers des drivers identifiés
  • Chargement en local, via TFTP, des fichiers du dossier i386 relatif à la distribution Windows XP 32 bits sur le montage /mnt/hd/
  • Chargement en local des fichiers stockés dans /var/lib/opsi/depot/opsi-client-agent/ sur le montage /mnt/hd/opsi/ (ici 999 fichiers et 178 dossiers)
  • Installation de l’agent opsi et redémarrage
  • Installation éventuelle de paquets programmés

Déroulement commun aux scénarios 5 et 6 :

  • Chargement en local des fichiers stockés dans /var/lib/opsi/depot/opsi-client-agent/ sur le montage /mnt/hd/opsi/ (ici 999 fichiers et 178 dossiers)
  • Installation de l’agent opsi et redémarrage
  • Installation éventuelle de paquets programmés

 

Pré-requis

 

Ajout d’une réservation pour notre client sur les serveurs DHCP master et DHCP :

	group {
		use-host-decl-names true; 
		host opsicltxp-01 { hardware ethernet 08:00:27:CB:CE:63; fixed-address 192.168.1.203; }
	}
Contenu du fichier /etc/dhcp/dhcpd.conf sur le serveur DHCP master
include "/etc/bind/tsig.key";

authoritative;
ddns-update-style standard;
update-static-leases off;
ignore client-updates;
default-lease-time 1800;
max-lease-time 1800;
log-facility local7;
db-time-format local;

failover peer "opensharing-failover" {
        primary;
        address 192.168.1.11;
        port 647;
        peer address 192.168.1.12;
        peer port 647;
        max-response-delay 30; 
        max-unacked-updates 3; 
        load balance max seconds 3;
        mclt 480;
        split 128;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option routers 192.168.1.1;
	ddns-domainname "opensharing.priv";
	ddns-rev-domainname "in-addr.arpa";
	option domain-name "opensharing.priv";
	option domain-name-servers dns1.opensharing.priv, dns2.opensharing.priv;
	set vendor-string = option vendor-class-identifier;
	pool {
	        failover peer "opensharing-failover";
		range 192.168.1.100 192.168.1.199;
		allow unknown-clients;
	}

	group {
		use-host-decl-names true; 
		host opsiclt7-01 { hardware ethernet 00:50:56:32:66:32; fixed-address 192.168.1.201; }
		host opsiclt10-01 { hardware ethernet 08:00:27:00:F3:97; fixed-address 192.168.1.202; }
		host opsicltxp-01 { hardware ethernet 08:00:27:CB:CE:63; fixed-address 192.168.1.203; }
	}
}

zone opensharing.priv {
	primary 192.168.1.11;
	key "tsig-key";
}

zone 1.168.192.in-addr.arpa. {
	primary 192.168.1.11;
	key "tsig-key";
}
Contenu du fichier /etc/dhcp/dhcpd.conf sur le serveur DHCP slave
include "/etc/bind/tsig.key";

authoritative;
ddns-update-style standard;
update-static-leases off;
ignore client-updates;
default-lease-time 1800;
max-lease-time 1800;
log-facility local7;
db-time-format local;

failover peer "opensharing-failover" {
        secondary;
        address 192.168.1.12;
        port 647;
        peer address 192.168.1.11;
        peer port 647;
        max-response-delay 30; 
        max-unacked-updates 3; 
        load balance max seconds 3;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
	option subnet-mask 255.255.255.0;
	option routers 192.168.1.1;
	ddns-domainname "opensharing.priv";
	ddns-rev-domainname "in-addr.arpa";
	option domain-name "opensharing.priv";
	option domain-name-servers dns1.opensharing.priv, dns2.opensharing.priv;
	set vendor-string = option vendor-class-identifier;
	pool {
	        failover peer "opensharing-failover";
		range 192.168.1.100 192.168.1.199;
		allow unknown-clients;
	}

	group {
		use-host-decl-names true; 
		host opsiclt7-01 { hardware ethernet 00:50:56:32:66:32; fixed-address 192.168.1.201; }
		host opsiclt10-01 { hardware ethernet 08:00:27:00:F3:97; fixed-address 192.168.1.202; }
		host opsicltxp-01 { hardware ethernet 08:00:27:CB:CE:63; fixed-address 192.168.1.203; }
	}
}

zone opensharing.priv {
	primary 192.168.1.11;
	key "tsig-key";
}

zone 1.168.192.in-addr.arpa. {
	primary 192.168.1.11;
	key "tsig-key";
}

 

Ajout d’un enregistrement de type A sur le serveur DNS master (répliqué automatiquement sur le DNS slave) :

# nsupdate -k /etc/bind/tsig.key
> update add opsicltxp-01.opensharing.priv 86400 a 192.168.1.203
> send
> update add 203.1.168.192.in-addr.arpa 86400 ptr opsicltxp-01.opensharing.priv
> send

 

Vérification de la résolution de noms directe et inversée :

# host opsicltxp-01
opsicltxp-01.opensharing.priv has address 192.168.1.203
# host 192.168.1.203
203.1.168.192.in-addr.arpa domain name pointer opsicltxp-01.opensharing.priv.
 

 

Réalisation

 

Voir l’article Opsi – Installation d’un client Windows 7 car la procédure est strictement identique, mis à part le fait que le produit Netboot à installer est winxppro (pour Windows XP 32 bits).

 
Après la fin de l’installation, le nouveau client opsicltxp-01 apparait bien sur l’interface de gestion Opsi Configed et son fichier de backend /var/lib/opsi/config/clients/opsicltxp-01.opensharing.priv.ini a été généré :


 
Toutefois, on a pu constater plusieurs correctifs à apporter par la suite :

  • L’image miniroot.bz2 est en allemand

Pour cela, voir l’article Opsi – Pour aller plus loin.

 

Aller plus loin

 

Opsi – Installation du serveur Part1 Opsi – Installation du serveur Part2
Opsi – Creation d’une image Windows 7 Opsi – Installation d’un client Windows 7
Opsi – Creation d’une image Windows 10 Opsi – Installation d’un client Windows 10
Opsi – Creation d’une image Windows XP Opsi – Installation d’un client Windows XP
Opsi – Pour aller plus loin Opsi – Fonctionnement des scripts
Opsi – Exemples de scripts Opsi – Script de test local
Opsi – Scripts avancés Opsi – Création d’un produit
Opsi – Commandes utiles Opsi – Package activate-win Officiel
Opsi – Package windomain Officiel

 

Fermer le menu
%d blogueurs aiment cette page :