FAI Ubuntu

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

Installatio

FAI Komponenten

  • Fai Pakete instalieren
aptitude install fai-quickstart
  • NFS Export freigeabe eintragen
vi /etc/exports
/srv/fai/config 172.27.0.0/16(async,ro,no_subtree_check,no_root_squash)
  • make-fai-nfsroot.conf anpassen
vi /etc/fai/make-fai-nfsroot.conf
NFSROOT=/srv/fai/nfsroot
TFTPROOT=/srv/tftp/fai
FAI_CONFIGDIR=/srv/fai/config
FAI_DEBOOTSTRAP="trusty http://gb.archive.ubuntu.com/ubuntu"
FAI_ROOTPW='$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1'
FAI_DEBOOTSTRAP_OPTS="--exclude=info,dhcp-client --include=aptitude,grub-pc"
  • Fai sources.list anpassen
vi /etc/fai/apt/sources.list
deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
  • Zu installierenden Kernel eintragen
vi /srv/fai/config/package_config/DEFAULT
  PACKAGES aptitude
  linux-image-generic
  memtest86+

Server Dienste

TFTP anpassen

vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"

# IPv6 deaktivieren und IPv4 eintragen #
#TFTP_ADDRESS="[::]:69"
TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="--secure"

DHCP anpassen

vi /etc/dhcp/dhcpd.conf
  deny unknown-clients;
  option dhcp-max-message-size 2048;
  use-host-decl-names on;

  subnet 172.27.0.0 netmask 255.255.0.0 {

    # Network Settings
    option routers 172.27.0.254;
    option domain-name "blb-intranet.de";
    option domain-name-servers 172.27.100.20;
    #option time-servers faiserver;
    #option ntp-servers faiserver;
    server-name fai-ubuntu;
    # PXE boot Server
    next-server 172.27.1.10;
    filename "pxelinux.0";
  }

  host demohost {hardware ethernet b8:ca:3a:be:17:74;fixed-address 172.27.11.251;}

approx Paketproxy

aptitude install approx
  • Konfiguration (Zeile hinzufügen)
 vi /etc/approx/approx.conf
 ubuntu http://de.archive.ubuntu.com/ubuntu
 ubuntu-security http://security.ubuntu.com/ubuntu

* Client konfigurieren
 vi /etc/apt/sources.list
 deb http://172.27.1.10:9999/ubuntu trusty main universe restricted multiverse
 deb-src http://localhost:9999/ubuntu trusty main universe restricted multiverse
 
 deb http://172.27.1.10:9999/ubuntu trusty-security universe main multiverse restricted
 deb http://172.27.1.10:9999/ubuntu trusty-updates universe main multiverse restricted

 

Allgemeine Anpassungen

Optionale Änderungen kennzeichne ich mit -OPTIONAL-

Disk Config

Bevor man die Installation mit dem Client Demohost testet, sollte man ein Blick in die disk_config von FAIBASE schauen. Ich hatte nur deshalb Fehler, weil hier die Festplattengröße zu klein war.

# Beispiel Config für FAIBASE
disk_config disk1 disklabel:msdos bootable:1 fstabkey:uuid

primary /      5000-50000       ext3  rw,noatime,errors=remount-ro
logical swap   2000-4000        swap  rw
logical /var   6000-13000       ext3  rw,noatime         createopts="-L var -m 5" tuneopts="-c 0 -i 0"

Grub -optional-

In der Datei /etc/default/grub habe ich folgende Anpassungen vorgenommen:

  • Anzeige beim Booten einschalten
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="splash"
update-grub

Grub wird nicht in base.tgz installiert

  • Lösung
vi make-fai-nfsroot.conf
FAI_DEBOOTSTRAP_OPTS="--exclude=info,dhcp-client --include=aptitude,grub-pc"

Faimond -optional-

Sollte der Client keine Daten an den Faimomd übertragen, sollte die Auflösung des Hostname auf dem Client überprüft werden. Wenn nötig eine DNS Eintrag oder einen Eintrag in die /etc/hosts des Client vornehmen

Die Client Logs werden nicht auf dem FAI-Server gespeichert

  • vipw und User FAI eine Shell zuweiden
  • Fai User Passwort vergeben
passwd fai
  • Dateirechte setzen
chown fai.nogroup -R /var/log/fai
  • SSH Keys für Login ohne Passwort
  1. Die Keys erzeugen und in die nfsroot unter /root/.ssh/ speichern.
  2. Danach die beiden Keys in die /var/log/fai/.ssh/authorized_keys kopieren
  3. Nun noch den Key des Servers in die /srv/fai/nfsroot/live/filesystem.dir/root/.ssh/known_hosts eintragen

01

su - fai
ssh-keygen -t dsa
ssh-keygen -t rsa
exit

02

cd /var/log/fai/.ssh/
cp id_dsa.pub id_rsa.pub /srv/fai/nfsroot/live/filesystem.dir/root/.ssh/
cat /var/log/fai/.ssh/id_rsa.pub >> /var/log/fai/.ssh/authorized_keys
cat /var/log/fai/.ssh/id_dsa.pub >> /var/log/fai/.ssh/authorized_keys

03 Diesen Key habe ich erzeugt, in dem ich mich vom FAI-Server auf den Fai-Server als Root per ssh eingelogt habe.
Danach steht der Key in der /root/.ssh/known_host und kann in die known_host im NFSROOT/root/.ssh/known_host kopiert werden

ssh fai-ubuntu
cat /root/.ssh/known_hosts >> /srv/fai/nfsroot/live/filesystem.dir/root/.ssh/known_hosts

Nun sollte der Passswortfrei Zugang, für Clients die gerade installiert werden, frei sein.

FAI-Server - SSH Zugang zu CLients

Passwortfreier Zugang zu den Clients, wenn sie instaliert werden

cat /root/.ssh/id_dsa.pub >> /srv/fai/nfsroot/live/filesystem.dir/root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub >> /srv/fai/nfsroot/live/filesystem.dir/root/.ssh/authorized_keys