TP - Netboot
Ressources:
1. Préparation QEMU
Utilisez une image "Debian Etch", vous pouvez reutiliser sans souci une des TPs precedents (ou en prendre une neuve depuis /morphale/debian/debian-etch-basic.tar.gz
).
Comme nous allons utiliser DHCP et que ce protocole utilise un broadcast, nous allons simplifier notre scenario et utiliser deux machines QEMU reliées l'une à l'autre par le mécanisme TCP intégré. Notre "serveur de neboot" sera ainsi lancé une fois pour toute pendant ce TP ainsi:
$ qemu -hda netboot.img \ -net nic,vlan=0 -net user,vlan=0 \ -net nic,vlan=1,macaddr=52:54:00:01:01:01 -net socket,vlan=1,listen=:1500
En d'autre termes:
- Une première interface (vlan=0) est définie en émulation standard QEMU (elle nous permet de télécharger des paquets Debian par exemple); elle devra être configurée par DHCP dans votre système et elle obtiendra toujours l'adresse
10.0.2.15
. - Une seconde interface (vlan=1) qui sera configurée statiquement (par exemple
10.0.1.1
).
Les instances de test se connecteront sur l'interface secondaire de notre serveur de netboot via TCP sur le port 1500, comme si nous les branchions sur un switch commun.
2. TFTP
Installez sur votre "serveur de netboot" les paquets suivants:
# aptitude install atftp atftpd
Par défaut tftpd repose sur inetd qui n'est pas activé, configurez-le en "standalone":
# dpkg-reconfigure atftpd
Téléchargez l'installeur Debian Etch netboot.tar.gz
(adresse ci-dessus) et décompressez l'archive dans /tftpboot
.
Vérifiez le fonctionnement du serveur TFTP en tentant de télécharger /tftpboot/pxelinux.0
par exemple (sur la même machine avec le client atftp
).
3. DHCP
Installez le serveur DHCP standard et configurez-le pour netbooter un serveur qui aura l'adresse MAC 52:54:00:01::01::02 (consultez le cours):
# aptitude install dhcpd
Assurez-vous que le serveur DHCP n'est en écoute que sur l'interface secondaire (éditez /etc/default/dhcp
). Vous aurez besoin de définir un "segment" minimal correspondant à cette interface pour que DHCP accepte de démarrer:
subnet 10.0.1.0 netmask 255.255.255.0 { }
4. Install via netboot
Nous allons alors lancer une machine QEMU sans disque et avec l'adresse MAC désirée. Nous allons devoir tricher: comme QEMU ne possède pas de support BIOS/PXE, nous allons devoir lui rajouter. Il n'y a pas d'équivalent QEMU à l'opération d'insert d'une ROM dans l'interface réseau, donc nous allons obtenir une ROM sous forme d'image "CD-ROM ISO" et demander à QEMU de booter dessus.
On peut obtenir la ROM PXE en allant sur Rom-o-Matic, elle est disponible en attachement à cette page (voir plus bas).
Démarrez alors votre QEMU ainsi:
$ qemu -cdrom pxe-rom-qemu.iso -boot d \ -net nic,vlan=1,macaddr=52:54:00:01:01:02 -net socket,vlan=1,connect=localhost:1500
Observez sur le "serveur de netboot" la séquence des requêtes DHCP et TFTP dans /var/log/syslog
.
Attachments (1)
- pxe-rom-qemu.iso (128.0 KB) - added by 14 years ago.
Download all attachments as: .zip