Grub: PXE-Boot mit IP Adresse

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
chmeyer
Beiträge: 96
Registriert: 03.02.2010 21:09:12
Wohnort: RLP

Grub: PXE-Boot mit IP Adresse

Beitrag von chmeyer » 22.07.2015 22:59:53

Hallo zusammen,

ich möchte gerne ein Debian-System per PXE booten und zwar mit einem lokal von CD / USB gestartetem Bootloader (grub?) aus..

Normalerweise funktioniert PXE ja so, das TFTP-Server per DHCP "announced" wird.
Hier beginnt mein Problem, da ich an einer Windows Domäne "hänge", deren DHCP-Server nur den Pfad für die Windows WDS Installation veröffentlicht. Mein Debian TFTP-Server ist dem Windows Active Directory nicht bekannt und wird deshalb nicht zum booten angeboten.

Meine Wunschvorstellung wäre, wenn ich den Clients sagen könnte, von einer bestimmten IP-Adresse aus (quasi am AD vorbei) zu booten.
iPXE (von CD/USB) hatte ich mir schon einmal angesehen, bin aber wegen diverser Probleme wieder davon abgekommen.

Am liebsten hätte ich, wenn ich von den Clients aus mit einer CD / einem USB-Stick in Grub booten könnte und dann bei grub die IP-Adresse des Debian-Servers eingeben könnte. Also in etwa so:
set root=(pxe:192.168.2.73/srv/tftp/boot)
linux /vmlinuz-...
initrd /initrd-...
boot

Die Forum-Suche bezog sich überwiegend noch auf grub 0.97 und aus dem grub-Handbuch bin ich nicht ganz schlau geworden:
http://www.gnu.org/software/grub/manual ... ml#Network

Weiß jemand wie das funktioniert, oder hat es schon mal jemand gemacht?

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Grub: PXE-Boot mit IP Adresse

Beitrag von Livingston » 23.07.2015 14:12:53

Ich habe das vor Jahren mal gemacht, bin mir aber nicht mehr ganz sicher, wie ich das gemacht habe. Soweit ich mich erinnere, lief das so ab:

* Debianpxelinux lokal installieren: Damit konnte ich dann aussuchen, ob das lokale System gestartet, oder ein pxe-server aus dem Netzwerk genutzt wird.
* Da sich pxelinux den Master Boot Record gekrallt hatte, kommt grub auf eine Partition des lokalen Systems. grub wird also gechainloadet. Sofern Du keine weitere Auswahl für verschiedene Kernel oder lokale Boot-Methoden brauchst, kannst Du auf grub verzichten und pxelinux das lokale Booten auch komplett überlassen.
* Wahrscheinlich lässt sich pxelinux auch so konfigurieren, dass alle lokalen Boot-Varianten darin mit verarztet werden, grub kannst Du Dir dann sparen.

Wie gesagt: Alles Jahre her, ich habe damals noch mit grub legacy gearbeitet. Leider habe ich meine Dokumentation darüber weggeschmissen. Ich hoffe, Du kommst mit den Infos ein wenig weiter.

pxelinux ist ein Derivat des Bootloaders syslinux. Wenn Du mit dem klar kommst, sollte der Rest eigentlich kein Problem mehr sein.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Grub: PXE-Boot mit IP Adresse

Beitrag von hec_tech » 23.07.2015 14:54:02

Naja du kannst doch dem Windoof DHCP auch statisch also pro Host eine Konfiguration verpassen bzw Pools.

Damit gibt der DHCP eben für jeden Host einen anderen TFTP Server weiter.

Wäre glaub ich die einfachste Variante. Wir booten in der Firma alle Server über PXE und das funktioniert recht gut solange die MAC Adressen gleich bleiben ;)

chmeyer
Beiträge: 96
Registriert: 03.02.2010 21:09:12
Wohnort: RLP

Re: Grub: PXE-Boot mit IP Adresse

Beitrag von chmeyer » 23.07.2015 22:06:01

Danke erst einmal für die beiden Vorschläge.

@ Livingston:
pxelinux ist natürlich eine Alternative (die ich noch nicht kenne, die sich aber gut anhört). Bisher kenne ich nur grub und bin auch ganz gut damit gefahren. Die Clients boote ich mit grub von CD / USB und greife dann per NFS auf den Server zu. Aus Gewohnheit möchte ich möglichst auch bei einem (diesem) Bootloader bleiben, sonst wird mir das zu komplex - es sei denn, es geht nicht anders. Werde also zuerst noch ein wenig nach einer Möglichkeit für grub suchen bevor ich mich an pxelinux mache.

