wie boote ich einen rechner (mit zerschossenem mbr) via LAN?
knappe anleitung zur einrichtung von pxe, tftpd & dhcpd
# sip - server ip (dieser rechner stellt das bootimage bereit) # cip - client ip (rechner, der per netz gebootet werden soll)
apt-get install pxe tftp tftp-hpa
mkdir /tftpboot (world readable)
cp tftpboot.img /tftpboot
cp linux.bin /tftpboot
cp pxelinux.0 /tftpboot #aus syslinux..
mkdir /tftboot/pxelinux.cfg
vi /tftboot/pxelinux.cfg/default :
-->
- foobar label foobar
- kernel tftpboot.img append load initrd=root.bin devfs=nomount
<--
- foobar label foobar
hexwert='gethostip cip' #gethostip cip (den hexwert der client ip adresse bestimmen) mv default $hexwert #default in hexwert umbenennen
vi /etc/pxe.conf :
-->
- interface=eth0 default_address=$sip mtftp_address=$sip mtftp_client_port=1758 mtftp_server_port=1759 listen_port=4011 use_multicast=1 tftpbase=/tftpboot
<--
#erste huerde ist genommen, jetzt noch dhcp server aufsetzen apt-get install dhcp3-server
vi /etc/dhcp3/dhcpd.conf :
-->
- server-name $sip; allow booting; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; subnet 192.168.0.0 netmask 255.255.255.0 {
- range 192.168.0.xx 192.168.0.yy;
- filename "/tftpboot/pxelinux.0"; hardware ethernet 00:11:22:33:44:55; #mac des clients eintragen fixed-address $cip;
<--
- server-name $sip; allow booting; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; subnet 192.168.0.0 netmask 255.255.255.0 {
# dienste starten..
- /etc/init.d/dhcpd start #syslog beobachten!
- in.tftpd -l -a $sip -v -v -p / #tftp testweise besser per hand anstatt via inetd starten
# wenn per inetd, evtl. /etc/hosts.allow editieren
beim booten netzwerk verkehr sniffen!
- taucht sowas wie "ICMP destiantion unreachable auf" ist mit hoher wahrscheinlichkeit der tftpd nicht richtig gestartet worden
- werden bestimmte dateien nicht gefunden, darauf achten, dass /tftpboot/* worldreadable ist _und_ dass die pfadangaben in den configs stimmen (z.B. tftpbase)