Linux.DHCP

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Ein DHCP Server verschafft den Clients während der BOOT Phase lebenswichtige Informationen. Diese sind z.B.

  • die eigene IP Adresse
  • der Standard Gateway für den Zugriff ins Internet
  • der Name eines Timeserver Hosts zum stellen der eigenen Uhrzeit

Der DHCP hilft auch bei der Installation von völlig "nackten" System. Dabei bietet der DHCP Server einen kleinen BOOT-Record an, den die Clients laden und ausführen können. In der Folge kann man ein ISO Image einer Linux DVD zur Verfügung stellen Ziel: Ich SuSE ?Netzwerk installieren. Dabei will die neue Kiste auch ?as Netzwerk booten. L?g: Ein bereits funktionierendes Linux System (vorzugweise klassisch ?ie DVD installiert) dient als "Installations-Server". Dazu muss folgendes vorbereitet werden.

DVD nach .iso "rippen"

Die ganze Installations DVD habe ich mit nero -> Track speichern -> Format ISO auf das Dateisystem meines linux Servers als einzelne Datei "suse92.iso" abgelegt. Damit die ganze DVD zug䮧lich wird habe ich ein Verzeichnis auf das iso Image gemountet:

mount -o loop suse92.iso /srv/freigabe/boot/suse92

Diesen Ordner mit Samba freigeben

-> siehe hier meine Infos zu samba

[suse]

path = /srv/freigabe/boot/suse92
read only = yes
browseable = yes

DHCP

YaST2->Netzwerkdienste->DHCP->entsprechende Angaben machen!

Man sollte nun zum Test einige Clients via DHCP konnektieren lassen, um die IP-Adress-Zuweisung auf Funktion zu prüfen. Nachdem der DHCP durch yast gut eingerichtet war, habe ich ab dann die dhcpd.conf selbst per Hand erweitert.

 joe /etc/dhcpd.conf
 die folgende Zeile oben dazu
 filename "pxelinux.0";


 # Hier mal meine dhcp.conf
 # Meinem system "sandiego" teile ich eine feste IP zu!
 
 option domain-name "lummerland";
 option domain-name-servers 192.168.115.90;
 option routers 192.168.115.90;
 option ntp-servers ptbtime1.ptb.de;
 option netbios-name-servers 192.168.115.90;
 filename "pxelinux.0";
 max-lease-time 7200;
 ddns-update-style none;
 ddns-updates off;
 authoritative;
 log-facility local7;
 default-lease-time 600;
 
 subnet 192.168.115.0 netmask 255.255.255.0 {
   
   host sandiego {
     hardware ethernet 00:13:D4:42:7E:A0;
     fixed-address 192.168.115.4;
   }

   range 192.168.115.190 192.168.115.199;
   default-lease-time 14400;
   max-lease-time 172800;
 }

TFTP

 md /srv/tftpboot
 md /srv/tftpboot/pxelinux.cfg

YaST2 -> Netzwerk -> TFTP -> 
 aktivieren
 Verzeichnis auf /srv/tftpboot einstellen

YaST2 -> Netzwerkdienste -> Netzwerkdienste (INetd) -> 
 xinetd selbst sollte aktiv sein 
 TFTP muss an sein

Booten über das Netzwerk ermöglichen

  • die Dateien linux initrd message memtest in das Verzeichnis /srv/tftpboot.
 cd /srv/boot/boot/loader
 cp -a linux initrd message memtest /srv/tftpboot
 cp -a isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
  • syslinux installieren!
  • Kopieren Sie die Datei /usr/share/syslinux/pxelinux.0 durch die Eingabe von:
 cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
 cp isolinux.cfg /srv/tftpboot/pxelinux.cfg/default 
 joe /srv/tftpboot/pxelinux.cfg/default
 // folgende Zeilen entfernen
 gfxboot 
 readinfo 
 framebuffer 
 // F?ie bei "manual installation" 
 insmod=e100     // f?e Intel 100MBit Karte
 insmod=bcm5700  // f?e Broadcom
 netdevice=eth0 // Netzwerlkarte ausw䨬en falls deren mehrere Da sind
 install=smb://192.168.100.1/usr/suse92

Quellen

Suse PXE Infos http://portal.suse.com/sdb/de/2003/06/tsieden_pxe-install.html

Bemerkungen

  • Auf einem MSI Board hatte ich heute einen nicht auf anhieb Funktionierenden Netzwerk Chip (irgend ein VIA Teil). In diesem Fall hab ich einfach eine RTL8139 in das Board gesteckt, und nun mit "Kernel-Module" laden das entsprechende Modul hinzugef?ann ging die Installation wiederum ?ein liebes Linux Samba Share.

