RIS server

Fórumok

Sziasztok!

Probalok osszehozni egy RIS szervert CentOS-on winXP telepitesehez. Alapvetoen hnsz2002 leirasa, es EZ alapjan probalkoztam. Addig eljutottam, hogy dhcp kapcsolat letrejon de a kliensen

PXE-E32: TFTP open timeout

hibat kapok. Amit igazan furcsalok semmifele bejegyzes nincs a /var/log/message fajlban, a sikeres cimkiosztason kivul.

Az idevonatkozo beallitofajok:

dhcpd.conf

default-lease-time 86400;
max-lease-time 604800;
ddns-update-style none;
ignore client-updates;
authoritative;

subnet 10.128.0.0 netmask 255.255.255.0 {
range 10.128.0.100 10.128.0.200;
option broadcast-address 10.128.0.255;
option routers 10.128.0.1;
option domain-name "attila.local";
option domain-name-servers 10.128.0.1;
option subnet-mask 255.255.255.0;
allow bootp;

host xena {
hardware ethernet 00:0f:1f:ab:cd:a6;
fixed-address 10.128.0.18;
server-name "10.128.0.1";
next-server 10.128.0.1;
filename "winxp.0";
}
}

samba:

[global]
workgroup = HNSZ
netbios name = Xena
server string = Xena
security = share
interfaces = 10.128.0.1/255.255.255.0
bind interfaces only = yes
case sensitive = no
[xpinstall]
browsable = true
path = /tftpboot
read only = yes
guest ok = yes

tftp

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -l -s /tftpboot -m /etc/xinet.d/tftp.rules -v
per_source = 11
cps = 100 2
flags = IPv4
}

tftp.rules

rg \\ /

winxp.sif

floppyless = "1"
msdosinitiated = "1"
OriSrc = "\xena\xpinstall\winxp\i386"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1

[SetupData]
OsLoadOptions = "/fastdetect /minint"
SetupSourceDevice = "\Device\LanmanRedirector\xena\xpinstall\winxp"

[RemoteInstall]
Repartition = No
UseWholeDisk = No

[UserData]
ComputerName = CsillaXP

Hozzászólások

tcpdump+wireshark parossal megtudod nezni a bejovo kereseket es azt hogy a tftp szerver valaszol-e

udv Zoli

A kovetkezot kaptam:


01:20:14.676103 IP (tos 0x0, ttl 20, id 3, offset 0, flags [none], proto: UDP (17), length: 52) 10.128.0.18.ah-esp-encap > 10.128.0.1.tftp: [udp sum ok] 24 RRQ "winxp.0" octet tsize 0
01:20:16.706968 IP (tos 0x0, ttl 20, id 4, offset 0, flags [none], proto: UDP (17), length: 52) 10.128.0.18.acp-port > 10.128.0.1.tftp: [udp sum ok] 24 RRQ "winxp.0" octet tsize 0
01:20:20.716573 IP (tos 0x0, ttl 20, id 5, offset 0, flags [none], proto: UDP (17), length: 52) 10.128.0.18.msync > 10.128.0.1.tftp: [udp sum ok] 24 RRQ "winxp.0" octet tsize 0
01:20:26.703553 IP (tos 0x0, ttl 20, id 6, offset 0, flags [none], proto: UDP (17), length: 52) 10.128.0.18.gxs-data-port > 10.128.0.1.tftp: [udp sum ok] 24 RRQ "winxp.0" octet tsize 0
01:20:34.667825 IP (tos 0x0, ttl 20, id 7, offset 0, flags [none], proto: UDP (17), length: 52) 10.128.0.18.vrtl-vmf-sa > 10.128.0.1.tftp: [udp sum ok] 24 RRQ "winxp.0" octet tsize 0
01:20:44.610017 IP (tos 0x0, ttl 20, id 8, offset 0, flags [none], proto: UDP (17), length: 57) 10.128.0.18.newlixengine > 10.128.0.1.tftp: [udp sum ok] 29 RRQ "winxp.0" octet blksize 1456

