Recherche de site Web

Comment installer Ubuntu via un serveur PXE à l'aide de sources DVD locales


PXE ou Preboot eXecution Environment est un mécanisme serveur-client qui demande à un ordinateur client de démarrer depuis le réseau.

Dans ce guide, nous montrerons comment installer le serveur Ubuntu via un serveur PXE avec des sources HTTP locales mises en miroir à partir de l'image ISO du serveur Ubuntu via le Web Apache. serveur. Le serveur PXE utilisé dans ce tutoriel est le Serveur Dnsmasq.

Exigences:

  1. Installation du serveur Ubuntu 16.04 ou 17.04
  2. Une interface réseau configurée avec une adresse IP statique
  3. Image ISO du serveur Ubuntu 16.04 ou 17.04

Étape 1 : Installer et configurer le serveur DNSMASQ

1. Afin de configurer le serveur PXE, dans un premier temps, connectez-vous avec le compte root ou un compte avec les privilèges root et installez le package Dnsmasq. dans Ubuntu en exécutant la commande suivante.

apt install dnsmasq

2. Ensuite, sauvegardez le fichier de configuration principal dnsmasq, puis commencez à modifier le fichier avec les configurations suivantes.

mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

Ajoutez la configuration suivante au fichier dnsmasq.conf.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

Sur le fichier de configuration ci-dessus, remplacez les lignes suivantes en conséquence.

  • interface Remplacez-la par votre propre interface réseau de machine.
  • domaine – Remplacez-le par votre nom de domaine.
  • dhcp-range – Définissez votre propre plage réseau pour que DHCP attribue des adresses IP à ce segment de réseau et combien de temps une adresse IP pour un client doit être accordée.
  • dhcp-option=3 – Votre adresse IP de passerelle.
  • dhcp-option=6 IP du serveur DNS : plusieurs IP DNS peuvent être définies.
  • serveur – Adresse IP du redirecteur DNS.
  • dhcp-option=28 – Votre adresse de diffusion réseau.
  • dhcp-option=42 – Serveur NTP – utilisez 0.0.0.0 L'adresse est destinée à l'auto-référence.
  • dhcp-boot – le fichier de démarrage pxe et l'adresse IP du serveur PXE (ici pxelinux.0 et l'adresse IP de la même machine).
  • pxe-prompt – Les utilisateurs peuvent appuyer sur la touche F8 pour accéder au menu PXE ou attendre 2 secondes avant de passer automatiquement au menu PXE.
  • pxe=service – Utilisez x86PC pour les architectures 32 bits/64 bits et entrez une invite de description de menu sous les guillemets. D'autres types de valeurs peuvent être : PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI.
  • enable-tftp – Active le serveur TFTP intégré.
  • tftp-root – le chemin système des fichiers de démarrage réseau.

3. De plus, après avoir terminé de modifier le fichier de configuration dnsmasq, créez le répertoire pour les fichiers PXE netboot en exécutant la commande ci-dessous et redémarrez le démon dnsmasq pour appliquer les modifications. Vérifiez l’état du service DNSMASQ pour voir s’il a été démarré.

mkdir /srv/tftp
systemctl restart dnsmasq.service
systemctl status dnsmasq.service

Étape 2 : Installer les fichiers TFTP Netboot

4. À l'étape suivante, récupérez la dernière version de l'image ISO du serveur Ubuntu pour l'architecture 64 bits en exécutant la commande suivante.

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. Une fois l'ISO du serveur Ubuntu téléchargé, montez l'image dans le répertoire /mnt et répertoriez le contenu du répertoire monté en exécutant les commandes ci-dessous.

mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
ls /mnt/

6. Ensuite, copiez les fichiers netboot de l'arborescence montée d'Ubuntu vers le chemin système tftp en exécutant la commande ci-dessous. Répertoriez également le chemin du système TFTP pour voir les fichiers copiés.

