PXE comprend plusieurs composants : DHCP, HTTP et TFTP. Cette procédure illustre la configuration d'un serveur PXE sous Ubuntu.
DHCP distribue dynamiquement les paramètres IP aux composants NSX, tels que NSX Edge. Dans un environnement PXE, le serveur DHCP autorise NSX Edge à demander et à recevoir automatiquement une adresse IP.
TFTP est un protocole de transfert de fichier. Le serveur TFTP écoute toujours les clients PXE sur le réseau. Lorsqu'il détecte un client PXE demandant des services PXE, il fournit le fichier ISO de composants NSX et les paramètres d'installation contenus dans un fichier présélectionné.
Conditions préalables
- Un serveur PXE doit être disponible dans votre environnement de déploiement. Le serveur PXE peut être défini dans n'importe quelle distribution Linux.
- Dans le fichier de configuration prédéfini, vérifiez que les paramètres net.ifnames=0 et biosdevname=0 sont définis après
--
afin de persister après le redémarrage.
- Reportez-vous à la section Configuration requise système d'un serveur bare metal.
Procédure
- (Facultatif) Utilisez un fichier kickstart pour configurer un nouveau service TFTP ou DHCP sur un serveur Ubuntu.
Un fichier kickstart est un fichier texte contenant des commandes CLI que vous exécutez sur le dispositif après le premier démarrage.
Nommez le fichier kickstart en fonction du serveur PXE sur lequel il pointe. Par exemple :
nsxcli.install
Le fichier doit être copié sur votre serveur Web, par exemple, à l'adresse
/var/www/html/nsx-edge/nsxcli.install.
Dans le fichier kickstart, vous pouvez ajouter des commandes CLI. Par exemple, pour configurer l'adresse IP de l'interface de gestion :
stop service dataplane
set interface eth0 <ip-cidr-format> plane mgmt
start service dataplane
Pour modifier le mot de passe de l'utilisateur Admin :
set user admin password <new_password> old-password <old-password>
Si vous spécifiez un mot de passe dans le fichier preseed.cfg, vous devez utiliser le même mot de passe dans le fichier kickstart. Autrement, utilisez le mot de passe par défaut (« default »).
Pour relier le dispositif NSX Edge au plan de gestion :
join management-plane <manager-ip> thumbprint <manager-thumbprint> username <manager-username> password <manager password>
- Créez deux interfaces, l'une pour la gestion et l'autre pour les services DHCP et TFTP.
Assurez-vous que l'interface DHCP/TFTP réside sur le même sous-réseau que celui où le dispositif
NSX Edge se trouve.
Par exemple, si les interfaces de gestion NSX Edge doivent résider sur le sous-réseau 192.168.210.0/24, placez eth1 sur ce même sous-réseau.
# The loopback network interface
auto lo
iface lo inet loopback
# PXE server's management interface
auto eth0
iface eth0 inet static
address 192.168.110.81
gateway 192.168.110.1
netmask 255.255.255.0
dns-nameservers 192.168.110.10
# PXE server's DHCP/TFTP interface
auto eth1
iface eth1 inet static
address 192.168.210.82
gateway 192.168.210.1
netmask 255.255.255.0
dns-nameservers 192.168.110.10
- Installez le logiciel du serveur DHCP et configurez les paramètres requis pour configurer le serveur PXE. Pour plus d'informations, consultez la documentation de Linux.
- Installez le serveur Apache, TFTP et les autres composants requis pour configurer le serveur PXE.
- Copiez ou téléchargez le fichier ISO du programme d'installation NSX Edge dans un dossier temporaire.
- Montez le fichier ISO et copiez les fichiers d'installation sur le serveur TFTP et le serveur Apache.
sudo mount -o loop ~/nsx-edge.<build>.iso /mnt
cd /mnt
sudo cp -fr install/netboot/* /var/lib/tftpboot/
sudo mkdir /var/www/html/nsx-edge
sudo cp -fr /mnt/* /var/www/html/nsx-edge/
- (Facultatif) Éditez le fichier /var/www/html/nsx-edge/preseed.cfg pour modifier les mots de passe chiffrés.
Vous pouvez utiliser un outil Linux, tel que mkpasswd, pour créer un hachage de mot de passe.
sudo apt-get install whois
sudo mkpasswd -m sha-512
Password:
$6$SUFGqs[...]FcoHLijOuFD
- Modifiez le mot de passe racine, modifiez /var/www/html/nsx-edge/preseed.cfg et recherchez la ligne suivante :
d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...
- Remplacez la chaîne de hachage.
Vous n'avez pas besoin d'échapper les caractères spéciaux tels que $, ', " ou \.
- Ajoutez la commande usermod à preseed.cfg pour définir le mot de passe de l'utilisateur racine, de l'utilisateur Admin ou des deux.
Par exemple, ajoutez la commande suivante.
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \
La chaîne de hachage est un exemple. Vous devez échapper tous les caractères spéciaux. Le mot de passe racine dans la première commande usermod remplace le mot de passe qui est défini dans d-i passwd/root-password-crypted password $6$tgm...
.
Si vous utilisez la commande usermod pour définir le mot de passe, l'utilisateur n'est pas invité à le modifier lors de la première connexion. Dans les autres cas, l'utilisateur doit changer le mot de passe lors de la première connexion.
- Ajoutez les lignes suivantes au fichier /var/lib/tftpboot/pxelinux.cfg/default.
Remplacez 192.168.210.82 par l'adresse IP de votre serveur TFTP.
label nsxedge
kernel ubuntu-installer/amd64/linux
ipappend 2
append netcfg/dhcp_timeout=60 auto=true priority=critical vga=normal partman-lvm/device_remove_lvm=true netcfg/choose_interface=auto debian-installer/allow_unauthenticated=true preseed/url=http://192.168.210.82/nsx-edge/preseed.cfg mirror/country=manual mirror/http/hostname=192.168.210.82 nsx-kickstart/url=http://192.168.210.82/nsx-edge/nsxcli.install mirror/http/directory=/nsx-edge initrd=ubuntu-installer/amd64/initrd.gz mirror/suite=bionic netcfg/do_not_use_netplan=true --
- Ajoutez la ligne suivante au fichier /etc/dhcp/dhcpd.conf.
Remplacez 192.168.210.82 par l'adresse IP de votre serveur DHCP.
allow booting;
allow bootp;
next-server 192.168.210.82; #Replace this IP address
filename "pxelinux.0";
- Redémarrez le service DHCP.
sudo service isc-dhcp-server restart
Note : Si un message d'erreur apparaît, par exemple « arrêt : Instance inconnue : démarrage : Échec du démarrage du travail », exécutez
sudo /etc/init.d/isc-dhcp-server stop, puis
sudo /etc/init.d/isc-dhcp-server start. La commande
sudo /etc/init.d/isc-dhcp-server start renvoie des informations sur la source de l'erreur.
Que faire ensuite
Installez NSX Edge sur un système sans système d'exploitation à l'aide d'un fichier ISO. Reportez-vous à la section Installer automatiquement un dispositif NSX Edge bare metal à l'aide d'un fichier ISO.