Opsi – Installation d’un client Windows 10

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 10 64 bits présentant les caractéristiques suivantes :

  • Nom court : opsiclt10-01
  • FQDN : opsiclt10-01.opensharing.priv
  • Adresse IP : 192.168.1.202
  • Adresse MAC : 08:00:27:00:F3:97

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 du dossier winpe relatif à la distribution Windows 10 64 bits
  • Chargement en local des fichiers stockés dans /var/lib/opsi/depot/opsi-client-agent/ (ici 999 fichiers et 178 dossiers)
  • Chargement en local des fichiers des drivers identifiés
  • Chargement en local de l’image Windows 10 via TFTP
  • 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/ (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 opsiclt10-01 { hardware ethernet 08:00:27:00:F3:97; fixed-address 192.168.1.202; }
	}
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; }
	}
}

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; }
	}
}

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 opsiclt10-01.opensharing.priv 86400 a 192.168.1.202
> send
> update add 202.1.168.192.in-addr.arpa 86400 ptr opsiclt10-01.opensharing.priv
> send

 

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

# host opsiclt10-01
opsiclt10-01.opensharing.priv has address 192.168.1.202
# host 192.168.1.202
202.1.168.192.in-addr.arpa domain name pointer opsiclt10-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 Win10 (pour Windows 10 32 bits) ou Win10-x64 (pour Windows 10 64 bits).

 
Après la fin de l’installation, le nouveau client opsiclt10-01 apparait bien sur l’interface de gestion Opsi Configed et son fichier de backend /var/lib/opsi/config/clients/opsiclt10-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
  • Le clavier de l’OS Windows 7 est en allemand
  • Il est demandé à l’utilisateur de saisir la clef d’activation Windows au cours de l’installation de l’OS
  • L’agent Opsi est également en allemand

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

 
Rmq :
Au cours de cette installation, l’agent Opsi ou Opsi-Winst ne s’est pas installé correctement, peut-être du fait que, par défaut, l’autologin de l’administrateur est actif sur Windows 10. De plus, son mot de passe n’est pas défini. Ce problème a été corrigé en désactivant l’autologin, en définissant un mot de passe pour le compte Administrateur, en réinitialisant les produits Localboot, et en programmant (par un setup) une installation de opsi-client-agent pour le prochain redémarrage du client.

 

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 :