webForumDet fria alternativet

Litet projekt, TFTP som pratar med SQL Server, C#

.NETur .NET

83 svar · 2 297 visningar · startad av Gildebrand · sida 3 av 5

Frågan, av Gildebrand

Hejsan! Jag har ett litet projekt på gång. Jag tänker modifiera en färdig TFTP server i C# och ändra så att olika datorer får olika filer. Ni får rätta mig om jag har fel men det är såhär jag tänker mig att det funkar med TFTP och PXE-boot. En dator som PXE-bootar tar först kontakt med en DHCP och får en ip-adress. Den får sedan reda på vilken server (TFTP) den ska kontakta och vilken fil som d

Läs frågan i sin helhet →
Medlem sedan aug. 20039 340 inlägg
#41

Vad är slutmålet? Att ghosta om diskar beroende på MAC-adress?

Medlem sedan juni 2009920 inlägg
#42

Mitt i prick

Medlem sedan aug. 20039 340 inlägg
#43

Och sedan installera Windows från scratch, eller återställa till en tidigare backup?

Medlem sedan juni 2009920 inlägg
#44

Synkronisera windowsinstallationen mot server. Alltså ta bort filer som inte finns på server från datorn, och uppdatera inaktuella.

Men det är inte en modell på datorer och därför behöver det vara olika sysprep.inf filer, för att hantera olika drivrutiner och datornamn.

Medlem sedan aug. 20039 340 inlägg
#45

Beroende på hur Ghost funkar så kan det vara möjligt att skapa RAM-disk med hjälp av t ex GRUB4DOS. För att det ska funka bör Ghost helst inte byta till så kallat protected mode. Åtminstone måste programmet använda BIOS-anrop för att komma åt diskarna. Det går t ex bra att köra Windows 98 i en RAM-disk på det viset, dock ingen NT-baserad version.
Jag hjälper gärna till att försöka få det att funka, men förvänta dig inte att det ska gå direkt. (Men du ville väl ha en utmaning?) Ett första delprojekt borde vara att se försöka boota Ghost från en GRUB4DOS-RAM-disk. (Alltså utan nätverk till att börja med, bara för att se om det funkar)
Om du har lust och du har någon form av IM, typ MSN eller ICQ, så kan vi snacka lite där. Isf, skicka ett PM med relevanta detaljer.

Medlem sedan juli 2003555 inlägg
#46

Hm, jag är inte säker på att Gildebrand vet riktigt vad det är han vill ha i slutändan faktiskt, jag tror det är dags att börja i den änden istället. (Originalfrågan visade sig nämligen inte ha så mycket med problemet att göra.)

Medlem sedan aug. 20039 340 inlägg
#47

Jag tror å andra sidan at han vet vad han vill göra (Ghosta om datorer utan att springa runt med en CD-skiva) men inte hur. Men det är bara spekulationer från min sida så klart.

Medlem sedan juli 2003555 inlägg
#48

Jag vet inte riktigt, ghost och sysprep har inte någonting gemensamt direkt. Och det är ju inte en hel image han vill peta ut (de images man petar ut med pxe är relativt små, typ bootstrappers, så enkelt som kanske en kärna, lite config och några program, eller kanske bara ett lågnivåprogram, som sedan gör någonting vettigt, t.ex. drar igång ett installationsprogram, eller bootar upp ett operativsystem över iSCSI.) i form av en hel windows-image, utan att på något sätt drar igång en windowsinstallation, men baserat på mac-adressen ska den matas med olika sysprep-filer. Det är den tolkning jag gjort i alla fall, men den stämmer inte överrens med vad han frågade efter ifrån början.

Ingen av de två tolkningarna stämmer dock överrens med "rsync-idéen", dvs. att synka filer i ett filsystem (ntfs?), så det är därför jag känner att vi verkligen måste ta reda på vad grundproblemet är. De förslag jag gav i början av tråden om just gPXE byggde t.ex. på att han vill ha ett sätt att peta ut rätt image, men nu vete sjutton.. :)

Gildebrand: Vad exakt vill du uppnå i slutändan? =)

Medlem sedan juni 2009920 inlägg
#49

Du har helt rätt nitro2k01 i vad det är jag vill åstadkomma. På det planet är jag helt på det klara.

Och mitt mål i hela denna tråd, fastän det har varit endel sidospår, är att kunna trycka ut varianter på vissa filer till valda mac-adresser.

Just nu tänker jag att jag ska låta alla klienter ladda hem ett litet program, som skickar en förfrågan till http://servernsnamn/index.aspx?mac={macadress} och får tillbaka vilka filer som programmet ska kopiera från vilken server.

Så i kort, ett "program" (applikation) som kan koppla upp sig mot en webserver och läsa av svaret.

Kan kopiera filer över nätverket, och se vilka filer som är inaktuella på datorn.

Kan ta bort filer som inte finns på servern.

Medlem sedan aug. 20039 340 inlägg
#50

