====== Installation par le réseau local ====== * Objet : installer Debian à travers le réseau local * Niveau requis : {{tag>avisé}} * Commentaires : //Un exemple de configuration PXE pour l'installation de Debian en réseau. D'autres méthodes et configurations sont possibles.// * Suivi : {{tag>à compléter}} //à suivre sur le forum par le lien //**Commentaires** - [[user>smolski]] le 18-09-2015 * Création par [[user>paskal]] le 09/10/2012 * Testé par [[user>paskal]] en octobre 2012 sur Squeeze * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=6003 | ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Introduction ===== L'installation de Debian à partir d'un CD/DVD, d'un stick USB ou par internet (netinstall) n'est pas toujours possible ou souhaitable. \\ En effet, certains ordinateurs ne disposent pas de lecteur de CD/DVD, ou ne peuvent pas s’amorcer sur un port USB, ou ne disposent pas d'une connexion WAN. \\ En cas de déploiement sur un parc informatique, les méthodes utilisant CD/DVD ou USB peuvent se révéler fastidieuses. \\ \\ La méthode décrite ici permet l'installation à partir d'un autre ordinateur sur le réseau local. ===== Prérequis ===== * Le poste (le client) sur lequel sera réalisée l'installation, équipé d'une carte réseau compatible PXE * Un poste (le serveur) disposant d'une distribution Debian et éventuellement d'une connexion à internet * Un switch ou un routeur ou un modem-routeur si le serveur ne dispose que d'une carte Ethernet * Un peu de temps disponible Ce tuto met en œuvre un plan d'adressage particulier. Veiller à l'adapter si besoin. \\ Nous attribuerons ici les adresses IP suivantes : * 192.168.0.1 pour le routeur * 192.168.0.2 pour le serveur * 192.168.0.3 pour le client ===== Préparation du client ===== Lors de la mise en route, configurer le menu du BIOS pour donner la priorité à l'amorçage par le réseau (LAN). \\ Rebooter. Un message d'erreur devrait alors apparaître, exemple : PXE-E53: no boot filename received. ainsi que l'adresse MAC de la carte. \\ Noter bien cette adresse. \\ \\ Si l'amorçage par le réseau est impossible, des solutions existent : * flasher le BIOS * programmer une EPROM à installer sur la carte réseau * préparer un média amorçable Je vous conseille dans ce cas de vous intéresser de près au projet [[http://etherboot.org/wiki/about|Etherboot]]. ===== Installation du serveur DHCP ===== Il est nécessaire d'installer un serveur DHCP sur le poste serveur. Si le réseau comporte un routeur, veiller à le configure en mode **relais DHCP** Le paquet //isc-dhcp-server// est le plus couramment employé, il fournit le démon //dhcpd//. apt-get install isc-dhcp-server Indiquer l'interface sur lequel est servi DHCP dans le fichier /etc/default/isc-dhcp-server :INTERFACES="eth0" Indiquer la configuration de dhcpd dans le fichier /etc/dhcp/dhcpd.conf : default-lease-time 600; max-lease-time 7200; authoritative; # notre serveur fait autorité sur son réseau # les requêtes DHCP sont servies aux machines de 192.168.0.(3 to 24) # et le routeur est 192.168.0.1 subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.3 192.168.0.24; option broadcast-address 192.168.0.255; option routers 192.168.0.1; # la passerelle option domain-name-servers 192.168.0.1; # la passerelle option tftp-server-name "le serveur"; next-server 192.168.0.2; # adresse du serveur tftp (pour un PXE) filename "pxelinux.0"; fichier qui sera exécuté sur le client } # fixation de l'IP client host s_lan_0 { hardware ethernet 00:12:34:56:AB:CD; adresse MAC du client fixed-address 192.168.0.3; # adresse attribuée option host-name "Le client"; # un nom pour la machine cliente } Après chaque modification de ce fichier, relancer le serveur DHCP : service isc-dhcp-server restart Vérifier son bon fonctionnement : ps aux | grep dhcp On peut trouver de nombreux fichiers types permettant de s'adapter aux différentes situations. Je n'ai pas utilisé les directives :allow booting; allow bootp;La fixation de l'IP client n'est pas indispensable mais le nom d'hôte sera utilisé par l'installateur Debian. Redémarrer la machine cliente. \\ Sur son écran, les adresses IP suivantes doivent maintenant apparaître : celle du serveur ("DHCP"), celle du routeur ("Gateway") et la sienne (192.168.0.3). \\ S'en suit un nouveau message d'erreur car la requête TFTP ne peut aboutir : PXE-E32: TFTP open timeout ===== Installation du serveur TFTP ===== Pour des raisons de sécurité, TFTP (trivial FTP) ne doit être utilisé que localement. Le paquet généralement adopté est //tftpd-hpa// :apt-get install tftpd-hpa Lors de l'installation, il est demandé où trouver les fichiers servis. \\ J'ai laissé le choix par défaut : **/srv/tftp** \\ \\ Le fichier de configuration correspondant est /etc/default/tftpd-hpa :TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure" Le démon tftpd est lancé par défaut, nul besoin de la directive RUN_DAEMON="yes".\\ \\ Après chaque modification de ce fichier, relancer le serveur TFTP : service tftpd-hpa restart Il est maintenant temps d'alimenter TFTP, par exemple avec une image de boot //netboot.tar.gz// chargée sur un miroir Debian. cd /srv/tftp wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/netboot.tar.gz tar xvfz netboot.tar.gz On dispose maintenant à la racine de tftp du fichier **pxelinux.0** indispensable à notre client (il s'agit ici d'un raccourci). Le fichier pxelinux.0 est aussi disponible en installant le paquet syslinux. ===== Lancement de l'installation ===== Redémarrer le poste client pour obtenir une juste récompense 8-) : {{ /manuel/installation/installation.jpg?150X120}} \\ Pour la suite, voir [[:doc:install:install | ici]]. ===== Conclusions ===== Cette méthode ne demande pas énormément d'efforts comme on pourrait le craindre. \\ Avec quelques modifications, elle est applicable pour démarrer une image iso présente sur le serveur. \\ Une possibilité intéressante est d'avoir le choix du système à installer sur le client. \\ Une petite interrogation subsiste pour moi car je n'ai pas installé le paquet //PXE// fournissant le démon pxe. ===== Références ===== * [[http://wiki.debian.org/PXEBootInstall|Installing Debian using network booting]] (sur le wiki debian.org) * [[http://www.syslinux.org/wiki/index.php/PXELINUX|PXELINUX]] (en, sur le wiki syslinux.org) * [[http://www.debian.org/releases/stable/amd64/ch05s01.html.fr#boot-tftp|Amorcer avec TFTP]] (sur le wiki debian.org) * [[https://fr.wikipedia.org/wiki/Preboot_Execution_Environment|Preboot Execution Environment]] (fr, sur Wikipédia) ===== Pour aller plus loin ===== * [[:doc:reseau:pxe|pxe en détails]] * [[http://www.sysresccd.org/Sysresccd-manual-fr_D%C3%A9marrage_en_r%C3%A9seau_par_PXE|Démarrage en réseau par PXE]] (sur sysresccd.org) * [[http://www.debian-fr.org/installation-de-debian-par-le-reseau-avec-pxe-t23693.html|Installation de Debian par le réseau avec PXE]] (sur debian-fr.org) * [[http://publications.jbfavre.org/system/serveur_pxe_installation_debian_ubuntu_centos_redhat|Serveur d'installation et de diagnostic]] (par Jean Baptiste FAVRE) * [[http://www.isalo.org/wiki.debian-fr/index.php?title=PXE|PXE]] (sur le wiki debian-fr) * [[http://www.isalo.org/wiki.debian-fr/index.php?title=DHCP|DHCP]] (sur le wiki debian-fr)