Wiki Linux SMH

   

Flux RSS

Installation Reseau

Distribution : Debian
Niveau : Débutant
Commentaire :

1 - Pourquoi installer par le réseau ?

Lorsqu'un poste n'a aucun lecteur (disquette, cd, dvd, etc), il est intéressant de pouvoir lancer une installation en bootant grâce à un autre ordinateur du réseau.
Cet article a été écrit pour permettre une installation de Debian Etch sur un portable donc le lecteur CD est endommagé.

2 - Principe

Pour booter grâce à un réseau, il faut utiliser le protocole PXE (Preboot eXecution Environment). Toutes les cartes réseaux ne permettent pas ceci, mais la majorité des cartes actuelles le permettent.

La carte réseau contient une PROM qui va permettre à la machine de booter. Cette PROM va rechercher sur le réseau un ordinateur qui peut lui fournir une adresse IP, et ensuite un noyau. Ce noyau va être récupéré via le protocole TFTP.

Il va donc falloir un client et un serveur :

  • le client est la machine sur laquelle on veut installer notre distribution Debian.
  • le serveur va fournir l'adresse IP et le noyau au client. Cette machine est connectée dans notre cas à internet.
 
* Eclaircir PXE car pour booter sur une image debian disponible via tfpt, il n'est nullement nécessaire d'utiliser/installer PXE.
* allow bootp et allow booting sont autorisés par défaut. Quelle est réellement la différence ? (Tests à effectuer)
* Semble que l'option bootp soit incompatible avec un dhcp configuré en failover. (Tests à effectuer)
* tester chapitre "6) Fichier de configuration de PXE Linux" de http://www.gentilkiwi.com/documentations-s11-t-pxe.htm
Si ça marche, développer cette page pour ajouter au serveur des images utiles (genre ultimate boot cd, freedos, etc)

3 - Préparation du serveur

3.1 - Etape 1 : le serveur TFTP

Il existe plusieurs serveurs TFTP. Nous allons ici utiliser tftpd-hpa.

Installez le serveur tftpd-hpa :

# apt-get install tftpd-hpa

