PXE: Difference between revisions

From Hobbynet Admin Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 71: Line 71:


=== ubuntu ===
=== ubuntu ===
==== Versie 14.04 ====
==== Versie 18.04 LTS ====
De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1404
De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1804
==== Versie 16.04 ====
==== Versie 18.10 ====
De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1604
De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1810
==== Versie 17.04 ====
De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1704


===== Images ophalen van externe server =====
===== Images ophalen van externe server =====
Line 82: Line 80:


<pre>
<pre>
cd /var/lib/tftpboot/ubuntu-installer-1604/temp/
cd /var/lib/tftpboot/ubuntu-installer-1804/temp/
echo Get AMD64 files
echo Get AMD64 files
lftp -c "open http://nl.archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/ubuntu-installer; mirror amd64/"
lftp -c "open http://nl.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/ubuntu-installer; mirror amd64/"
echo Get i386 files
echo Get i386 files
lftp -c "open http://nl.archive.ubuntu.com/ubuntu/dists/xenial/main/installer-i386/current/images/netboot/ubuntu-installer/; mirror i386/"
lftp -c "open http://nl.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-i386/current/images/netboot/ubuntu-installer/; mirror i386/"
echo Move the files to the correct position
echo Move the files to the correct position
rm -fr /var/lib/tftpboot/ubuntu-installer-1604/amd64
rm -fr /var/lib/tftpboot/ubuntu-installer-1804/amd64
rm -fr /var/lib/tftpboot/ubuntu-installer-1604/i386
rm -fr /var/lib/tftpboot/ubuntu-installer-1804/i386
mv amd64 /var/lib/tftpboot/ubuntu-installer-1604/
mv amd64 /var/lib/tftpboot/ubuntu-installer-1804/
mv i386 /var/lib/tftpboot/ubuntu-installer-1604/
mv i386 /var/lib/tftpboot/ubuntu-installer-1804/
ls -l /var/lib/tftpboot/ubuntu-installer-1604/ -r
ls -l /var/lib/tftpboot/ubuntu-installer-1804/ -r
echo Done
echo Done
</pre>
</pre>