cp -rf /mnt/install/netboot/* /srv/tftp/
ls /srv/tftp/

Étape 3 : préparer les fichiers sources de l'installation locale

7. Les sources d'installation du réseau local pour le serveur Ubuntu seront fournies via le protocole HTTP. Tout d’abord, installez, démarrez et activez le serveur Web Apache en exécutant les commandes suivantes.

apt install apache2
systemctl start apache2
systemctl status apache2
systemctl enable apache2

8. Ensuite, copiez le contenu du DVD Ubuntu monté sur le chemin racine du serveur Web Apache en exécutant les commandes ci-dessous. Répertoriez le contenu du chemin racine Web Apache pour vérifier si l'arborescence montée ISO Ubuntu a été complètement copiée.

cp -rf /mnt/* /var/www/html/
ls /var/www/html/

9. Ensuite, ouvrez le port HTTP dans le pare-feu et accédez à l'adresse IP de votre machine via un navigateur (http://192.168.1.14/ubuntu) afin de tester si vous peut accéder aux sources via le protocole HTTP.

ufw allow http

Étape 4 : Installer le fichier de configuration du serveur PXE

10. Afin de pouvoir faire pivoter les rootfs via PXE et les sources locales, Ubuntu doit être informé via un fichier prédéfini. Créez le fichier local-sources.seed suivant dans le chemin racine du document de votre serveur Web avec le contenu suivant.

nano /var/www/html/ubuntu/preseed/local-sources.seed

Ajoutez la ligne suivante au fichier local-sources.seed.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

Ici, assurez-vous de remplacer l'adresse IP en conséquence. Il doit s'agir de l'adresse IP où se trouvent les ressources Web. Dans ce guide, les sources Web, le serveur PXE et le serveur TFTP sont hébergés sur le même système. Dans un réseau encombré, vous souhaiterez peut-être exécuter les services PXE, TFTP et Web sur des machines distinctes afin d'améliorer la vitesse du réseau PXE.

11. Un serveur PXE lit et exécute les fichiers de configuration situés dans le répertoire racine pxelinux.cfg TFTP dans cet ordre : fichiers GUID, fichiers MAC et fichier par défaut.

Le répertoire pxelinux.cfg est déjà créé et rempli avec les fichiers de configuration PXE requis car nous avons précédemment copié les fichiers netboot à partir de l'image ISO montée par Ubuntu.

Afin d'ajouter le fichier d'instructions prédéfinies ci-dessus à l'étiquette d'installation d'Ubuntu dans le fichier de configuration PXE, ouvrez le fichier suivant pour le modifier en exécutant la commande ci-dessous.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

Dans le fichier de configuration Ubuntu PXE txt.cfg, remplacez la ligne suivante comme illustré dans l'extrait ci-dessous.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

Le fichier /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg doit avoir le contenu global suivant :

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. Si vous souhaitez ajouter l'instruction d'URL prédéfinie au menu Ubuntu Rescue, ouvrez le fichier ci-dessous et assurez-vous de mettre à jour le contenu comme illustré dans l'exemple ci-dessous.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Ajoutez la configuration suivante au fichier rqtxt.cfg.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

La ligne importante que vous devez mettre à jour est url=http://192.168.1.14/ubuntu/preseed/local-sources.seed qui spécifie l'adresse URL où se trouve le fichier pressé sur votre réseau.

13. Enfin, ouvrez le fichier Ubuntu pxe menu.cfg et commentez les trois premières lignes afin d'agrandir l'écran de démarrage PXE comme illustré dans la capture d'écran ci-dessous.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Commentez ces trois lignes suivantes.

#menu hshift 13
#menu width 49
#menu margin 8

Étape 5 : Ouvrez les ports du pare-feu dans Ubuntu

14. Exécutez la commande netstat avec les privilèges root pour identifier les ports ouverts dnsmasq, tftp et Web en état d'écoute sur votre serveur, comme illustré dans l'extrait ci-dessous.

netstat -tulpn

15. Après avoir identifié tous les ports requis, exécutez les commandes ci-dessous pour ouvrir les ports dans le pare-feu ufw.

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 67/udp
ufw allow 69/udp
ufw allow 4011/udp

Étape 6 : Installer Ubuntu avec des sources locales via PXE

16. Pour installer le serveur Ubuntu via PXE et utiliser les sources d'installation du réseau local, redémarrez votre machine client, demandez au BIOS de démarrer à partir du réseau et, sur le premier écran du menu PXE, choisissez la première option comme illustré dans le ci-dessous les images.

17. La procédure d'installation doit être effectuée comme d'habitude. Lorsque le programme d'installation atteint la configuration du pays miroir de l'archive Ubuntu, utilisez la flèche du clavier vers le haut pour passer à la première option, qui dit : saisissez les informations manuellement.

18. Appuyez sur la touche [enter] pour mettre à jour cette option, supprimez la chaîne miroir et ajoutez l'adresse IP des sources miroir du serveur Web et appuyez sur Entrée pour continuer comme illustré dans le image ci-dessous.

http://192.168.1.14

19. Sur l'écran suivant, ajoutez votre répertoire d'archive miroir comme indiqué ci-dessous et appuyez sur la touche Entrée pour continuer le processus d'installation et habituellement.

/ubuntu

20. Si vous souhaitez voir des informations sur les packages téléchargés à partir du miroir local de votre réseau, appuyez sur les touches [CTRL+ALT+F2] afin de changer de console virtuelle de machine. et exécutez la commande suivante.

tail –f /var/log/syslog

21. Une fois l'installation du serveur Ubuntu terminée, connectez-vous au système nouvellement installé et exécutez la commande suivante avec les privilèges root afin de mettre à jour les packages de référentiels des sources du réseau local vers les miroirs officiels Ubuntu.

Les miroirs doivent être modifiés afin de mettre à jour le système à l'aide des référentiels Internet.

sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Assurez-vous de remplacer l'adresse IP en fonction de l'adresse IP de vos propres sources Web locales.

C'est tout! Vous pouvez maintenant mettre à jour votre système serveur Ubuntu et installer tous les logiciels requis. L'installation d'Ubuntu via PXE et un miroir source de réseau local peut améliorer la vitesse d'installation et économiser de la bande passante Internet et des coûts en cas de déploiement d'un grand nombre de serveurs sur une courte période dans vos locaux.