SVN: PLD-doc/queue/diskless.sec
wolvverine
wolvverine at pld-linux.org
Fri Nov 30 13:27:16 CET 2007
Author: wolvverine
Date: Fri Nov 30 13:27:16 2007
New Revision: 9124
Modified:
PLD-doc/queue/diskless.sec
Log:
- poprawki, usci¶lenia, konkretny przyk³ad instalacji
Modified: PLD-doc/queue/diskless.sec
==============================================================================
--- PLD-doc/queue/diskless.sec (original)
+++ PLD-doc/queue/diskless.sec Fri Nov 30 13:27:16 2007
@@ -1,48 +1,24 @@
-Bootowanie za pomoc± PXE z sieci systemu root-NFS
+Bootowanie z sieci i system z root-NFS
Co potrzebne:
-1. karta sieciowa z opcja bootowania przez sieæ (PXE)
-2. serwer DHCP (zalecane)
- i/lub serwer PXE
- i/lub bootparamd
- i/lub bootp (zalecane dhcp zamiast bootp)
-3. serwer tftp (istnieje chyba mozliwo¶c pominiêcia)
-4. serwer NFS udostêpniajacy system (root-NFS)
-
-potrzebne pakiety na serwerze:
-syslinux
-nfsd
-
-
-Parametry startowe dla stacji bezdyskowych mozemy przekazywaæ na kilka sposobów:
-1. za pomoc± dhcp - pakiet dhcpd
-2. za pomoc± serwera PXE - pakie pxe
-3. za pomoc± us³ugi bootparamd - pakiet bootparamd
-4. za pomoca serwera bootp (zalecane jest korzystanie z dhcp jednak) - pakiet bootp
+1. karta sieciowa z opcja bootowania przez sieÄ (PXE).
+2. serwer przekazujÄ
cy parametry startowe:
+ Parametry startowe dla stacji bezdyskowych możemy przekazywaÄ na kilka sposobów:
+ a. za pomocÄ
dhcp - pakiet dhcpd (najczÄÅciej stosowane i zalecane)
+ b. za pomocÄ
serwera PXE - pakie pxe
+ c. za pomocÄ
bootparamd - pakiet bootparamd
+ d. za pomoca serwera bootp (zalecane jest korzystanie z dhcp jednak) - pakiet bootp
+3. serwer tftp - pakiet tftpd-hpa (obecnie zalecany do wspóÅpracy z pxelinux)
+4. serwer NFS udostÄpniajÄ
cy system (root-NFS) - pakiet nfsd
-Konfiguracja serwera DHCP dla stacji bootowanych przez sieæ:
+Konfiguracja serwera DHCP dla stacji bootowanych przez sieÄ (wybrane opcje):
-w /etc/dhcpd.conf:
-
-allow bootp;
-allow booting;
-server-identifier 192.168.0.1;
-range dynamic-bootp 192.168.0.10 192.168.0.20;
-option option-128 code 128 = string;
-option option-129 code 129 = text;
-option space pxelinux;
-option pxelinux.magic code 208 = string;
-option pxelinux.configfile code 209 = text;
-option pxelinux.pathprefix code 210 = text;
-option pxelinux.reboottime code 211 = unsigned integer 32;
-
-
-opcje poni¿ej mozemy podac dla wszystkich stacji, wybranej grupy lub dla pojedyñczych terminali:
+opcje poniżej mozemy podac dla wszystkich stacji, wybranej grupy lub dla pojedyÅczych terminali:
next-server 192.168.0.1; # IP serwera TFTP
-filename "/var/lib/tftp/pxelinux.0"; # pe³na scie¿ka do pliku bootloadera dla PXE z pakietu syslinux
-option root-path "/mnt/hdb2/root/serwer2"; # pe³na scie¿ka do root-path dla terminala (z /etc/exports)
+filename "/var/lib/tftp/pxe/pxelinux.0"; # peÅna scieżka do pliku bootloadera dla PXE z pakietu syslinux, jeÅli serwer tftp dziaÅa w chroot podajemy wzglÄdnÄ
+option root-path "/mnt/hdb2/root/serwer2"; # peÅna scieżka do root-path dla terminala (z /etc/exports)
w konfiguracji dla pojedynczej stacji:
@@ -51,26 +27,24 @@
hardware ethernet 00:d0:dd:d6:df:d7;
fixed-address 192.168.0.2;
next-server 192.168.0.1; # IP serwera TFTP
- filename "/var/lib/tftp/pxelinux.0"; # pe³na scie¿ka do pliku bootloadera dla PXE z pakietu syslinux
- option root-path "/mnt/hdb2/root/serwer2"; # pe³na scie¿ka do root-path dla terminala (z /etc/exports)
+ filename "/var/lib/tftp/pxe/pxelinux.0"; # peÅna scieżka do pliku bootloadera dla PXE z pakietu syslinux (jeżeli tftp dziaÅa w chroot podajemy wzglÄdnÄ
)
+ option root-path "/mnt/hdb2/root/serwer2"; # peÅna scieżka do root-path dla terminala (z /etc/exports)
}
konfiguracja serwera PXE:
[root at serwer root]# vim /etc/pxe.conf
-interface=eth1 # interface na którym serwer PXE ma dzia³aæ
-default_address=192.168.0.1 # adress IP na którym ma nas³uchiwaæ serwer
-listen_port=4011 # port na którym serwer PXE ma nas³uchiwaæ
+interface=eth1 # interface na którym serwer PXE ma dziaÅaÄ
+default_address=192.168.0.1 # adress IP na którym ma nasÅuchiwaÄ serwer
+listen_port=4011 # port na którym serwer PXE ma nasÅuchiwaÄ
use_multicast=0 #
use_broadcast=0 #
prompt=Press F8 to view menu ... # komunikat
prompt_timeout=10 #
service=X86PC,0,0,local,Local boot #
service=X86PC,0,0,pxelinux,PXELinux #
-tftpdbase=/var/lib/tftp # pe³na sciezka do katalogu tftp z plikami startowymi
-
-
+tftpdbase=/var/lib/tftp/pxe # peÅna sciezka do katalogu tftp z plikami startowymi
Konfiguracja serwera bootp:
@@ -81,37 +55,24 @@
:gw=192.168.0.1:\
:ht=ethernet:\
:bf=linux:
-serwer2:hd=/var/lib/tftp:tc=global.prof:ha=00508d665f67:ip=192.168.0.2
+serwer2:hd=/var/lib/tftp/pxe:tc=global.prof:ha=00508d665f67:ip=192.168.0.2
-Konfiguracja us³ugi bootparams:
+Konfiguracja usÅugi bootparams:
[root at serwer root]# vim /etc/bootparams
-serwer2 serwer:/var/lib/tftp
-
-Instalacja i konfiguracja serwera tftp (uwaga: jest to us³uga o bardzo ma³ym stopniu bezpieczeñstwa) :
+serwer2 serwer:/var/lib/tftp/pxe
-Instalujemy jeden z serwerów tftp (atftpd, utftpd, tftpd) - najbardziej zalecane ze wzgledów bezpieczeñstwa jest zainstalowanie utftpd i odpowiednie skonfigurowanie zabezpieczeñ (ACL)
+Instalacja i konfiguracja serwera tftp (uwaga: jest to usÅuga o bardzo maÅym stopniu bezpieczeÅstwa) :
-poldek -i utftpd
-
-w PLD aktualnie serwery tftp s± uruchamiane przez inetd:
+w PLD aktualnie serwery tftp sÄ
uruchamiane przez inetd:
/etc/sysconfig/rc-inetd/tftpd - konfiguracja uruchamiania serwera tftp
-TODO opis instalacji i konfiguracji serwera i zabezpieczeñ
-
-W /var/lib/tftp przygotowujemy konfiguracje startow± dla terminali
-
-# mkdir /var/lib/tftp/pxelinux.cfg
+TODO opis instalacji i konfiguracji serwera i zabezpieczeÅ
-w tym katalogu umieszczamy pliki configuracyjne bootloadera.
-Kolejno¶æ poszukiwania poszczególnych plików jest nastepuj±ca:
-wpierw szuka pliku o nazwie takiej samej jak MAC karty terminala czyli np: 00-02-44-90-1F-7B
-na koñcu szuka pliku "default"
+przykÅadowa zawartoÅc pliku konfiguracyjnego bootloadera:
-przyk³adowa zawarto¶c pliku konfiguracyjnego bootloadera:
-
-[root at serwer root]# cat /var/lib/tftp/pxelinux.cfg/00-02-44-90-1F-7B
+[root at serwer root]# cat /var/lib/tftp/pxe/pxelinux.cfg/00-02-44-90-1F-7B
LABEL serwerinit
KERNEL vmlinuz-2.6.11.10-3
APPEND nfsaddrs=192.168.0.2:192.168.0.1:255.255.255.0:serwer2
@@ -119,27 +80,130 @@
iniitrd=initrd-2.6.11.10-3.gz root=/dev/nfs nfsroot=192.168.0.1:/mnt/hdb2/root/serwer2
IPAPPEND 1
-APPEND przekazuje do za³adowanego kernela opcje dodatkowe:
+APPEND przekazuje do zaÅadowanego kernela opcje dodatkowe:
nfsaddrs=<adres IP terminala>:192.168.0.1:<maska podsieci>:<nazwa terminala>
-ip=<adres IP terminala>:192.168.0.1:192.168.0.1:<maska podsieci>:<nazwa terminala>:<nazwa interfejsu przez który ³aczy sie z root-path>:bootp
+ip=<adres IP terminala>:192.168.0.1:192.168.0.1:<maska podsieci>:<nazwa terminala>:<nazwa interfejsu przez który Åaczy sie z root-path>:bootp
iniitrd=<nazwa pliku initrd>
-root=/dev/nfs - wirtualne wpis urz±dzenia wskazuj±cy ze root-path bedzie po NFS
-nfsroot=<IP serwera NFS>:<scie¿ka do root-path>:<opcje dla NFS>
+root=/dev/nfs - wirtualne wpis urzÄ
dzenia wskazujÄ
cy ze root-path bedzie po NFS
+nfsroot=<IP serwera NFS>:<scieżka do root-path>:<opcje dla NFS>
-w /var/lib/tftp umieszczamy nastêpuj±ce pliki:
+w /var/lib/tftp/pxe umieszczamy nastÄpujÄ
ce pliki:
initrd - plik z odpowiednio przygotowanym obrazem initrd
-Kickstart_end - plik
pxelinux.0 - bootloader z pakietu syslinux
vmlinuz - plik z kernelem
-jak widaæ zawarto¶æ jest do¶æ podobna do /boot (i spe³nia to samo zadanie)
+jak widaÄ zawartoÅÄ jest doÅÄ podobna do /boot (i speÅnia to samo zadanie)
+
+przykÅad dla bootowania przez PXE za pomocÄ
dhcp przy wykorzystaniu RescueCD (krok po kroku):
+
+#instalujemy potrzebne pakiety (zakÅadam że dhcpd jest już wstÄpnie skonfigurowane i dziaÅajÄ
ce w sieci)
+sudo poldek -i syslinux dhcpd tftpd-hpa
+# W /var/lib/tftp przygotowujemy konfiguracje startowÄ
dla terminali
+# w tym katalogu umieszczamy pliki configuracyjne bootloadera.
+# KolejnoÅÄ poszukiwania poszczególnych plików jest nastepujÄ
ca:
+# wpierw szuka pliku o nazwie takiej samej jak MAC karty terminala czyli np: 00-02-44-90-1F-7B
+# ...TODO...
+# na koÅcu szuka pliku "default"
+mkdir -p /var/lib/tftp/pxe/pxelinux.conf
+# kopiujemy bootloadery z pakietu syslinux
+cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftp/pxe/pxelinux.0
+cp /usr/lib/syslinux/memdisk /var/lib/tftp/pxe/memdisk
+#sciagamy najnowszż wersje RCD
+wget http://rescuecd.pld-linux.org/download/2007-06-17/x86/RCDx86_290.iso
+# montujemy
+mount -o loop RCDx86_290.iso /mnt/cdrom
+# kopiujemy pliki z RescueCD
+cd /mnt/cdrom
+# informacje wyswietlana przy logowaniu
+cp boot/iso/linux/boot.msg /var/lib/tftp/pxe
+# informacja wyżwietlana po wcisnieciu F1
+cp boot/iso/linux/help.msg /var/lib/tftp/pxe
+# obraz z programem memtest
+cp boot/iso/linux/memtest /var/lib/tftp/pxe
+# initrd z RescueCD
+cp rescue.cpi /var/lib/tftp/pxe
+# kernel
+cp boot/isolinux/vmlinuz /var/lib/tftp/pxe
+# edytujemy pliki konfiguracyjne:
+vim /etc/dhcpd.conf
+------------------------------------------------
+## wybrane opcje: tutaj w sekcji global ale mozna też dla konkretnych stacji niektore opcje ustawic ##########
+allow bootp;
+allow booting;
+filename "/pxe/pxelinux.0"; # name of the bootloader program,if tftp is in chroot (recomended) then path is relative
+option root-path "/home/services/diskless"; # path to root-path for pxe stations (in /etc/export) - root-nfs
+next-server 192.168.0.1; # tftp serwer IP adress for pxe
+#range dynamic-bootp 192.168.0.10 192.168.0.20; #
+# pxelinux option see: http://syslinux.zytor.com/pxe.php
+# custom options for pxelinux
+option space pxelinux;
+option pxelinux.magic code 208 = string;
+option pxelinux.configfile code 209 = text;
+option pxelinux.pathprefix code 210 = text;
+option pxelinux.reboottime code 211 = unsigned integer 32;
+#option pxelinux.magic f1:00:74:7e;
+#option pxelinux.configfile "pxelinux.cfg/default";
+#option pxelinux.pathprefix "/pxe";
+option pxelinux.reboottime 30;
+------------------------------------------------------
+vim /var/lib/tftp/pxe/pxelinux.conf/default
+-----------------------------------------------------
+default local
+prompt 1
+display boot.msg
+F1 help.msg
+timeout 20
+
+LABEL linuxnet
+ kernel vmlinuz
+ append initrd=/rescue.cpi init=/linuxrc root=/dev/ram0 ramdisk_size=54000
+ ipappend 1
+
+LABEL linuxnetconsole
+ kernel vmlinuz
+ append initrd=/rescue.cpi init=/linuxrc root=/dev/ram0 ramdisk_size=54000 console=tty0 console=ttyS0,9600n81
+
+LABEL memtest
+ kernel memtest
+
+LABEL local
+ LOCALBOOT 0
+
+LABEL winnet
+ KERNEL memdisk
+#From windows create a bootable floppy disk. Make sure its bootable and copy the disk image off:
+# dd if=/dev/floppy of=/var/lib/tftp/pxe/win.img bs=1024 count=1440
+ APPEND initrd=win.img
+
+LABEL next
+ localboot -1
+
+LABEL hd0
+ localboot 0x80
+
+LABEL hd1
+ localboot 0x81
+
+LABEL floppy
+ localboot 0x00
+
+--------------------------------------------------------
+# ustawiamy wÅaÅciciela dla plików
+chown -R tftp:root /var/lib/tftp/pxe
+# zmiana uprawnien dla podkatalogow i plików - perms to skrypt zmieniajacy je rekurencyjnie.
+./perms -d 570 -f 460 /var/lib/tftp/pxe
+# restartujemy usÅugi
+/etc/init.d/dhcpd restart
+/etc/init.d/rc-inetd restart
Literatura:
+http://andrzej.dopierala.name/2007-06-02_Bootowanie_systemu_z_pxe_na_nowych_komputerach
+http://rescuecd.pld-linux.org/download/2007-06-17/PXE.txt
http://oceanic.wsisiz.edu.pl/~lukasz/Diskless.pl.html
http://oceanic.wsisiz.edu.pl/~lukasz/xterm.html
http://oceanic.wsisiz.edu.pl/~lukasz/nfsroot.txt
More information about the pld-cvs-commit
mailing list