=== debian ===
=== debian ===
==== Versie 8.0 ====
==== Versie 9.8 ====
De installatie bestanden staan in /var/lib/tftpboot/debian-installer-80
De installatie bestanden staan in /var/lib/tftpboot/debian-installer-98
==== Versie 9.0 ====
De installatie bestanden staan in /var/lib/tftpboot/debian-installer-90
===== Images ophalen van externe server =====
===== Images ophalen van externe server =====
De boot images worden m.b.v. het script '/var/lib/tftpboot/debian-installer-90/tmp/update' van een externe server opgehaald.
De boot images worden m.b.v. het script '/var/lib/tftpboot/debian-installer-98/tmp/update' van een externe server opgehaald.
<pre>
<pre>
cd /var/lib/tftpboot/debian-installer-90/tmp/
cd /var/lib/tftpboot/debian-installer-98/tmp/
lftp -c "open ftp://ftp.nl.debian.org/debian/dists/stretch/main/installer-i386/current/images/; mirror netboot/"
lftp -c "open ftp://ftp.nl.debian.org/debian/dists/stretch/main/installer-i386/current/images/; mirror netboot/"
lftp -c "open ftp://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/; mirror netboot/"
lftp -c "open ftp://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/; mirror netboot/"
rm -fr /var/lib/tftpboot/debian-installer-90/amd64
rm -fr /var/lib/tftpboot/debian-installer-98/amd64
rm -fr /var/lib/tftpboot/debian-installer-90/i386
rm -fr /var/lib/tftpboot/debian-installer-98/i386
mv /var/lib/tftpboot/debian-installer-90/tmp/netboot/debian-installer/* /var/lib/tftpboot/debian-installer-90
mv /var/lib/tftpboot/debian-installer-98/tmp/netboot/debian-installer/* /var/lib/tftpboot/debian-installer-98
rm -fr netboot
rm -fr netboot
</pre>
</pre>


=== fedora ===
=== fedora ===
====Versie 17 ====
==== Fedora boot project ====
===== Bestands locaties =====
===== Bestands locaties =====
De installatie bestanden staan in /var/lib/tftpboot/fedora-installer-17
De installatie bestanden staan in /var/lib/tftpboot/fedora-bootproject
===== Images ophalen van externe server =====
===== Images ophalen van externe server =====
De boot images worden m.b.v. het script '/var/lib/tftpboot/fedora-installer-17/work/get_all' van een externe server opgehaald.
De boot images worden m.b.v. het script '/var/lib/tftpboot/fedora-bootproject/work/doit.sh' van een externe server opgehaald.
<pre>
<pre>
#! /bin/bash
wget -O../bfo.lkrn http://dl.fedoraproject.org/pub/alt/bfo/bfo.lkrn
cd /var/lib/tftpboot/fedora-installer-17/work/
lftp -c "open ftp://ftp.nluug.nl/pub/os/Linux/distr/fedora/linux/releases/17/Fedora/i386/os/images/; mirror pxeboot/"
rm -rf ../i386
mv pxeboot ../i386
lftp -c "open ftp://ftp.nluug.nl/pub/os/Linux/distr/fedora/linux/releases/17/Fedora/x86_64/os/images/; mirror pxeboot/"
rm -rf ../x86_64
mv pxeboot ../x86_64
</pre>
 
====Versie 22 ====
===== Bestands locaties =====
De installatie bestanden staan in /var/lib/tftpboot/fedora-installer-22
===== Images ophalen van externe server =====
De boot images worden m.b.v. het script '/var/lib/tftpboot/fedora-installer-22/work/get_all' van een externe server opgehaald.
<pre>
#! /bin/bash
cd /var/lib/tftpboot/fedora-installer-17/work/
lftp -c "open ftp://ftp.nluug.nl/pub/os/Linux/distr/fedora/linux/releases/22/Workstation/i386/os/images/; mirror pxeboot/"
rm -rf ../i386
mv pxeboot ../i386
lftp -c "open ftp://ftp.nluug.nl/pub/os/Linux/distr/fedora/linux/releases/22/Workstation/x86_64/os/images/; mirror pxeboot/"
rm -rf ../x86_64
mv pxeboot ../x86_64
</pre>
 
===== Fedora configuratie scripts =====
??2014.04.22 Verouderde info??<br>
In /var/www staan 2 configuratie scripts (kickstart) een voor 32 bit en 64 bit.
In deze scripts staat de URL van de mirror, zodat de gebruiker vanaf daar kan installeren.<br>
Hieronder een voorbeeld van zo'n bestand:
<pre>
network --device eth0 --bootproto dhcp
#Use HTTP installation media
url --url=http://mirror.leaseweb.com/fedora/linux/releases/11/Fedora/x86_64/os
</pre>
</pre>


=== CentOS ===
=== CentOS ===
==== Versie 6.0 ====
==== Versie 7.5 ====
===== Bestands locaties =====
===== Bestands locaties =====
De installatie bestanden staan in /var/lib/tftpboot/centos-installer-60
De installatie bestanden staan in /var/lib/tftpboot/centos-installer-75
===== Images ophalen van externe server =====
===== Images ophalen van externe server =====
De boot images worden m.b.v. het script '/var/lib/tftpboot/centos-installer-60/temp/update' van een externe server opgehaald.
De boot images worden m.b.v. het script '/var/lib/tftpboot/centos-installer-75/temp/update' van een externe server opgehaald.
<pre>
<pre>
cd /var/lib/tftpboot/centos-installer-60/temp/i386/
cd /var/lib/tftpboot/centos-installer-75/temp/i386/
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/6/os/i386/isolinux/vmlinuz
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/i386/isolinux/vmlinuz
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/6/os/i386/isolinux/initrd.img
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/i386/isolinux/initrd.img
mv * /var/lib/tftpboot/centos-installer-60/i386/
mv * /var/lib/tftpboot/centos-installer-75/i386/
cd /var/lib/tftpboot/centos-installer-60/temp/amd64/
cd /var/lib/tftpboot/centos-installer-75/temp/amd64/
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/6/os/x86_64/isolinux/vmlinuz
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/isolinux/vmlinuz
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/6/os/x86_64/isolinux/initrd.img
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/isolinux/initrd.img
mv * /var/lib/tftpboot/centos-installer-60/amd64/
mv * /var/lib/tftpboot/centos-installer-75/amd64/
</pre>
===== Configuratie scripts =====
??2014.04.22 Verouderde info??<br>
In /var/www staan 2 configuratie scripts (kickstart) een voor 32 bit en 64 bit.
In deze scripts staat de URL van de mirror, zodat de gebruiker vanaf daar kan installeren.<br>
Hieronder een voorbeeld van zo'n bestand:
<pre>network --device eth0 --bootproto dhcp
#Use HTTP installation media
url --url=ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.3/os/x86_64/
</pre>
</pre>


== automatische installatie hobbynet ==
== automatische installatie hobbynet ==


Voor hobbynet zijn volledig voorge configureerd instalatie script zo dat de hobbynet server's op de gewenste manier worden geinstalleerd
Voor hobbynet zijn er volledig voorgeconfigureerde installatie scripts, zodat de hobbynet servers op de gewenste manier worden ge&iuml;nstalleerd
 
=== automatische installatie process ===
=== automatische installatie process ===


* Maak VM aan (Beschijf we niet spreekt voor zich anders lees vmware handleiding maar) Minimaal 2 cores en 2 gb geheugen is de standaard
* Maak VM aan (Beschijven we niet, spreekt voor zich, anders lees de vmware handleiding maar) <br>Minimaal 2 cores en 2 gb geheugen is de standaard
* Boot van pxe ( bij 2 interface vaalt de 1e meestal en start van de 2e het interne netwerk)
* Boot van pxe (bij 2 interfaces faalt de 1e meestal en start van de 2e het interne netwerk)
* Kies in menu optie H hobbynet menu
* Kies in menu optie H hobbynet menu
* Bij 1 interface (alleen intern) kies je optie B en bij 2 interfaces of meer kies je optie A bij (interne interface is dan de 2e netwerk kaart)
* Bij 1 interface (alleen intern) kies je optie B en<br>bij 2 of meer interfaces kies je optie A bij (interne interface is dan de 2e netwerk kaart)
* Vul de hostnaam in (zonder –int)
* Vul de hostnaam in (zonder –int)<br>Let op: hostnaam alleen schrijven in '''kleine letters'''
* Wacht tot de machine gaat rebooten
* Wacht tot de machine gaat rebooten
* Login met user a wachtwoord bas
* Login met user a wachtwoord bas
Line 198: Line 152:
* geef het commando ./post-install.sh
* geef het commando ./post-install.sh
* wacht op reboot
* wacht op reboot
* Tijdens reboot krijg je de melding "A startup job is running for wait for Network to be Configured" hier op moet je wachten kan soms enkele min duren  
* Tijdens reboot krijg je de melding "A startup job is running for wait for Network to be Configured"<br>Hierop moet je wachten (dit kan soms enkele minuten duren)
* login met beheerders account
* login met beheerders account
* wordt root (sudo -i)
* wordt root (sudo -i)
* tip kijk met ifconfig wat ip is en login met ssh en ga veder als root
* tip: kijk met ifconfig wat het IP adres is, login met ssh en ga verder als root
* pas /etc/netplan/01-netcfg.yaml aan naar de netwerk configuratie (gebruik geen tabs maar spaties) hier onder een verbeeld van standaar netplan file
* pas /etc/netplan/01-netcfg.yaml aan naar de netwerk configuratie (gebruik geen tabs maar spaties)<br>hieronder een voorbeeld van standaard netplan file
<pre>
<pre>
 
# This file describes the network interfaces available on your system
# This file is generated from information provided by
# For more information, see netplan(5).
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
network:
    version: 2
  version: 2
    ethernets:
  renderer: networkd
  ethernets:
         ens160:
         ens160:
            dhcp6: no
            accept-ra: no
             addresses:
             addresses:
             - 212.72.224.111/24
             - 212.72.227.86/27
             - 2a02:968:1:2:212:72:224:111/64
             - 2a02:968:1:7:212:72:227:86/64
             gateway4: 212.72.224.1
             gateway4: 212.72.227.65
             gateway6: 2a02:968:1:2::1
             gateway6: 2a02:968:1:7::1
             nameservers:
             nameservers:
                 addresses:
                 addresses: []
                - 8.8.8.8
                 search:
                 search:
                 - hobby.nl
                 - hobby.nl
Line 227: Line 179:
         ens192:
         ens192:
             addresses:
             addresses:
             - 172.31.1.111/24
             - 172.31.1.86/24
             nameservers:
             nameservers:
                 addresses: []
                 addresses: []
                 search: []
                 search: []
             routes:
             routes:
             - to: 172.31.2.0/24
             - to: 172.31.0.0/16
              via: 172.31.1.1
            - to: 192.168.67.0/24
               via: 172.31.1.1
               via: 172.31.1.1
             - to: 192.168.200.0/24
             - to: 192.168.200.0/24
               via: 172.31.1.1
               via: 172.31.1.1
        ens224:
            addresses:
            - 172.31.8.6/24
            nameservers:
                addresses: []
                search: []
             optional: true
             optional: true
 
        lo:
            addresses:
            - 212.72.227.83/32
            - 2a02:968:1:7:212:72:227:83/128
            - 172.31.1.100/32
            - 172.31.8.101/32
</pre>
</pre>
* controleer of de routes in de netplan file staan die nodig hebt minimaal de 2 routes uit het voorbeeld hier boven ivm vpn
* controleer of de routes in de netplan file staan die nodig hebt minimaal de 2 routes uit het voorbeeld hierboven (i.v.m. VPN routering)
* geef commando netplan apply
* geef commando '''netplan apply'''
* Nu heeft de machine de de ip configuratie die jij hebt opgegeven (Als je met ssh zit ingelogd ben je uiteraard je verbinding kwijt)
* Nu heeft de machine de ip configuratie die jij hebt opgegeven (Als je met ssh zit ingelogd ben je uiteraard je verbinding kwijt)

Latest revision as of 13:18, 30 March 2019

pxe

Op de virtuele server 'pxe' draait een PXE-server voor installatie van debian op afstand.

Er wordt door middel van dhcp een extern IP adres uitgedeeld waarmee je een server kan herinstalleren.

Op deze pagina staat complete installatie handleiding: http://www.howtoforge.com/ubuntu_pxe_install_server

tftp

De tftp boot files staan in /var/lib/tftpboot

dhcpd

De dhcp server deelt in drie reeksen uit:

1 in de 2e interne reeks 172.31.1.0/24 van 172.31.1.140 tot 172.31.1.170
2 in de externe reeks 212.72.224.0/26 van 212.72.224.200 tot 212.72.224.210
3 in de externe reeks 212.72.229.0/26 van 212.72.224.200 tot 212.72.229.210

De config van dhcp

default-lease-time 600;
max-lease-time 600;

authoritative;

subnet 172.31.1.0 netmask 255.255.255.0 {
        range 172.31.1.140 172.31.1.170;
        filename "pxelinux.0";
        option domain-name "hobby.nl";
        option subnet-mask 255.255.255.0;
        option domain-name-servers 172.31.1.107, 172.31.1.13, 172.31.1.14;
        option routers 172.31.1.254;
 }

subnet 212.72.224.0 netmask 255.255.255.0 {
        range 212.72.224.200 212.72.224.210;
        filename "pxelinux.0";
        option domain-name "hobby.nl";
        option subnet-mask 255.255.255.0;
        option domain-name-servers 212.72.224.101, 212.72.224.22, 212.72.224.23;
        option routers 212.72.224.1;
 }

subnet 212.72.229.0 netmask 255.255.255.0 {
        range 212.72.229.200 212.72.229.210;
        filename "pxelinux.0";
        option domain-name "hobby.nl";
        option subnet-mask 255.255.255.0;
        option domain-name-servers 212.72.224.101, 212.72.224.22, 212.72.224.23;
        option routers 212.72.229.1;
 }

De client kant

Neem in de lokale DHCP server op:

subnet 192.168.10.0 netmask 255.255.255.0 {
   range 192.168.10.170 192.168.10.199;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.10.255;
   option routers 192.168.10.1;
   filename "pxelinux.0";
   next-server 212.72.224.24;

Het gaat om de laatste twee regels; "filename" en "next-server".

distributies

De globale bestanden voor alle distributies staan in /var/lib/tftpboot/pxelinux.cfg/

ubuntu

Versie 18.04 LTS

De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1804

Versie 18.10

De installatie bestanden staan in /var/lib/tftpboot/ubuntu-installer-1810

Images ophalen van externe server

De boot images worden m.b.v. het script '/var/lib/tftpboot/ubuntu-installer-1604/temp/update' van een externe server opgehaald.

cd /var/lib/tftpboot/ubuntu-installer-1804/temp/
echo Get AMD64 files
lftp -c "open http://nl.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/ubuntu-installer; mirror amd64/"
echo Get i386 files
lftp -c "open http://nl.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-i386/current/images/netboot/ubuntu-installer/; mirror i386/"
echo Move the files to the correct position
rm -fr /var/lib/tftpboot/ubuntu-installer-1804/amd64
rm -fr /var/lib/tftpboot/ubuntu-installer-1804/i386
mv amd64 /var/lib/tftpboot/ubuntu-installer-1804/
mv i386 /var/lib/tftpboot/ubuntu-installer-1804/
ls -l /var/lib/tftpboot/ubuntu-installer-1804/ -r
echo Done

debian

Versie 9.8

De installatie bestanden staan in /var/lib/tftpboot/debian-installer-98

Images ophalen van externe server

De boot images worden m.b.v. het script '/var/lib/tftpboot/debian-installer-98/tmp/update' van een externe server opgehaald.

cd /var/lib/tftpboot/debian-installer-98/tmp/
lftp -c "open ftp://ftp.nl.debian.org/debian/dists/stretch/main/installer-i386/current/images/; mirror netboot/"
lftp -c "open ftp://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/; mirror netboot/"
rm -fr /var/lib/tftpboot/debian-installer-98/amd64
rm -fr /var/lib/tftpboot/debian-installer-98/i386
mv /var/lib/tftpboot/debian-installer-98/tmp/netboot/debian-installer/* /var/lib/tftpboot/debian-installer-98
rm -fr netboot

fedora

Fedora boot project

Bestands locaties

De installatie bestanden staan in /var/lib/tftpboot/fedora-bootproject

Images ophalen van externe server

De boot images worden m.b.v. het script '/var/lib/tftpboot/fedora-bootproject/work/doit.sh' van een externe server opgehaald.

wget -O../bfo.lkrn http://dl.fedoraproject.org/pub/alt/bfo/bfo.lkrn

CentOS

Versie 7.5

Bestands locaties

De installatie bestanden staan in /var/lib/tftpboot/centos-installer-75

Images ophalen van externe server

De boot images worden m.b.v. het script '/var/lib/tftpboot/centos-installer-75/temp/update' van een externe server opgehaald.

cd /var/lib/tftpboot/centos-installer-75/temp/i386/
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/i386/isolinux/vmlinuz
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/i386/isolinux/initrd.img
mv * /var/lib/tftpboot/centos-installer-75/i386/
cd /var/lib/tftpboot/centos-installer-75/temp/amd64/
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/isolinux/vmlinuz
wget http://ftp.nluug.nl/ftp/pub/os/Linux/distr/CentOS/7/os/x86_64/isolinux/initrd.img
mv * /var/lib/tftpboot/centos-installer-75/amd64/

automatische installatie hobbynet

Voor hobbynet zijn er volledig voorgeconfigureerde installatie scripts, zodat de hobbynet servers op de gewenste manier worden geïnstalleerd

automatische installatie process

  • Maak VM aan (Beschijven we niet, spreekt voor zich, anders lees de vmware handleiding maar)
    Minimaal 2 cores en 2 gb geheugen is de standaard
  • Boot van pxe (bij 2 interfaces faalt de 1e meestal en start van de 2e het interne netwerk)
  • Kies in menu optie H hobbynet menu
  • Bij 1 interface (alleen intern) kies je optie B en
    bij 2 of meer interfaces kies je optie A bij (interne interface is dan de 2e netwerk kaart)
  • Vul de hostnaam in (zonder –int)
    Let op: hostnaam alleen schrijven in kleine letters
  • Wacht tot de machine gaat rebooten
  • Login met user a wachtwoord bas
  • doe "sudo -i" weer wachtwoord bas
  • geef het commando ./post-install.sh
  • wacht op reboot
  • Tijdens reboot krijg je de melding "A startup job is running for wait for Network to be Configured"
    Hierop moet je wachten (dit kan soms enkele minuten duren)
  • login met beheerders account
  • wordt root (sudo -i)
  • tip: kijk met ifconfig wat het IP adres is, login met ssh en ga verder als root
  • pas /etc/netplan/01-netcfg.yaml aan naar de netwerk configuratie (gebruik geen tabs maar spaties)
    hieronder een voorbeeld van standaard netplan file
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
        ens160:
            dhcp6: no
            accept-ra: no
            addresses:
            - 212.72.227.86/27
            - 2a02:968:1:7:212:72:227:86/64
            gateway4: 212.72.227.65
            gateway6: 2a02:968:1:7::1
            nameservers:
                addresses: []
                search:
                - hobby.nl
            optional: true
        ens192:
            addresses:
            - 172.31.1.86/24
            nameservers:
                addresses: []
                search: []
            routes:
            - to: 172.31.0.0/16
              via: 172.31.1.1
            - to: 192.168.67.0/24
              via: 172.31.1.1
            - to: 192.168.200.0/24
              via: 172.31.1.1
        ens224:
            addresses:
            - 172.31.8.6/24
            nameservers:
                addresses: []
                search: []
            optional: true
        lo:
            addresses:
            - 212.72.227.83/32
            - 2a02:968:1:7:212:72:227:83/128
            - 172.31.1.100/32
            - 172.31.8.101/32
  • controleer of de routes in de netplan file staan die nodig hebt minimaal de 2 routes uit het voorbeeld hierboven (i.v.m. VPN routering)
  • geef commando netplan apply
  • Nu heeft de machine de ip configuratie die jij hebt opgegeven (Als je met ssh zit ingelogd ben je uiteraard je verbinding kwijt)