en azt szoktam csinalni hogy ssh-n keresztul bejelentkezem a szerverre es ott inditom a "tcpdump -i eth0 -s 0 -w /valahol/capturefile.pcap" parancsot. generalom a forgalmat, leallitom a felvetelt es atmasolom a desktop gepre ahol grafikusan futtatom a wiresharkot, amivel megnyitom a lementett pcap filet. innen mar kenyelmesen lehet szurni a lenyeges infora. a fentiekbol annyi latszodik hogy a gep megkapja a kereseket (gondolom ez mar szurt) es nincs kimeno forgalom. esetleg egy "netstat -nap|grep 69"-el megnezheted hogy egyaltalan figyel az adott porton valami

udv Zoli

Sziasztok!

Az elozo problemat mar sikerult megoldani. Most egy kovetkezo allta elo:
A windows xp telepito elkezd betolteni majd a kovetkezot adja:

File ntoskrnl.exe could not be loaded.

The error code is 21

Setup cannot continue. Press any key to exit.

ITT azt irjak rossz a ntoskrnl.exe rakjam ujra. Na ezzel nem tudok mit kezdeni. A telepito cd-en ez a fajl van es kesz, honnan szedjek ujat?

tcpdump ezt adja:

Jan 14 15:10:41 attilaCentOS in.tftpd[5635]: RRQ from 10.128.0.18 filename \winxp\i386\ntoskrnl.ex_ remapped to /winxp/i386/ntoskrnl.ex_
Jan 14 15:10:42 attilaCentOS in.tftpd[5636]: RRQ from 10.128.0.18 filename \winxp\i386\KDCOM.DL_ remapped to /winxp/i386/KDCOM.DL_
Jan 14 15:10:42 attilaCentOS in.tftpd[5637]: RRQ from 10.128.0.18 filename \winxp\i386\BOOTVID.dl_ remapped to /winxp/i386/BOOTVID.dl_
Jan 14 15:10:42 attilaCentOS in.tftpd[5638]: RRQ from 10.128.0.18 filename \winxp\i386\BOOTVID.dll remapped to /winxp/i386/BOOTVID.dll

Ilyenkor már a winxp/winxp.0 -fájlt sem éri el.

Ha csak a tftpd-rules -tartalma : rg \\ /
akkor elindul a telepítés, de leáll, mert nem találja a winxp\i368\KDCOM.DLL -fájlt.

Ha átnevezem az i386 -mappában a kdcom.dl_ fájlt (ez van csak) KDCOM.DLL -re , akkor sem találja !!!

Jó lenne egy kis segítség !!!

mi olyan automatikus remote telepítőt csináltunk, hogy:
- win xp sp2/sp3 kliensek
- win pe (xp sp2-höz való)
- linuxos szerver, samba, dhcp, tftp, nfs, rsync

a kliens gép bebootol, először cd-ről vagy pxe-vel netről egy linux kernelt (+initrd-t), dhcp-vel szerez magának IP címet és nfs szerver címet, felmountol egy összeállított kis linux rootot a szerverről nfs-sel, readonlyba, majd ad egy promptot, ahol lehet hackelni, vagy telepíteni.

a telepítő először standardizálja a partíciós táblát (ha nem jó, felülcsapja), majd csinál/frissít néhány partíciót, plusz rak egy grubot a diszk elejére.

az első partíció egy 100mb-os linux, ahol lakik a grub, meg a kernel+initrd, amivel máskor is lehet indítani az egészet, immáron pxe és cd nélkül is; a grubot mind a partícióra, mint az mbr-be berakjuk (ez kétszeri grub setup).

a második partíció egy primary ntfs, ebbe kerül a win pe, először kézzel megcsináljuk egy gépen, cd-ről, egy kisebb partíción, onnan ntfsclone-nal lenyomjuk image-be az nfs szerverre. az image-ből aztán az ntfsclone vissza tudja állítani nagyobb/egyenlő méretű partícióra, utána kell egy ntfs headert fixálni (relocntfs), ha nem pont ugyanolyan a diszk geometriája, mint ahonnan lementettük (az ntfs header tartalmazza, hogy a diszken hanyadik blokknál kezdődik partíció), ill. egy ntfsresize teljesen helyrerakja az ntfs partíciót, hogy stimmeljen az aktuális partíciómérethez.

