Voorlader eXecution Environment (PXE, soms uitgesproken als pixels)
Met PXE of Network Booting kunt u het besturingssysteem downloaden en starten. In Cisco NX-OS-routers is dit gelijk aan de startvertraging voor de start van de startvertraging [lader>].
Bij de PXE-start kijkt het configuratiescherm van de PXE Client naar de geconfigureerde startvolgorde en bepaalt, als PXE-start is ingesteld, of de hardware PXE-start ondersteunt. Als ja, probeert het om DHCP en IP adres van de NIC. In het DHCP-verzoek vraagt de PXE-client om bepaalde DHCP-opties zoals 67 [Filname]. In het DHCP-antwoord antwoordt de DHCP-server met de gevraagde opties. De PXE client downloads vervolgens de bestandsnaam [Network Bootstrap Program (NBP)], gespecificeerd in de DHCP-respons, en voert deze uit om het besturingssysteem geladen te krijgen op de server.
PXE-client omleiden naar verschillende TFTP-server
Standaard zal de PXE-client proberen om TFTP de bestandsnaam in de DHCP-respons van de DHCP-server te downloaden tenzij de client een optie 66, next-server of optie 60/43 in de DHCP-respons ontvangt om het bestand opnieuw te richten naar een ander ip-adres. Het adres van de volgende server wordt gebruikt in Bootp en PXE om te specificeren om verschillende servers voor DHCP en TFTP te gebruiken.
De volgende server (optie 12) en Bootfile (optie 0) DHCP-opties specificeren doorgaans de TFTP-server en bestandsnaam van de eerste laars. Bootfile wordt optioneel gebruikt door een client om een bepaald type laarsbestand in een DHCPDISCOVER-bericht aan te vragen. Het wordt gebruikt door een DHCP-server in een DHCPOFFER om een folder van een folder en bestandsnaam volledig te specificeren.
Optie 67 moet ook voor de bestandsnaam worden opgegeven. Het verschil tussen bootfile en optie 67 is waar in de DHCP-respons de bestandsnaam gevonden wordt. Met de gereserveerde velden zijn de antwoorden niet genummerd in het gedeelte Opties van het reactiepakket, maar gegeven in een specifieke volgorde.
Bijvoorbeeld, de naam van de Server en het Bootfile verschijnen vóór de genummerde opties in de afbeelding hieronder.
Belangrijke opmerkingen voor probleemoplossing
Als de PXE-beginclient niet om een specifieke DHCP-optie vraagt in de lijst Optie 55-parameteraanvraag in het DHCP-aanvraagpakket, zal de optie DHCP-optie NIET in het DHCP-serverresponspakket staan, zelfs als deze op de DHCP-server is geconfigureerd. Het is belangrijk om een snuffelspoor te krijgen om de gevraagde en gegeven opties te verifiëren.
OPMERKING: Als ACI voor DHCP IP helper-adres (DHCP Relay) is ingesteld op een DHCP-server, dan kan tcPDump worden gebruikt in de eerste hopbladeswitch. Omdat de bladeswitch als DHCP-relais moet fungeren, moet de CPU de DHCP-pakketten verwerken om deze naar de DHCP-server door te sturen. U kunt inloggen met behulp van de admin-account en de opdracht gebruiken
tcPDump -i any-w /tmp/packet.pcap "port 67"
om de DHCP-pakketten tussen de host- en DHCP-server op te nemen. Als de bladeswitch geen OB ip-adres heeft, kunt u het opgenomen bestand naar APIC overbrengen door in de APIC te loggen met de admin-gebruikersnaam en het gebruik van
SCP-beheerder@<schakelaar TEP>:/tmp/packet.pcap/startpunt/beheerder
U kunt het bestand vervolgens vanuit APIC overdragen met behulp van het GUI ip-adres.
Afhankelijk van de ondersteuning van de PXE-server kunnen er veel verschillende bestanden zijn. De meest voorkomende bestandsnaam van een linux-server wordt "/pxelinux.0" genoemd en bevindt zich doorgaans in de map /tftpaars.
DHCP-opties die in PXE-startvertraging kunnen worden gebruikt
NAME |
OPTIE # |
Configuratie |
BOOTFIEL |
0 |
Bootbestand <bestand> |
STANDAARD_ROUTER |
3 |
Standaard-router 10.250.18.1 |
NETWERK |
11 |
Network 10.250.18.0 255.255.255.0 |
VOLGENDE_SERVER |
12 |
Next-server 10.45.67.8 |
Verzenden met bijbehorende optie 60 |
43 |
optie 43 hex 06010708070000010afbd015 |
Overeenkomende string voor optie 43 |
60 |
Optie 60 "PXEClent" |
Enkelvoudige TFTP-server |
66 |
Optie 66 ip 10.240.221.21 |
PXE-bestandsnaam |
67 |
Optie 67 "/pxelinux.0" |
TFTP-serverlijst |
150 |
Optie 150 10.240.208.21 |
Optie 43 wordt teruggegeven aan de PXE client als de DHCP-server overeenkomt met de optie 60 string naar de optie 60 string die door de client wordt verstuurd. Optie 43 heeft meerdere subopties in oplopende volgorde (optie 6, dan 8, enz.):
Suboptie 6 wordt gedefinieerd als
06: suboptie 6
01: 1 bytes lang
07: Gebruik de lijst PXE_BOOT_SERVERS, schakelt multicast en broadcast-ontdekking uit (alleen éénvoudig) in.
Suboptie 8 wordt gedefinieerd als
08: suboptie 8
07: grootte van 08 optie in bytes
0000: PXE-server type 0 (PXE-boogserver)
01: aantal PXE-servers
0afbd015 : 10.251.208.21
De optie ziet er zo uit in de DHCP-configuratie
Optie 43 hex 06010708070000010afbd015
Volgens https://support.microsoft.com/en-us/kb/259670 heeft de DHCP-server deze opties ingesteld:
60 = Clientidentificator (ingesteld op "PXEClent")
66 = Boot Server Host Name of IP Address
67 = OpstartenBestandsnaam
en wanneer het eerste DHCP-aanbod van de DHCP-server deze laars bevat, wordt gepoogd verbinding te maken met poort 4011 op de DHCP-server vanuit de PXE-client en er gebeurt de fout "Proxy DHCP-service heeft niet gereageerd op Port 4011".
OPMERKING: Microsoft ondersteunt het gebruik van deze opties niet op een DHCP-server om PXE-clients te herrichten.
Topologie van klanten
In dit geval had de gebruiker 2 verschillende ACI-stoffen. In ACI fabric #1 waren de PXE-clients DHCPing en start u een Microsoft server binnen de fabric. In de andere ACI-structuur waren de PXE-clients DHCPing van een externe IOS-XE 4507-router via een L3Out maar gebruikten van dezelfde Microsoft-server om het bestand te downloaden, zodat de DHCP-server niet fungeerde als de TFTP-server.
De resolutie die de klant uiteindelijk had aangenomen was om naar een linux DHCP-server te verplaatsen. Door de DHCP-pakketsporen te analyseren, ziet het eruit alsof de klant niet is geconfigureerd de optie 43-string en de IOS-XE DHCP-server nooit heeft gewerkt.
Om dit in ACI te laten werken:
- Een DHCP-relais moet worden ingesteld om de DHCP-client-pakketten door te geven
- Contracten moeten DHCP- en TFTP-pakketten tussen L3Out en EPG toestaan dat de PXE-client in
U kunt contractdruppels op de bladeswitches voor de TFTP-pakketten zien met de opdracht
calo2-leaf2# toont het loggen van ip access-list intern pakketlog | grep <client-ip-adres>
Deze opdracht verandert in versie 2.0 om het trefwoord ontkennen of toestaan toe te voegen en wordt
calo2-leaf2# tonen het loggen van ip toegang-lijst intern pakketlogboek ontkennen | grep <client-ip-adres>
In het voorbeeldgeval was de PXE-client geen optie 66 aan het aanvragen maar gaf optie 60 op en verzocht optie 43 in de optie 55-parameter lijst. Ook de volgende server werd gevraagd (optie 12). Zie dat het PXE filename opvroeg via optie 67.
Het antwoord geeft het boekbestand en optie 67 weer
TCPdumpen op bladeswitch: