Client Installation: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Auf CentOS)
Zeile 66: Zeile 66:
  
 
== Auf CentOS ==
 
== Auf CentOS ==
 +
* Ziel: Erkennen und Einbinden neuer Clients
 
=== Notwendige Pakete ===
 
=== Notwendige Pakete ===
  yum install -y yum install syslinux-tftpboot nmap
+
  yum install -y syslinux-tftpboot nmap
 +
 
 +
=== Struktur erstellen ===
 +
mkdir -p /tftpboot/detect/tinycore-hd
 +
mkdir /tftpboot/detect/pxelinux.cfg
 +
 
 +
cp -v /usr/share/syslinux/pxelinux.0 .
 +
cp -v /usr/share/syslinux/memdisk .
 +
 
 +
=== tinycore ===
 +
wget http://tinycorelinux.net/5.x/x86/release/Core-current.iso -O /tftpboot/detect/core.iso
 +
mount -o loop  core.iso /mnt
 +
cp -a /mnt/* /tftpboot/detect/tinycore-hd
 +
 
 +
=== /tftpboot/detect/pxelinux.cfg/default ===
 +
vim /tftpboot/detect/pxelinux.cfg/default
 +
 
 +
default core
 +
label core
 +
  kernel tinycore-hd/boot/vmlinuz
 +
  append  initrd=tinycore-hd/boot/core.gz
 +
 
 +
=== /etc/dhcp/dhcpd.conf ===
 +
vim /etc/dhcp/dhcpd.conf
 +
 
 +
* Einfügen
 +
  * Global
 +
# filename detect
 +
# filename "detect/pxelinux.0";
 +
  * subnet definition
 +
#range detect
 +
#        range <sehr großer range>;

Version vom 8. April 2015, 12:38 Uhr

MACs der Client-PCs finden

PXE-Boot

In diesem HowTo wird TinyCore eingesetzt.
Der große Vorteil liegt im per default eingesetzten dhcp-Clienten, der ein gebootetes TinyCore automatisch mit einer IP versorgt.

apt-get install syslinux nmap

Folgende Verzeichnisse erstellen

mkdir -p /tftpboot/lookmac/pxelinux.cfg
mkdir -p /tftpboot/lookmac/tinycore
cp /usr/lib/syslinux/memdisk /tftpboot/lookmac/
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/lookmac/

Im Verzeichniss /tftpboot/lookmac/pxelinux.cfg die Datei default erstellen.

vim /tftpboot/lookmac/pxelinux.cfg/default

Inhalt

default core
label core
 kernel tinycore/boot/vmlinuz
 append  initrd=tinycore/boot/core.gz

Ein TinyCore Iso downloaden.

wget http://tinycorelinux.net/5.x/x86/release/Core-current.iso -O /tftpboot/lookmac/core.iso
ISO bearbeiten

Der Timeout des Startmenues liegt bei 300 Sekunden, der soll auf 3 Sekunden verkürzt werden.

Mit Tools wie z.B. isomaster lässt sich ein ISO einfach bearbeiten. Im Verzeichniss /boot/isolinux/ liegt die Datei isolinux.cfg

timeout 300 ändern in timeout 3 oder weniger.
timeout 0 ist nicht empfehlenswert, immerhin steht uns jetzt ein TinyCore mit allen Möglichkeiten zur Verfügung.
Das sollten wir uns erhalten.

Das ISO mounten

mount -o loop  core.iso /tftpboot/lookmac/tinycore
/etc/dhcp/dhcp.conf anpassen

In der /etc/dhcp/dhcp.conf folgendes Änderung durchführen.

#       range 10.8.190.15 10.8.190.30;
      range 10.8.190.15 10.8.190.254;
       
#        filename "linux/pxelinux.0";
        filename "lookmac/pxelinux.0";
MACs finden
nmap -sP 10.8.190.0/24 -n|grep MAC|awk '{print $3}'

Das Ergebniss des Scans wird in /etc/dhcp/dhcp.conf eingetragen.

Der folgende Befehl ersetzt NUR den ERSTEN Treffer des Suchstings.

sed -i '0,/00:00:00:00:00:00/s//00:1f:16:0d:7d:26/' /etc/dhcp/dhcp.conf
/etc/dhcp/dhcp.conf zurück setzen

In der /etc/dhcp/dhcp.conf folgendes Änderung durchführen.

       range 10.8.190.15 10.8.190.30;
#       range 10.8.190.15 10.8.190.254;
        
        filename "linux/pxelinux.0";
#         filename "lookmac/pxelinux.0";

Auf CentOS

  • Ziel: Erkennen und Einbinden neuer Clients

Notwendige Pakete

yum install -y syslinux-tftpboot nmap

Struktur erstellen

mkdir -p /tftpboot/detect/tinycore-hd
mkdir /tftpboot/detect/pxelinux.cfg
cp -v /usr/share/syslinux/pxelinux.0 .
cp -v /usr/share/syslinux/memdisk .

tinycore

wget http://tinycorelinux.net/5.x/x86/release/Core-current.iso -O /tftpboot/detect/core.iso
mount -o loop  core.iso /mnt
cp -a /mnt/* /tftpboot/detect/tinycore-hd

/tftpboot/detect/pxelinux.cfg/default

vim /tftpboot/detect/pxelinux.cfg/default
default core
label core
 kernel tinycore-hd/boot/vmlinuz
 append  initrd=tinycore-hd/boot/core.gz

/etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf
  • Einfügen
  * Global
# filename detect
# filename "detect/pxelinux.0";
  * subnet definition
#range detect
#        range <sehr großer range>;