Nos images couvrent les systèmes les plus demandés, préparés avec cloud-init : vous recevez un serveur qui démarre avec votre clé SSH et son réseau. Il reste les cas où ça ne suffit pas : une distribution que nous ne proposons pas, un partitionnement à votre façon, un disque chiffré dès l'installation. Pour ceux-là, un serveur FFxF peut désormais démarrer sur netboot.xyz, à la commande comme à la réinstallation.
Nous avons essayé le parcours complet sur un Nano, comme le ferait un client : commande, menu de netboot.xyz dans la console, installation de Debian 13 à la main, redémarrage sur le disque. Voici ce qu'il faut savoir avant de commencer, surtout pour le réseau, qui ne se configure pas tout seul.
1. Ce que vous recevez
Choisissez netboot.xyz dans l'onglet Autres du choix du système, à la commande ou dans
Réinstaller. Par l'API, c'est l'image netboot. La machine est livrée avec :
- un disque vide, à la taille de votre offre : l'installeur de Debian a vu 21,5 Go sur un Nano, soit ses 20 Gio ;
- l'ISO de netboot.xyz branchée, et un ordre de démarrage disque d'abord, ISO ensuite ;
- une console graphique, à la place de la console série de nos images ;
- rien d'autre : ni mot de passe, ni clé SSH, ni réseau configuré.
Sur notre essai, la machine était prête 7 secondes après la commande. Au premier
démarrage, le BIOS essaie le disque, affiche Boot failed: not a bootable
disk, puis passe sur l'ISO. Ouvrez la console depuis la page du serveur :
netboot.xyz est déjà en train de chercher un réseau.
2. Pas de DHCP : le réseau se tape à la main
Nos adresses sont fixes et il n'y a pas de serveur DHCP sur le réseau public. Un filtre anti-usurpation ne laisse sortir de votre machine que ses propres adresses : une adresse inventée ou tirée d'un autre serveur ne passera pas. Le courriel de livraison (ou de réinstallation) vous donne donc les valeurs exactes : adresse, masque, passerelle, DNS, et la carte réseau qui porte chaque adresse.
netboot.xyz essaie le DHCP sur chaque carte, constate l'échec et vous demande la configuration :
Appuyez sur Entrée pour garder l'interface 0, puis saisissez l'adresse IPv4, le
masque (en notation pointée, 255.255.255.0), la passerelle et un DNS.
Pour ne pas attendre la fin des essais DHCP, appuyez sur m dès l'écran
de démarrage et choisissez Manual network configuration. Le menu arrive
quelques secondes plus tard :
3. Deux cartes réseau, une par famille d'adresses
Un serveur qui a une IPv4 et une IPv6 a deux cartes réseau : l'IPv4 sur la première
(net0), l'IPv6 sur la seconde (net1). L'hyperviseur pose
lui-même le VLAN de l'IPv6, vous n'avez rien à configurer de ce côté. En revanche, une
IPv6 posée sur la première carte ne répond à rien : c'est ce que nous avons constaté
au premier essai.
Dans le système installé, les cartes changent de nom. Linux les nomme d'après leur
emplacement PCI, 18 et 19 sur nos machines : net0 devient
ens18, net1 devient ens19. L'installeur
de Debian demande laquelle utiliser :
Choisissez ens18, laissez échouer le DHCP, puis
Configure network manually avec les mêmes valeurs que dans netboot.xyz.
L'installeur ne configure qu'une carte. Nous avons ajouté l'IPv6 après
l'installation, dans /etc/network/interfaces.d/ens19 :
auto ens19
iface ens19 inet6 static
address <votre IPv6>/64
gateway <passerelle IPv6 du courriel>
Après sudo ifup ens19, la machine répond en IPv6, et
apt-get update passe en IPv6 forcé. Les deux adresses remontent seules
au redémarrage. Le bloc IPv6 routé vers votre serveur, s'il y en a un, n'est pas
configuré non plus : ajoutez ses adresses sur ens19 quand vous en avez
besoin.
4. Un serveur en IPv6 seulement
Sur une offre en IPv6 seulement, l'unique
carte est net0, et la configuration manuelle de netboot.xyz ne sait
poser qu'une IPv4. Appuyez sur m au démarrage, choisissez iPXE Debug
Shell et tapez les lignes que donne le courriel, avec vos valeurs :
set net0/ip6 <votre IPv6>
set net0/len6 64
set net0/gateway6 <passerelle IPv6>
set dns6 2606:4700:4700::64
set ip 0.0.0.0
ifopen net0
chain --autofree https://boot.netboot.xyz/menu.ipxe
La ligne set ip 0.0.0.0 nous a coûté un essai. Le
menu.ipxe de netboot.xyz commence par isset ${ip} || dhcp :
sans IPv4 posée, il relance un DHCP, échoue et referme la carte. Une IPv4 nulle
satisfait ce test sans créer de route, et le reste passe par l'IPv6. Le DNS
2606:4700:4700::64 est un DNS64 : il donne aussi une adresse IPv6 aux
sites qui n'existent qu'en IPv4, joints par notre NAT64. Par ce chemin, le menu s'est
chargé et l'installeur de Debian s'est téléchargé normalement.
5. Pilotes, BIOS et premier démarrage
Le disque est sur un contrôleur VirtIO SCSI et les cartes réseau sont VirtIO : votre
système a besoin de virtio_scsi et virtio_net. Les
installeurs Linux et BSD courants les ont. Celui de Debian en réseau charge
virtio_scsi avec les composants qu'il télécharge depuis le miroir : un
modprobe lancé trop tôt répond Module virtio_scsi not
found, puis le disque apparaît à l'étape du partitionnement.
La machine démarre en BIOS, pas en UEFI : l'installeur pose GRUB en mode BIOS
(grub-pc) sur /dev/sda, sans partition EFI. À la fin,
redémarrez sans rien éjecter. Le BIOS trouve maintenant un chargeur sur le disque et
démarre votre système ; l'ISO ne sert plus que tant que le disque est vide.
6. Ce qui change ensuite
Votre espace client ne connaît pas le mot de passe de ce système et ne peut rien y injecter : la réinitialisation du mot de passe y est désactivée. Les pare-feux de la console, le filtre anti-usurpation et le décompte du trafic s'appliquent comme sur n'importe quel serveur, puisqu'ils vivent dans l'hyperviseur.
Pour revenir à l'une de nos images, réinstallez le serveur et choisissez-la : le disque est effacé, et vous retrouvez cloud-init, votre clé SSH et le réseau configuré.