a harmadik partícióra fog menni az xp (ő szintén primary), erre nyomunk egy mkntfs-t, hogy ne találjon itt semmit senki.

a negyedik partíció egy üres ntfs lesz (temp és haverjai, ahova lehet írni a usereknek is, időnként takarítjuk) - ő már logikai partícióban

az ötödik partíció egy vfat lesz (ő is logikai partícióban), erre pedig rsync-kel lemásoljuk a linuxos szerverről az előre elkészített win xp install cd fájljait, ill. a végén egy php-s webformtól kérünk egy unattended.txt-t, ami egy template alapján készül, és amivel egyedivé varázsolható az install, adatbázisban konfigurálható szabályok szerint.

a grub konfigjában van négy boot opció:
- a linuxos partíción levő kernel+initrd nfs root-tal
- egy power off
- a win pe (ez unhide-olja a win pe-t és a vfat-et) a telepítéshez
- a win xp (ez hide-olja a win pe-t és a vfat-et) - ez lesz később a default

az install első lépésben a pe-t bootolja, ahol egy standard pe lakik, pluszban van benne egy .cmd, ami automatikusan elindul, megkeresi a vfat-es drive-ot (a benne levő install anyag alapján találja meg), megkeresi a pe-t (a \minint alapján találja meg), kizárásos alapon megtalálja a win xp leendő helyét, nyom rá egy format-ot, majd a vfat-ről beindítja az i386 alatt a setup-ot, paraméterként megadva az üres xp drive-ot célként, meg a vfat gyökerében levő unattended.txt-t.

az xp setup felmásolja a cuccokat a vfat-ről (ez lenne a klasszikus telepítésnél a nem grafikus install rész), majd utána nyomunk egy rebootot. a setup felülvágja az mbr-ben a grub-ot, és beállítja aktívnak az xp partíciót, így az install onnan folytatódik (ekkor még látja a vfat-et).

a felmásolt xp install anyagba van pluszban rakva egy marék driver, ill. pár script az install végére:
- rakunk fel valamit, amivel lehet értelmesen scripteket futtatni (perl),
- behegesztjük azokat a registry beállításokat, amiket jónak gondolunk,
- nyomunk egy diskpart-ot, amivel átrakjuk az aktív partíciót az első, linuxos partícióra, ahonnan a grub visszajön a legközelebbi boot-nál,
- a telepítés végén a samba-ról mountolunk egy install share-t, és onnan sorban felrakjuk a nekünk szimpatikus alkalmazásokat unattended módban.

a legutolsó reboot után a grub visszatér, default választás a win xp, a win xp kiválasztásakor grub install vissza az mbr-be :), ill. hide-oljuk mind a pe-t, mind a vfat-et.

a frissen telepített xp beindul, és nem lát mást, csak az os partíciót (c:) és a temp területnek szánt drive-ot (d:).

reinstallnál beindítjuk a linuxot a grub menüből, ahonnan megfrissítjük a linuxos és a vfat-et partíciót, ha szükséges (rsync), frissítjük a pe-t, ha szükséges (ez ugye nemigen változik), ill. letöröljük az xp-t, majd reboot a pe-re.

az unattended.txt annyira ki van töltve, hogy egyetlen kérdést se tegyen fel az xp setup :)

nalam ilyen van a tftpd-remap.conf-ban:
rg \\ /
rg [[:upper:]]+ \L\0\E

Ilyenkor már a winxp/winxp.0 -fájlt sem éri el.

Ha csak a tftpd-rules -tartalma : rg \\ /
akkor elindul a telepítés, de leáll, mert nem találja a winxp\i368\KDCOM.DLL -fájlt.

Ha átnevezem az i386 -mappában a kdcom.dl_ fájlt (ez van csak) KDCOM.DLL -re , akkor sem találja !!!

Nekem a i386 -mappában dl_ , ex_ ... megilyesmi fájlok vannak. Ezeket voltak a CD-n.
A WinXP telepítő meg DLL , EXE .... fálokat keres.
Ez nem gond ??

Jó lenne egy kis segítség !!!