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. Le serveur PXE doit posséder deux interfaces, l'une pour les communications externes, l'autre pour les services IP DHCP et TFTP.

    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 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>
  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 serveur DHCP.
    sudo apt-get install isc-dhcp-server -y
  4. Modifiez le fichier /etc/default/isc-dhcp-server, puis ajoutez l'interface qui fournit le service DHCP.
    INTERFACES="eth1"
  5. (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.
    ...
    authoritative;
    ...
  6. 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;
    }
  7. Démarrez le service DHCP.
    sudo service isc-dhcp-server start
  8. Vérifiez que le service DHCP est en cours d'exécution.
    service --status-all | grep dhcp
  9. Installez Apache, TFTP et d'autres composants requis pour l'amorçage PXE.
    sudo apt-get install apache2 tftpd-hpa inetutils-inetd
  10. Vérifiez que TFTP et Apache sont en cours d'exécution.
    service --status-all | grep tftpd-hpa
    service --status-all | grep apache2
  11. Ajoutez les lignes suivantes au fichier /etc/default/tftpd-hpa.
    RUN_DAEMON="yes"
    OPTIONS="-l -s /var/lib/tftpboot"
  12. 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
  13. Redémarrez le service TFTP.
    sudo /etc/init.d/tftpd-hpa restart
  14. Copiez ou téléchargez le fichier ISO du programme d'installation NSX Edge dans un dossier temporaire.
  15. 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/
  16. (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, 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.

  17. 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 --
  18. 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";
  19. 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.