Installation et configuration de TFTP et DHCP pour WADS¶
Installation et configuration d’un serveur TFTP¶
Avertissement
Si vous avez installé un autre serveur tftp sur le serveur WAPT, veuillez d’abord le désinstaller.
Cette documentation est destinée à WAPT 2.2.1 et aux versions ultérieures
Choisissez votre distribution
Activer et démarrer le serveur tftpInstaller le serveur TFTP.
systemctl enable wapttftpserver
systemctl start wapttftpserver
Vous pouvez tester que le serveur tftp fonctionne correctement en utilisant un client tftp et tester le téléchargement du fichier ipxe.efi. Si vous testez la commande suivante sur une machine basée sur Redhat autre que le waptserver, faites attention au pare-feu sortant local qui bloque les requêtes sortantes du client tftp.
cd ~
tftp srvwapt.mydomain.lan
binary
get ipxe.efi
quit
ls -l ipxe.efi
Lors de l’installation du serveur, cochez la case WADS tftp. Vous pouvez relancer l’installateur si cela n’a pas été fait à ce moment-là. Vous pouvez vérifier que le service est configuré et fonctionne avec la commande
sc query wapttftpserver
Si le serveur est installé mais pas démarré, vous pouvez le démarrer avec :
net start wapttftpserver
Installation et configuration d’un serveur DHCP¶
Le démarrage PXE est un processus en deux étapes. D’abord, le chargeur de démarrage UEFI/BIOS téléchargera le binaire iPXE depuis le serveur tftp, puis le binaire iPXE téléchargera le script iPXE et les binaires de démarrage depuis http. C’est pourquoi nous devons avoir une configuration PXE DCHP en deux étapes.
Par exemple :
<!-- global options -->
next-server 192.168.1.30;
option ipxe-url code 175 = text;
option client-architecture code 93 = unsigned integer 16;
<!-- subnet mydomain.lan netmask 255.255.255.0 -->
if option client-architecture = 00:00 {
if exists user-class and option user-class = "iPXE" {
filename "http://srvwapt.mydomain.lan/api/v3/baseipxe?uefi=false&keymap=fr";
}
else{
filename "undionly.kpxe";
}
} else {
if exists user-class and option user-class = "iPXE" {
option ipxe-url "http://srvwapt.mydomain.lan:80/";
filename "http://srvwapt.mydomain.lan/api/v3/baseipxe?keymap=fr";
}
else{
filename "ipxe.efi";
}
}
Pour plus d’informations, vous pouvez consulter le site https://ipxe.org/howto/dhcpd
Par exemple :
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
dhcp-boot=tag:!ipxe,undionly.kpxe,IP_WAPTSERVER
dhcp-boot=tag:ipxe,http://srvwapt.mydomain.lan/api/v3/baseipxe?uefi=false
Par exemple pour une machine :
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
dhcp-mac=set:waptserver,MAC_ADDRESS_TARGET_COMPUTER
dhcp-boot=tag:!ipxe,undionly.kpxe,waptserver,IP_WAPTSERVER
dhcp-boot=tag:ipxe,http://srvwapt.mydomain.lan/api/v3/baseipxe?uefi=false,waptserver
You can use the following PowerShell command line to configure iPXE booting on your network. Please adapt the $url_waptserver and $waptserver_ipaddress_tftp depending on your current installation. keymap is the keyboard language
$waptserver_ipaddress_tftp = "192.168.154.13"
$url_waptserver = "http://srvwapt.mydomain.lan"
$keymap = "fr"
Add-DhcpServerv4Class -Name "legacy_bios" -Type Vendor -Data "PXEClient:Arch:00000"
Add-DhcpServerv4Class -Name "iPXE" -Type User -Data "iPXE"
Set-DhcpServerv4OptionValue -OptionId 66 -Value "$waptserver_ipaddress_tftp"
Add-DhcpServerv4Policy -Name "wapt-ipxe-url-legacy" -Condition AND -UserClass EQ,iPXE -VendorClass EQ,legacy_bios*
Set-DhcpServerv4OptionValue -PolicyName "wapt-ipxe-url-legacy" -OptionID 67 -Value "$url_waptserver/api/v3/baseipxe?uefi=false&keymap=$keymap"
Add-DhcpServerv4Policy -Name "wapt-ipxe-url-uefi" -Condition AND -UserClass EQ,iPXE -VendorClass NE,legacy_bios*
Set-DhcpServerv4OptionValue -PolicyName "wapt-ipxe-url-uefi" -OptionID 67 -Value "$url_waptserver/api/v3/baseipxe?keymap=$keymap"
Add-DhcpServerv4Policy -Name "ipxe.efi" -Condition AND -UserClass NE,iPXE -VendorClass NE,legacy_bios*
Set-DhcpServerv4OptionValue -PolicyName "ipxe.efi" -OptionID 67 -Value "ipxe.efi"
Add-DhcpServerv4Policy -Name "undionly.kpxe" -Condition AND -UserClass NE,iPXE -VendorClass EQ,legacy_bios*
Set-DhcpServerv4OptionValue -PolicyName "undionly.kpxe" -OptionID 67 -Value "undionly.kpxe"
For more information, you can refer to https://ipxe.org/howto/msdhcp