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-T Data Center, 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-T Data Center et les paramètres d'installation contenus dans un fichier présélectionné.
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 dataplane
set interface eth0 <ip-cidr-format> plane mgmt
start 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 serveur DHCP.
sudo apt-get install isc-dhcp-server -y
- Modifiez le fichier /etc/default/isc-dhcp-server, puis ajoutez l'interface qui fournit le service DHCP.
- (Facultatif) Si vous voulez que ce serveur DHCP soit le serveur DHCP officiel du réseau local, supprimez le commentaire de la ligne authoritative; du fichier /etc/dhcp/dhcpd.conf.
- Dans le fichier /etc/dhcp/dhcpd.conf, définissez les paramètres DHCP pour le réseau PXE.
Par exemple :
subnet 192.168.210.0 netmask 255.255.255.0 {
range 192.168.210.90 192.168.210.95;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.110.10;
option routers 192.168.210.1;
option broadcast-address 192.168.210.255;
default-lease-time 600;
max-lease-time 7200;
}
- Démarrez le service DHCP.
sudo service isc-dhcp-server start
- Vérifiez que le service DHCP est en cours d'exécution.
service --status-all | grep dhcp
- Installez Apache, TFTP et d'autres composants requis pour l'amorçage PXE.
sudo apt-get install apache2 tftpd-hpa inetutils-inetd
- Vérifiez que TFTP et Apache sont en cours d'exécution.
service --status-all | grep tftpd-hpa
service --status-all | grep apache2
- Ajoutez les lignes suivantes au fichier /etc/default/tftpd-hpa.
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
- Ajoutez la ligne suivante au fichier /etc/inetd.conf.
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
- Redémarrez le service TFTP.
sudo /etc/init.d/tftpd-hpa restart
- 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, recherchez la ligne
echo 'VMware NSX Edge' et 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=xenial --
- 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 NSX Edge automatiquement via un fichier ISO.