luzzattigramsci.it

  

Bästa artiklarna:

  
Main / Ipxe chainloading dnsmasq howto

Ipxe chainloading dnsmasq howto

Här ska vi ställa in en PXE-server som skulle starta även kort med dålig eller buggig PXE-firmware utan att behöva blinka dem. PXE, akronym för Preboot eXecution Environment, är en specifikation som ursprungligen utvecklats av Intel som gör att en dator kan starta över nätverket. Detta har uppenbara applikationer när det gäller disklösa lådor, t.ex. tunna klienter, men det kan också vara användbart för vanliga maskiner, till exempel att tillfälligt starta en räddningsdisk, eller installera om operativsystemet via nätverket utan att behöva något fysiskt medium.

Låter enkelt, men som vanligt är livet inte så enkelt som det verkar. Det finns några saker att notera. Detta innebär att NBP körs i en speciell miljö och kan använda sig av många funktioner som tillhandahålls av PXE som laddade den. Låt oss ta fallet med pxelinux, förmodligen den mest använda NBP för sin flexibilitet. Endast de senaste versionerna stöder HTTP inbyggt; dock äldre versioner från och med 3. Det finns några lösningar för detta :. Det sista alternativet är det enklaste och mest praktiska att implementera, eftersom det inte behöver röra sig med sneakernet eller ROM blinkande, och det är vad som beskrivs här.

Allt körs på samma maskin för enkelhets skull, men det finns ingen anledning till varför webbservern inte kunde köras på en annan ruta. Detta är helt enkelt: Den andra är iPXE-användarklassen, som återigen normalt inte är närvarande.

I dnsmasq ställer vi in ​​en tagg om vi upptäcker att begäran kommer från iPXE och gör olika saker beroende på om taggen är inställd eller inte. För att ha maximal flexibilitet vill vi kunna berätta vilken klient vi pratar med och möjligen ge olika order till olika klienter. På servern körs ett PHP-skript som bestämmer vad man ska göra baserat på de mottagna värdena. Vi skickar alltså tillbaka ett iPXE-skript som innehåller ytterligare instruktioner till klienten, t.ex. "chainload pxelinux.

Se nedan för exemplen. Detta gör att vi kan göra saker som till exempel "Client X: Client Y: Client Z: Nu när vi har definierat planen, låt oss äntligen komma till de praktiska bitarna. Det antas att PXE-servern pxe. Det antas också att ingen andra DHCP-servrar finns i nätverket.

Så vi satte taggen ENH set: Taggen :! Observera att denna syntax kräver en ganska ny version av dnsmasq; i äldre versioner, "net: ENH" dvs "net: Filen är otydligt. Detta är den enda TFTP-transaktionen i hela processen.

Detta innebär att i så fall kommer processen att gå snabbare eftersom kedjelastningsfasen hoppas över och klienten skickas direkt till HTTP-URL: n. Oavsett om klienten ursprungligen är dum eller inte, kommer det så småningom att hämta boot1.

Och så ... Varje webbserver med PHP-stöd skulle faktiskt fungera; det är bara det att med apache är en löpande PHP bara två kommandon bort med noll konfiguration. Och naturligtvis behöver det inte ens vara PHP: Så här ser det ut. Den fullständiga listan över tillgängliga parametrar finns här i dokumenten.

Men det ser ut så att URL: en trunkeras om den är för lång, så det är bättre att vara säker och lägga den i sin egen fil. Nu, äntligen, låt oss titta på hur boot2. Här bestämmer vi vad vi ska göra med varje klient. Kort sagt kommer varje klient att få en iPXE-skrift som berättar vad den ska göra. Här upptäcks klienter av deras MAC-filer, men alla variabler bland dem som vi skickar kan naturligtvis användas. Om en klient inte har någon specifik behandling för den kommer den att hamna i "standard" -grenen i switch-uttalandet, vilket bara leder den att avsluta iPXE och prova nästa enhet i BIOS-startsekvensen, vilket normalt skulle innebära det startar från sin lokala hårddisk igen, det kan naturligtvis ändras.

Det är till och med möjligt att hämta och starta saker från Internet, som i iPXE-demobilden, som kan laddas genom att rikta klienten till kedja http: Det fungerar verkligen. Men den coolaste tjänsten är, som visas för den tredje klienten i exemplet ovan, http: Det är verkligen imponerande.

Bra gjort! Om vi ​​instruerar en klient att ladda pxelinux, finns det en annan grad av flexibilitet där, eftersom pxelinux kommer att försöka ladda flera konfigurationsfiler, namngivna från de mest specifika till de mest generiska, tills det lyckas.

Normalt ser försökssekvensen ungefär så här ut :. Så igen, vad en viss klient gör kan avgöras genom att tilldela den en pxelinux-konfigurationsfil med ett namn som är mer specifikt än "standard", vilket är vad som laddas om inget bättre hittas. Och naturligtvis pxelinux.

Med detta system blir det verkligen möjligt att göra vad man än kan tänka sig via PXE, och allt styrs och hanteras från en enda plats. Hoppa till innehåll Hem Om Feed. Först några ord om PXE. Förenkla lite, det går så här: En maskin är påslagen.

Hittills skiljer det sig inte från normal DHCP. Servern skickar dock också två speciella bitar av information till klienten i DHCP-erbjudandet: Om den lyckas laddar den NBP i minnet och kör den. Från och med nu tar NBP över och gör vad som krävs för att starta maskinen helt. Det finns några lösningar för detta: Så i BIOS är maskinen konfigurerad för att starta från lämpligt flyttbart media, som laddar PXE-firmware, som i sin tur startar från nätverket.

I allmänhet är detta inte särskilt praktiskt och media kan gå förlorade eller skadas eller läsaren kan gå sönder. Många maskiner har inte ens en diskett eller CD-läsare längre. Det här är bättre, men det kräver fortfarande vissa speciella åtgärder. För hundratals maskiner är det här inte särskilt praktiskt. Upptäck MSZ Option 57, längd 2: ENH, oavbrutet. ENH, http: Apache-konfiguration Vilken webbserver som helst med PHP-stöd skulle faktiskt fungera; det är bara det att med apache är en löpande PHP bara två kommandon bort med noll konfiguration.

Så här ser det ut! BTC bitcoinate. Sök efter: Drivs av WordPress. Tema F2.

(с) 2019 luzzattigramsci.it