@ hec_tech
Ja, das ist auch eine gute Idee. Allerdings habe ich auf dem Active Directory leider keine Rechte. Klar könnte ich den externen Support darum bitten, doch möchte ich meine Konfiguration zuerst übergangsweise auf diesem Weg testen, damit die Kosten nicht zu hoch werden. Langfristig möchte ich ohnehin den GNU/Linux Netzwerkboot mit in das Windows PXE-Bootmenü einbinden lassen und meinen Debian "Server" virtualisieren lassen. Doch der externe Support ist "Windows-only" und wie gesagt zuerst muss der Linux-Part gut getestet sein und funktionieren.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Grub: PXE-Boot mit IP Adresse

Beitrag von hec_tech » 24.07.2015 15:13:22

Brauchst du zum Testen PXE Boot oder nur NFSROOT?

Für NFSROOT kann ich dir sagen wie man es zum Testen konfiguriert aber leider habe ich noch keine persistente Konfiguration mit Grub2 zusammengebracht.

viewtopic.php?f=33&t=156420

lg
gregor

chmeyer
Beiträge: 96
Registriert: 03.02.2010 21:09:12
Wohnort: RLP

Re: Grub: PXE-Boot mit IP Adresse

Beitrag von chmeyer » 25.07.2015 23:30:24

Hallo hec_tech,

im Moment würde mir (zum weiteren Testen) ein NFSROOT im Netzwerk reichen, allerdings nur für eine Zeit lang.
Später möchte ich ganz auf den lokalen Part (DVD/USB) verzichten und das gesamte Debian/ Grub-System in das PXE Bootmenü des Windows Active Directory integrieren (lassen).

Es geht mir dabei um die Installationsroutine von FAI, die ich im Moment noch öfter ändere und die auf den Arbeitsplatzrechnern nur zur Erstinstallation bzw. später bei Problemen ausgeführt werden soll - und nicht um einen Thinclient.

Danke für den Hinweis mit Deinem (leider noch nicht erfolgreichen) Versuch. Das würde mir immerhin das ständige neu Brennen von CDs ersparen.

Viele Grüße
Christian

ralfi
Beiträge: 285
Registriert: 02.06.2011 11:16:11
Wohnort: Brandenburg

Re: Grub: PXE-Boot mit IP Adresse

Beitrag von ralfi » 28.07.2015 08:40:06

Mmmh, ich weiss jetzt ned so recht ob ich Dein Problem richtig verstanden habe, aber ich beziehe meine IP-Adresse auch von einem Win DHCP Server für die PXE Clients, und zwar über dnsmasq. Der kann das über die so genannte Proxy Funktion. Hier mal meine Beispielkonfiguration aus der dnsmasq Konfigurationsdatei:

Code: Alles auswählen

port=0
domain-needed
bogus-priv
filterwin2k

#log enabling in /var/log/syslog
#log-dhcp
#log-queries

enable-tftp
tftp-root=/srv/tftp
mx-host=[*** Deine *** Maildomäne in FQDN],[IP-Adresse MX-Host],50
dhcp-option=option:ntp-server,[IP-Adresse NTP]
dhcp-option=option:domain-search,[Win Domäne FQDN]

# guckst Du in dnsmasq man oder config wegen der dhcp-Optionen
dhcp-range=[IP-Adressbereich, Maske],proxy
dhcp-option=6,[IP-Adresse]
dhcp-option=19,0
dhcp-option=23,50
dhcp-option=42,[IP-Adresse]
dhcp-option=44,[IP-Adresse]
dhcp-option=45,[IP-Adresse]
dhcp-option=46,8

pxe-prompt="PXE Auswahl mit Taste F8 ...", 2
pxe-service=x86PC,"Netzwerk-Start ...",pxelinux
pxe-service=x86PC,"Windows Installation von [Dein Windows Installations-Server] ...", 1, [IP-Adresse dieses Servers]
In meinem Beispiel habe ich auf dem PXE Server (ist übrigens eine QEMU VM, braucht man keine Büchse für) das mit folgenden Paketen installiert:
syslinux 6.03, pxelinux 6.03, dnsmasq 2.73
Viele Grüße, ralfi

Niveau sieht von unten oft wie Arroganz aus ...

Antworten