Aufsetzen eines Installations Servers, der die SuSE DVD als über Netz Bootbares Medium anbietet. Mein Ziel ist einen neuen Rechner ohne CD oder DVD komplett über Netz zu installieren. Folgende Dienste sollten in die Konfiguration aufgenommen werden:

#chkconfig --add tftp
chkconfig --add dhcpd

mit Win32 nero den "Track speichern" mit dem Typ ISO das ISO Image auf den DHCP Server stellen das Image mit

 mount -o loop suse92.iso /mein/Verzeichnis

in das Dateisystem einh䮧en!

joe /etc/dhcp.conf

filename "pxelinux.0";

md /srv/tftpboot

YaST2->Software->Installationsquelle wechseln 1. YaST starten 2. Modul Software aufrufen 3. Installationsquelle wechseln 4. Hinzuf?FTP 5. Folgendes genau so eintragen:

Protokoll: [X] FTP Servername: ftp.gwdg.de Verzeichnis auf dem Server: pub/linux/suse/ftp.suse.com/suse/i386/9.2 Authentifikation: [X] Anonymous

syslinux installieren!

Konfiguration des tftp Servers


Erstellen Sie (falls es noch nicht existiert) das Verzeichnis /srv/tftpboot und /srv/tftpboot/pxelinux.cfg

Wechseln Sie in das Verzeichnis Ihres Installationsrepositorys und kopieren Sie durch die Eingabe von: cp -a boot/loader/linux boot/loader/initrd boot/loader/message boot/loader/memtest /srv/tftpboot die Dateien linux initrd message memtest in das Verzeichnis /srv/tftpboot. Installieren Sie das Paket syslinux.

Kopieren Sie die Datei /usr/share/syslinux/pxelinux.0 durch die Eingabe von: cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot in das Verzeichnis /srv/tftpboot.

Wechseln Sie in das Verzeichnis Ihres Installationsrepositorys und kopieren Sie durch die Eingabe von: cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default die Datei isolinux.cfg nach /srv/tftpboot/pxelinux.cfg/default Editieren Sie die Datei /srv/tftpboot/pxelinux.cfg/default und entfernen Sie die Zeilen die mit:

gfxboot 
readinfo 
framebuffer 
beginnen. 

Für die in den append Zeilen der Label default failsafe und apic die folgenden Eintr䧥 an: insmod=e100 Dieser Eintrag bewirkt, daß auf dem PXE-Client das Kernelmodul f?e Intel 100MBit/s Netzwerkkarte geladen wird. Dieser Eintrag ist abh䮧ig von der Hardware Ihres Clients, und muß entsprechend ge䮤ert werden. Bei einer Broadcom GigaBit Netzwerkkarte w?ieser Eintrag insmod=bcm5700 lauten. netdevice=eth0 Dieser Eintrag spezifiziert das Netzwerkinterface des Clients, welches f? Netzwerkinstallation benutzt werden soll, und ist nur dann notwendig, wenn mehrere Netzwerkkarten in den Clients verbaut sind. Dieser Eintrag muß dann entsprechend angepaß´ werden. Bei nur einer Netzwerkkarte kann dieser Eintrag komplett entfallen. install=nfs://192.168.100.1/usr/local/dist/SLES8 Dieser Eintrag legt den nfs Server und die Installationsquelle f? Installation der Clients fest, und muß gegebenenfalls angepaß´ werden. Eine, f? SuSE Linux Enterprise Server 8 - Netzwerkinstallation, angepaß´e /srv/tftpboot/pxelinux.cfg/default finden Sie hier:

default linux  

# default
label linux
  kernel linux
  append initrd=initrd ramdisk_size=65536 insmod=e100 install=nfs://192.168.100.1/usr/local/dist/SLES8  

# failsafe
label failsafe
  kernel linux
  append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off insmod=e100   install=nfs://192.168.100.1/usr/local/dist/SLES8
# apic
label apic
  kernel linux
  append initrd=initrd ramdisk_size=65536 apic insmod=e100 install=nfs://192.168.100.1/usr/local/dist/SLES8 

# manual
label manual
  kernel linux
  append initrd=initrd ramdisk_size=65536 manual=1

# rescue
label rescue
  kernel linux
  append initrd=initrd ramdisk_size=65536 rescue=1 

# memory test
label memtest
  kernel memtest

# hard disk
label harddisk
  kernel linux
  append SLX=0x202 

implicit        0
display         message
prompt          1
timeout         100