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é.

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.

    Si vous disposez de plusieurs réseaux de gestion, vous pouvez ajouter des itinéraires statiques aux autres réseaux à partir du dispositif NSX-T Data Center.

  • 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.

Procédure

  1. (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>
  2. 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
    
  3. 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.
  4. Installez le serveur Apache, TFTP et les autres composants requis pour configurer le serveur PXE.
  5. Copiez ou téléchargez le fichier ISO du programme d'installation NSX Edge dans un dossier temporaire.
  6. 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/
  7. (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
    1. 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...
    2. Remplacez la chaîne de hachage.
      Vous n'avez pas besoin d'échapper les caractères spéciaux tels que $, ', " ou \.
    3. 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.

  8. 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 --
  9. 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";
  10. 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.