PXE Boot Anleitung

  • Hallo zusammen,


    ich würde gerne verschiedene Live-CDs, Windows Installationen usw über das Netzwerk von der NAS booten


    Ich habe heute ein bisschen gelesen, aber irgendwie keine Schritt für Schritt Anleitung gefunden.


    Ich habe bisher folgendes gemacht


    - im Bios der verschiedenen Rechner das Booten von LAN aktiviert.
    - auf der NAS (TS-419P II, Firmware 4.1.2) TFTP Server aktiviert, Stammverzeichnis: \Public


    unter Netzwerk
    Ethernet: 1
    DHCP: Nein
    IP: 192.168.178.100
    Subnet: 255.255.255.0
    Gateway: 192.168.178.1


    DHCP Server aktiviert
    IP-Start: 192.168.178.201
    IP-End: 192.168.179.255
    Lease Dauer: 1 Tag
    WINS-Server: 0.0.0.0
    DNS-Suffix: ---
    TFTP-Server: 192.168.178.100
    Boot-Datei: pxelinux.0


    Auf http://www.com-magazin.de hab ich eine Anleitung für eine andere NAS gefunden,
    dort stand, dass man " Master Boot Server 1.0 " in das TFTP-Verzeichnis entpacken soll.
    Die Dateien liegen bei mir jetzt im Stammverzeichnis "Public"


    Folgende Einstellungen habe ich in der Fritzbox vorgenommen.



    DHCP-Server war aktiviert
    IPv4 Adressen von 192.168.178.20 - 192.168.178.200 geändert



    Ich weiß aber nicht ob das richtig ist, dass jetzt ja im Prinzip zwei DHCP server laufen...
    Der eine vergibt Adressen von 20 bis 200 (Fritzbox) der andere (NAS) ab 201 - 255.


    Das hatte ich mal irgendwo gelesen "damit sich die beiden nicht in die Quere kommen"


    wenn ich nun den Rechner starte und über LAN boote kommt DHCP... und startet dann doch Windows weil wahrscheinlich nichts gefunden wird.... so schnell kann ich leider nicht lesen...


    Was hab ich falsch gemacht und wie mache ich es richtig.


    Gibt es hier evtl eine Schritt für Schritt Anleitung wie man es richtig macht?
    Ich hab leider keine gefunden.


    Vielen Dank und viele Grüße


    Markus



    EDIT:


    Inhalt der LOG (TFTP)


    Code
    [04-Feb-14 20:41:11] starting TFTP service[04-Feb-14 20:41:11] username: admin[04-Feb-14 20:41:11] alias / is mapped to /share/HDB_DATA/Public/[04-Feb-14 20:41:11] permitted clients: all[04-Feb-14 20:41:11] max blksize: 65464[04-Feb-14 20:41:11] default blksize: 512[04-Feb-14 20:41:11] default timeout: 3[04-Feb-14 20:41:11] file read allowed: Yes[04-Feb-14 20:41:11] file create allowed: No[04-Feb-14 20:41:11] file overwrite allowed: No[04-Feb-14 20:41:11] logging: all[04-Feb-14 20:41:11] listening on: 127.0.0.1:69[04-Feb-14 20:41:11] listening on: 192.168.178.100:69[04-Feb-14 20:41:11] listening on: 192.168.178.43:69



    Edit 2:


    Folgendes erscheint beim booten bevor Windows von der Festplatte gestartet wird


    Code
    PXE E51
    No DHCP or proxyDHCP offers were received.
    
    
    PXE-MOF: Exiting PXE Run

    Einmal editiert, zuletzt von TobiasK () aus folgendem Grund: Zitate durch Code-Blöcke ersetzt.

  • Meine Fritzbox stellt in meinem Netzwerk den DHCP-Server. Daher läuft neben dem TFTP-Server bei mir auf der Qnap noch ein ProxyDHCP-Server (dnsmasq) auf der NAS.


    Mein TFTP-Server greift auf ein eigenes Verzeichnis zu, ich möchte nicht, dass sich Dienste oder Dateien vermischen oder andere Nutzer Dateien plötzlich löschen, die ich benötige ;).


    Für den dnsmasq-Dienst habe ich einen Benutzer erstellt (mittels Web-Config): dnsmasq und diesen in die Gruppe eveyrone gesteckt.
    Für den tftp Server habe ich ein Verzeichnis "tftp" erstellt.


    Zuerst benötigst du das OPKG-Paket "Optware" auf deiner NAS und brauchst Zugriff auf die Konole via SSH.
    Das Optware-Startscript muss ebenfalls angepasst werden. Das normale Startscript setzt leider die Umgebungsvariablen falsch und startet keine einigen Prozesse (dnsmasq). Ich hänge mein modifiziertes Startscript mit an diesen Beitrag.
    Du findest Informationen dazu im Qnap-Wiki: http://wiki.qnap.com/wiki/Install_Optware_IPKG


    Für die Installation von dnsmasq findest du hier im Forum auch genügend Informationen.
    Installation von dnsmasq: http://forum.qnapclub.de/viewt…670&hilit=dnsmasq#p178670


    Aber kurz gesagt, es reicht wenn du dnasmasq mittels

    Code
    ipkg updateipkg install dnsmasq


    installierst.


    und dann die Konfigurationsdatei austauscht (hänge dir meine mit an), diese befindet sich unter: "/opt/etc/dnsmasq.conf"
    Beispiel:

    Code
    # Configuration file for dnsmasq.## Format is one option per line, legal options are the same# as the long options legal on the command line. See# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.# Listen on this specific port instead of the standard DNS port# (53). Setting this to zero completely disables DNS function,# leaving only DHCP and/or TFTP.port=0#Disable re-use of the DHCP servername and filename fields as extra #option space. If it can, dnsmasq moves the boot server and filename #information (from dhcp-boot) out of their dedicated fields into DHCP #options. This make extra space available in the DHCP packet for #options but can, rarely, confuse old or broken clients. This flag #forces "simple and safe" behaviour to avoid problems in such a case.dhcp-no-override# Never forward plain names (without a dot or domain part)domain-needed# Never forward addresses in the non-routed address spaces.bogus-priv# Change this line if you want dns to get its upstream servers from# somewhere other that /etc/resolv.confresolv-file=/opt/etc/dnsmasq.resolv.conf# The DHCP server needs somewhere on disk to keep its lease database.# This defaults to a sane location, but if you want to change it, use# the line below.dhcp-leasefile=/opt/etc/dnsmasq.leases# If you want dnsmasq to change uid and gid to something other# than the default, edit the following lines.user=dnsmasqgroup=everyone# Do stateless DHCP, SLAAC, and generate DNS names for SLAAC addresses# from DHCPv4 leases.dhcp-range=192.168.172.0, proxy# The same as above, but use custom tftp-server instead machine running dnsmasqdhcp-boot=pxelinux.0,192.168.172.10,192.168.172.0dhcp-boot=syslinux.efi,192.168.172.10,192.168.172.0# Loads <tftp-root>/pxelinux.0 from TFTP server at 1.2.3.4.# Beware this fails on old PXE ROMS.pxe-service=x86PC, "legacy Netzworkboot", pxe/bios/legacy/pxelinux, 192.168.172.10pxe-service=BC_EFI, "x64 EFI Netzworkboot", pxe/bios/efi.x64/syslinux.efi, 192.168.172.10# For debugging purposes, log each DNS query as it passes through# dnsmasq.#log-facility=/share/tftp/dnsmasq.log#log-queries# Log lots of extra information about DHCP transactions.#log-dhcp


    Dieses Konfigurationsbeispiel mußt du für deine IP Bereiche anpassen: Der DHCP Server (Router) ist in dem IP-Bereich: 192.168.172.0. Der tftp-Server und der dnsmasq-Server haben die IP 192.168.172.10. Es ist auch möglich unterschiedliche IP Adressen anzugeben.


    Die entsprechenden Startdateien befidnen sich auf dem tftp-Server unter:

    Code
    pxe/bios/legacy

    für legacy-Systeme
    und

    Code
    pxe\bios\efi.x64

    für UEFI-Systeme.


    Damit solltest du zumindest eine IP-Adresse bekommen.


    PXE und das Starten von software ist aber dann noch ein gänzlich anderes Thema.


    ggf. hänge ich dannnoch meine Startdateien mit an.


    Viel Spass :)



    Edit: Kleines Beispiel für ein PXE Bootmenu für legacy PC oder UEFI x64. Entpacken und den Ordner "pxe" tftp-root Verzeichnis kopieren. Die entsprechhenden Boot-Dateien basieren auf syslinux 6.03. In dieser Version ist die UEFI Variante nicht weiter ausgearbeitet.
    Für den Rest, brauchst du entweder NFS, FTP oder HTTP um die Images zu laden. Da würde ich dir empfehlen eigene Recherchen anzustellen.
    http://ggu.pc-ag.net/deeplink/…ds/67tzgNme8291qa1/pxe.7z