Om det handlar om att modifiera existerande filsystem så rekommenderar jag starkt en linuxkärna med NTFS-3G installerat. Då får du enkel tillgång till både nätverk och filsystems-access. Men den metoden kan å andra sidan ev bli mer krånglig. (Å tredje sidan, hur ska du göra detta utan krångel?)
Anyway, om datorerna har gott om RAM (Tillräckligt för att rymma det som finns på CD'n) kan som sagt GRUB4DOS vara ett alternativ. Förutsatt att Ghost funkar ihop med detta.

Medlem sedan juli 2003555 inlägg
#51

Mja, ntfs-3g är väl inte helt rocksolid, tror jag hade åäö-strul med det sist jag prövade (ett halvår sedan tror jag)

Medlem sedan juni 2009920 inlägg
#52

Okej, en liten steg för steg vad jag vill ska hända.

1. Klienten startas
2. Klienten är satt på att boota över PXE
3. Klienten får ip-adress från DHCP och får en fil som den ska ladda ner från TFTP-servern
4. Klienten laddar ner applikation X från TFTP-servern
5. Applikation X startas, och skickar en "förfrågan" till testserver/index.aspx?mac={macadress} , där {macadress} är klientens macadress.
6. Applikationen får tillbaka några rader från servern som har genererats för den datorn. Tänker mig att svaret kan se ut såhär
xcopy \\testserver\tryckut\WINXP c:\
xcopy \\testserver\tryckut\001\ c:\
001 är alltså mappen som innehåller de filer som kan se annorlunda ut för den dator som jag sitter på. Sitter jag på en dator med en annan mac-adress så kanske den laddar ner filer från mappen \125

Att få den biten att fungera är allt jag bryr mig om för tillfället.

Medlem sedan aug. 20039 340 inlägg
#53

Jag tror att Linux är den väg du bör gå för den applikation som distribuera filerna. Detta eftersom det finns "inbyggt" stöd för nätbootning till skillnad från Windows. Saken är den att du (mer eller mindre) behöver ett operativsystem för att du ska kunna göra något vettigt. Du kan inte bara ladda ner "applikation X" över TFTP eftersom PXE körs innan något operativsystem körs. Då måste applikationen vara anpassad för den hårdvara som finns i maskinen, samt implementera eget stöd för NTFS.

Alternativet till Linux är att köra Windows i en RAM-disk, vilket är svårt utan speciell mjukvara som hjälper till. (Och som troligen kostar)

Men hur du än gör kommer det nog ta lite arbete och/eller pengar. Är det ett absolut krav att filerna appliceras innan Windows bootas?

För övrigt, två länakr jag hittade vid lite googling:
http://syslinux.zytor.com/wiki/index.php/PXELINUX
http://tftpd32.jounin.net/

Medlem sedan juni 20014 290 inlägg
#54

Eller om du vill köra windows program WinPE

Medlem sedan juli 2003555 inlägg
#55

Jag skulle kört på Windows, att få Windows att boota över nätverk är ingen omöjlighet, gPXE har lite exempel. Från och med Windows 2008 kan man installera direkt till iSCSI, tidigare Windows/DOS måste man installera på disk, sedan flytta imagen till sin iSCSI-server. Att dra igång bootningen sedan sköter gPXE om, så datorn behöver egentligen ingen disk.

http://etherboot.org/wiki/sanboot
http://etherboot.org/wiki/winpe
http://etherboot.org/wiki/winpe_memdisk

T.ex. kan du köra med WinXP, en slimmad installation, sätta att den ska mounta disken som readonly. Sedan har du autostart på ditt program som kör xcopy osv.

Medlem sedan juni 2009920 inlägg
#56

Tack för alla tips :)

Har dock ett litet problem. Jag kan inte mappa upp en nätverksresurs på servern, när jag kör servern som DHCP. Men att ansluta via MSTSC går finfint.

Medlem sedan juli 2003555 inlägg
#57

Det går fint även om servern går på dhcp, det är det som netbios och dns finns till för :)

Medlem sedan juni 2009920 inlägg
#58

Aha, har inte konfigurerat DHCPn för att jobba med netbios och dns, har dock de tjänsterna uppe. Får försöka dra upp servern med några hårddiskar färre, så att man inte väcker syrran :D

Medlem sedan juli 2003555 inlägg
#59

netbios behöver du ju inte fundera på i ett enkelt switchat nätverk, det sköter sig automatiskt med broadcasts. Steget upp är att köra med en WINS-server, netbios, fast med central server istället för en massa broadcasts. Mindre risk att saker tappas bort. Bäst är dock dns, går att ställa in att klienterna får uppdatera "sitt" dns-inlägg (sedan måste givetvis klienterna se till att också uppdatera dns, men, men.. :P )

Annars kan du sätta statisk ip på en viss mac-adress i dhcp-servern, då slipper du bry dig helt om namnuppslagningen

Medlem sedan juni 2009920 inlägg
#60

Men hur kommer det sig att det funkar att asnluta till "testserver" med mstsc, men inte att mappa upp den?

132 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)