PXE está formado por varios componentes: DHCP, HTTP y TFTP. Este procedimiento demuestra cómo configurar un servidor PXE en Ubuntu.
DHCP distribuye dinámicamente ajustes de IP a componentes de NSX, como NSX Edge. En un entorno PXE, el servidor DHCP permite a NSX Edge solicitar y recibir automáticamente una dirección IP.
TFTP es un protocolo de transferencia de archivos. El servidor TFTP siempre está escuchando en busca de clientes de PXE en la red. Si detecta que hay algún cliente PXE de la red solicitando servicios PXE, proporciona el archivo ISO del componente NSX y la configuración de instalación contenida en un archivo de preconfiguración.
Requisitos previos
- Un servidor PXE debe estar disponible en su entorno de implementación. El servidor PXE se puede configurar en cualquier distribución de Linux.
- Compruebe que el archivo de configuración preconfigurado tenga los parámetros net.ifnames=0 y biosdevname = 0 establecidos tras
--
para que persistan después de reiniciar.
- Consulte Requisitos del sistema del servidor sin sistema operativo.
Procedimiento
- (opcional) Use un archivo inicial para configurar nuevos servicios TFTP o DHCP en un servidor Ubuntu.
Un archivo inicial es un archivo de texto que contiene comandos CLI que ejecuta en el dispositivo tras el primer arranque.
Asigne un nombre al archivo inicial según el servidor PXE al que se dirige. Por ejemplo:
nsxcli.install
El archivo debe copiarse en su servidor web, por ejemplo en
/var/www/html/nsx-edge/nsxcli.install.
En el archivo inicial, puede agregar los comandos CLI. Por ejemplo, para configurar la dirección IP de la interfaz de administración:
stop service dataplane
set interface eth0 <ip-cidr-format> plane mgmt
start service dataplane
Para cambiar la contraseña del usuario admin:
set user admin password <new_password> old-password <old-password>
Si especifica una contraseña en el archivo preseed.cfg, debe utilizar la misma contraseña en el archivo inicial. De lo contrario, utilice la contraseña predeterminada, que es "default".
Para unir el NSX Edge al plano de administración:
join management-plane <manager-ip> thumbprint <manager-thumbprint> username <manager-username> password <manager password>
- Cree dos interfaces, una para administración y otra para servicios DHCP y TFTP.
Asegúrese de que la interfaz DHCP/TFTP esté en la misma subred en la que reside el
NSX Edge.
Por ejemplo, si las interfaces de administración del NSX Edge van a estar en la subred 192.168.210.0/24, coloque eth1 en esa misma subred.
# 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
- Instale el software del servidor DHCP y configure los ajustes necesarios para configurar el servidor PXE. Para obtener más información, consulte la documentación de Linux.
- Instale el servidor Apache, TFTP y otros componentes necesarios para configurar el servidor PXE.
- Copie o descargue el archivo ISO del instalador de NSX Edge en una carpeta temporal.
- Monte el archivo ISO y copie los componentes de instalación en el servidor TFTP y el servidor 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/
- (opcional) Edite el archivo /var/www/html/nsx-edge/preseed.cfg para modificar las contraseñas cifradas.
Puede utilizar una herramienta Linux como mkpasswd para crear un hash de contraseña.
sudo apt-get install whois
sudo mkpasswd -m sha-512
Password:
$6$SUFGqs[...]FcoHLijOuFD
- Modifique la contraseña root, edite el archivo /var/www/html/nsx-edge/preseed.cfg y busque la siguiente línea:
d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...
- Reemplace la cadena hash.
No es necesario escapar ningún carácter especial, como $, ', " o \.
- Agregue el comando usermod al archivo preseed.cfg para establecer la contraseña del usuario root, del usuario admin o de ambos.
Por ejemplo, agregue el siguiente comando.
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \
La cadena hash es un ejemplo. Debe escapar todos los caracteres especiales. La contraseña root del primer comando usermod reemplaza a la contraseña establecida en d-i passwd/root-password-crypted password $6$tgm...
.
Si utiliza el comando usermod para establecer la contraseña, no se pide al usuario que cambie la contraseña tras iniciar sesión por primera vez. De lo contrario, el usuario deberá cambia la contraseña al iniciar sesión por primera vez.
- Agregue las siguientes líneas al archivo /var/lib/tftpboot/pxelinux.cfg/default.
Reemplace 192.168.210.82 con la dirección IP de su servidor 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 --
- Agregue las siguientes líneas al archivo /etc/dhcp/dhcpd.conf.
Reemplace 192.168.210.82 con la dirección IP de su servidor DHCP.
allow booting;
allow bootp;
next-server 192.168.210.82; #Replace this IP address
filename "pxelinux.0";
- Reinicie el servicio DHCP.
sudo service isc-dhcp-server restart
Nota: Si se devuelve un error, por ejemplo: "parada: Instancia desconocida: inicio: No se pudo iniciar el trabajo" (stop: Unknown instance: start: Job failed to start), ejecute
sudo /etc/init.d/isc-dhcp-server stop y, a continuación,
sudo /etc/init.d/isc-dhcp-server start. El comando
sudo /etc/init.d/isc-dhcp-server start devuelve información sobre el origen del error.
Qué hacer a continuación
Instale NSX Edge de forma nativa utilizando un archivo ISO. Consulte Instalar automáticamente una instancia nativa de NSX Edge mediante un archivo ISO.