La configuration par défaut, lance le service tftpd via le super-server inetd. Les différents fichiers de configuration sont :

  • pour inetd : /etc/inted.conf
  • pour un mode stand-alone : etc/default/tftpd-hpa (désactivé par l'option RUN_DAEMON="no")

Pour inetd, vous devriez trouver une ligne similaire à celle ci :

 # <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
 tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

Le service sera chrooté dans le répertoire /var/lib/tftpboot et lancé par l'utilisateur nobody. Le chroot est ici très important car le protocole tftp ne requiers pas d'authentification de la part du client. En d'autres termes, un client malintentionné pourrait par exemple récupérer un fichier important sur le système hors du répertoire de travail. L'utilisation de inetd est ici préférée pour limiter les ressources allouées à tftpd, car peu utilisé.

Il est possible de redémarrer le serveur inetd :

/etc/init.d/openbsd-inetd restart

3.2 - Etape 2 : le serveur PXE

Installez le serveur pxe :

# apt-get install pxe

Editez le fichier /etc/pxe.conf

Véfifier que l'interface réseau indiquée dans la ligne suivante correspond à l'interface réseau du réseau local :

interface=eth0

Vérifiez aussi que l'adresse réseau correspond à l'adresse du serveur (192.168.0.1 dans notre cas) :

default_address=192.168.0.1

Vérifiez aussi que le dossier utilisé par tftpd-hpa est bien renseigné :

tftpdbase=/var/lib/tftpboot

Redémarrez le service PXE :

# /etc/init.d/pxe reload

3.3 - Etape 3 : l'installeur Debian

Récupérez l'image de Debian à l'une des adresses suivantes (en fonction de votre version de Debian) et mettez là dans le dossier /var/lib/tftpboot :

ArchitectureVersionLien
i386 stable http://ftp.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/netboot.tar.gz
i386 testing http://ftp.debian.org/debian/dists/testing/main/installer-i386/current/images/netboot/netboot.tar.gz
i386 unstable http://ftp.debian.org/debian/dists/unstable/main/installer-i386/current/images/netboot/netboot.tar.gz
amd64 stable http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/netboot.tar.gz
amd64 testing http://ftp.debian.org/debian/dists/testing/main/installer-amd64/current/images/netboot/netboot.tar.gz
amd64 unstable http://ftp.debian.org/debian/dists/unstable/main/installer-amd64/current/images/netboot/netboot.tar.gz

Décompressez la :

# cd /var/lib/tftpboot
# tar -xvzf netboot.tar.gz 
# rm netboot.tar.gz

Cette image va permettre au client de démarre l'installation réseau de votre système Debian.

3.4 - Etape 3: configuration de l'interface ethernet

Afin de pouvoir installer un serveur DHCP, nous allons configurer l'interface réseau connectée au réseau local de la manière suivante :

  • Carte réseau concernée : eth0
  • Adresse IP de notre ordinateur : 192.168.0.1
  • Masque de sous réseau : 255.255.255.0
  • Serveur de nom : 192.168.0.1

Fichier /etc/network/interfaces :

auto eth0
iface eth0 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.255

Afin que les changements soient pris en compte, redémarrez le réseau :

# /etc/init.d/networking restart

3.5 - 4ème étape : le serveur DHCP

Nous allons ici voir la configuration de DHCP pour notre cas. Vous trouverez plus d'informations sur le protocole DHCP dans l'article concerné.

Installez le service :

# apt-get install dhcpd3-server

Editez le fichier /etc/default/dhcp3-server et complétez la ligne suivante pour indiquer l'interface réseau sur laquelle le serveur peut attribuer des adresses IP (eth0 dans notre cas) :

INTERFACES="eth0"

Editez ensuite le fichier /etc/dhcp3/dhcpd.conf et ajouter les lignes suivantes. Si vous n'avez jamais utilisé le serveur DHCP précédemment, vous pouvez vider le fichier avant de rajouter les lignes.


# option definitions common to all supported networks...
option domain-name "example.com";
option domain-name-servers 192.168.0.1;
option routers 192.168.0.1;
default-lease-time 900;
max-lease-time 7200;

### Permet le boot reseau pour tftp 
allow booting;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
     range 192.168.0.10 192.168.0.19;
     filename "pxelinux.0";
     option root-path "/var/lib/tftpboot";
     next-server 192.168.0.1;
}

Ces lignes vont permettre d'attribuer des adresses IP entre 192.168.0.10 et 192.168.0.19 (on peut donc avoir 10 machines au maximum dans ce cas-ci).

Redémarrons le service DHCP :

# /etc/init.d/dhcp3-server restart

4 - Préparation du client

Tout d'abord, vérifiez si votre carte réseau supporte le protocole PXE.

4.1 - Premier cas : le client peut booter sur la carte réseau

Configurez votre BIOS de façon à ce que votre client boote via le réseau. Pour certains ordinateurs, le boot réseau est optionnel via l'appui sur une touche F12 au démarrage (un message indiquant cette possibilité est alors affiché).

4.2 - Second cas : le client ne peut pas booter sur la carte réseau

Si le BIOS ne permet pas le boot sur la carte réseau, il est possible de booter grâce à une disquette. Pour celà, il est possible de récupérer des images sur le site http://rom-o-matic.net.

Récupérez l'image qui correspond à votre carte réseau sur le site, puis mettez la sur la disquette :

$ cat nomDeLImage.zdsk > /dev/fd0

Il ne vous reste qu'à rebooter l'ordinateur, en ayant pris soin de configurer le BIOS pour qu'il démarra sur le lecteur disquette.

Maintenant démarrez votre poste client, et si tout est bien configuré, vous allez voir le joli écran de l'installateur Debian.

5 - Firewall

Le point important à prendre en compte pour la mise en place des règles Firewall est que le protocole TFTP utilise le port 69 en udp (RFC 1350). De plus, pour le suivi de connexion, il ne faut pas oublier l'helper nf_conntrack_tftp (Le nom peut changer en fonction de la version du noyau utilisé). Je considère ici que votre firewall gère déjà le DHCP.

6 - Ressources

Vous êtes : 38.107.191.87 Dernière modification : 05/11/07 23:33 Propriétaire : Fritz Modifié par : thialme

Commentaires

Afficher les commentaires
Il n'y a aucun commentaire sur cette page