PXE-Boot vom NAS

  • Hallo, :)


    zum Sichern meiner Windows-Partition benutze ich immer Clonezilla. Dazu habe ich das ISO auf eine CD gebrannt und lege sie immer wieder ein.
    Das Image meiner Festplatte kopiere ich auf mein NAS (QNAP TS 410).


    Jetzt habe ich auf der Homepage von Clonzilla das Stichwort "PXE-Boot" gelesen und schon vieles ausprobiert.


    Den TFTP-Server bekomme ich zum Laufen danke der guten Anleitung http://forum.qnapclub.de/viewtopic.php?f=33&t=5336 :thumb:
    Aber ein Autostart mittels "Autorun.sh" bekomme ich nicht hin. Hat sich das mit dem "Autorun.sh" bei meinem Qnap geändert? :(
    Und auch den entsprechende DHCP-Server bekomme ich auch nicht zum laufen. :?


    Über dieses Thema wird in verschiedenen QNAP-Foren viel geschrieben aber keine der Infos helfen (mir) wirklich weiter.


    Es gibt so viele interessante und nützliche Tools, die per PXE-Boot eingesetzt werden können.
    Es gibt sogar eine ganze Linux-Version (sogar mit Web-GUI) die ein PXE-Boot ermöglicht http://www.ultimatedeployment.org/.


    Gibt es nicht einen oder mehrere erfahrene Linux-User die vielleicht eine Anleitung schreiben können, wie man ein PXE-Boot auf einem Qnap installiert. :oops:

  • Also bei mir funktioniert PXE wirklich einwandfrei - wo genau liegt das Problem? Du brauchst einen funktionierenden DHCP-Server, der auch die PXE-Parameter übergibt, wie z.B. dnsmasq. Was hast Du für einen Router bzw. wo läuft bei Dir im Netzwerk der DHCP-Server? Es gibt im Internet wirklich unzählige Anleitungen zum Einrichten von PXE, da brauchen wir hier keine weitere zu Schreiben. Aber wenn Du konkrete (!) Fragen hast, kann ich vielleicht helfen...

  • Hallo,


    danke für deine Antwort.


    Deine Antwort hat mir schon weiter geholfen.
    Ich habe den DHCP-Server im Qnap und von meinem Router konfiguriert -> leider ohne erfolg.
    Ich werde "dnsmasq" installieren und im Internet dazu mehr Informationen suchen (Konfiguration, etc.)


    Es wird aber etwas dauern - URLAUB :mrgreen: .


    MfG Kapitaen Balu

  • Hallo zusammen,
    ich bin nun auch mal auf das PXE gekommen. Ich habe das ganze schon unter Windows erflogreich einrichten können. Nun will ich das ganze auf meiner Ts410 laufen lassen um das Problem mit dem zweiten DHCP Server zu umgehen (die Test Pc´s wahren nicht im eigentlichen DHCP Netz!). Nun will ich das doch alles richtig einrichten.
    Also kurz zusammen gefasst. Es hängt bei mir aktuell nur am tftp-hpa und dhcp.
    Zu der Hardware:
    DSL-Router 192.168.2.1
    W-Lan Router 192.168.2.1
    TS-410 NAS 192.168.2.50 / DHCP Server
    Kann mir nun jemand evtl eine gute Seite nennen oder mir etwas erklären, was ich alles machen muss. Mit den Linuxbefehlen habe ich es leider noch nicht so.
    also ich habe mit


    Code
    ipkg install tftp-hpa


    Das Paket installiert. Einen Ordner in /opt/ namens tftpboot erstellt. Darin habe ich die schon unter Windows erstellen Daten rein kopiert.


    Desweiteren habe ich folgende Homepage gefunden:
    http://www.nslu2-linux.org/wiki/Unslung/PxeBootServer
    Darin wird die Datei /opt/etc/dhcp.conf


    Code
    ddns-update-style none;ignore client-updates;option ntp-servers              192.168.0.2;option domain-name-servers      192.168.0.2, 192.168.0.10;subnet 192.168.0.0 netmask 255.255.255.0 {        option routers                  192.168.0.2;        option subnet-mask              255.255.255.0;        option domain-name              "lan";        range dynamic-bootp 192.168.0.225 192.168.0.254;        default-lease-time 21600;        max-lease-time 43200;        next-server 192.168.0.10;        filename "pxelinux.0";}


    und /opt/etc/xinetd.conf beschrieben


    Code
    service tftp{       flags            = REUSE       socket_type      = dgram       protocol         = udp       instances        = 30       wait             = yes       user             = root       server           = /opt/sbin/in.tftpd       server_args      = -vt 30 -s /opt/tftpboot       cps              = 100 2       log_on_success   = HOST PID       log_on_failure   = HOST       disable          = no}


    Ist hier meine /opt/etc/dhcp.conf Datei richtig abgeändert?


    Code
    ddns-update-style none;ignore client-updates;option ntp-servers              192.168.2.1;option domain-name-servers      192.168.2.1, 192.168.2.50;subnet 192.168.2.0 netmask 255.255.255.0 {        option routers                  192.168.2.1;        option subnet-mask              255.255.255.0;        range dynamic-bootp 192.168.2.225 192.168.2.254;        default-lease-time 21600;        max-lease-time 43200;        next-server 192.168.2.50;        filename "pxelinux.0";}


    Ist es richtig, dass die Datei /opt/etc/xinetd.conf nicht geändert werden muss?
    Muss ich sonst noch etwas machen? Oder langt es die Datei mit dem Befehl von dem verlinkten Thread weiter oben zu starten?


    Ich danke schonmal!!
    Gruß


    EDIT:


    Ich habe noch folgende Datei vergessen:


    /opt/etc/xinetd.d/tftp


    Code
    ## ftp://ftp.kernel.org/pub/software/network/tftp/#service tftp{       flags            = REUSE       socket_type      = dgram       protocol         = udp       instances        = 30       wait             = yes       user             = root       server           = /opt/sbin/in.tftpd       server_args	   = -s /share/tftpboot       cps		   = 100 2       log_on_success   = HOST PID       log_on_failure   = HOST       disable          = no}


    Desweiteren habe ich nun versucht den Server zu starten. Zum einen sieht man ihn nicht Ressourcenmonitor/Prozess zum anderen, wenn ich


    Code
    tftp localhost
    get filename.txt


    Ausführe kommt:
    Error Code 1: File not found

    Einmal editiert, zuletzt von pfälzer ()

  • Du solltest deine Probleme nacheinander lösen:


    1. Funktioniert der tftp-Server?


    So wie es scheint, willst Du tftp-hpa über xinit.d starten, siehe dazu meinen Post hier http://forum.qnapclub.de/viewtopic.php?f=33&t=5336#p56657 - der user muss als argument "-u admin" mitgegeben werden. Anschließend solltest Du den tftp-Server testen, wie in dem verlinkten thread geschrieben.


    EDIT: Was die Fehlermeldung angeht: Die Datei 'filename.txt' existiert im Verzeichnis /opt/tftpboot, oder? Versuche ansonsten den tftp-Server standalone zu starten, ohne xinit.d http://forum.qnapclub.de/viewtopic.php?f=33&t=5336#p29439 und erst im nächsten Schritt über xinit.d - ich habe drüben eigentlich für den tftp-Server alles genau beschrieben!



    2. Wenn das funktioniert, kommen wir zum DHCP-Server:
    Zwei DHCP-Server in einem Netzwerk zu betreiben ist nicht wirklich ratsam; welcher DHCP-Server soll denn antworten, wenn ein Client nach einer IP-Adresse fragt? Um PXE zu testen macht es Sinn, Deinen anderen DHCP-Server auszuschalten. Dann wirst Du auch feststellen, ob der DHCP-Server der TurboStation überhaupt funktioniert.



    Grüße, Brad

  • So,
    ich habe gestern nacht noch etwas rum gespielt. und irgendwann hatte ich es glaub soweit das der tftp Server läuft.
    Ich habe bisher immer diese Variante genommen:


    Code
    /opt/sbin/in.tftpd -s /share/tftpboot -u admin -l -c --ipv4


    Somit nicht wie du vermutest mit dem xinit.d.


    Getestet habe ich es dann nach deiner Vorgabe. Datei im tftpboot Verzeichnis erstellt und dann die zwei Befehle. Danach spingt es einfach wieder zu tftp> zurück. Somit kommt mal keine Fehlermeldung und ich vermute, dass es funktioniert.
    Habe ich das richtig verstanden, dass man die zwei Befehle auf der NAS ausführen muss? Zb mit Putty?!


    Desweiteren habe ich ja alle DHCP Server aus und nur dem vom NAS im Web Menü aktiviert. Desweiteren die Datei in /opt/... erstellt/verändert
    Meine Pc´s bekommen nun auch eine neue Ip Adresse. Somit sollte der DHCP Server ja laufen. Allerdings ist es bei mir jetzt so, wenn ich einen Laptop neu boote und er den Server sucht kommt 3x untereinander
    Gateway_IP: 192.168.2.1
    Gateway_IP: 192.168.2.1
    Gateway_IP: 192.168.2.1
    einmal mit einem "-" oder "/" oder ähnlichen stichen hinten dran also zb "192.168.2.1-" und danach bootet der pc von der Platte. Somit passt irgendetwas noch nicht wirklich. Gibt es noch einen anderen weg, den tftp Server zu testen?
    Ist es auch richtig, dass er nicht in der Ressourcenmonitor/Prozess Übersicht zusehen ist?!
    Nochmals vielen Dank!
    Gruß

    Einmal editiert, zuletzt von pfälzer ()

  • Wenn der Befehl 'get filename.txt' ohne Fehlermeldung durchläuft, gib einfach mal

    Code
    ls

    ein; dann sollte dort die Datei 'filename.txt' vorhanden sein. Damit würde der tftp-Server funktionieren!

  • Bitte tftp vorher beenden. Es sollte so aussehen:

    Code
    [~] # tftp localhosttftp> get filename.txttftp> quit

    und dann nimm besser 'ls -l'

    Code
    [~] # ls -l
    -rw-r--r--    1 admin    administ     6526 Jul 11  2007 index_default.html
    -rw-r--r--    1 admin    administ    26970 Feb 18 13:56 filename.txt
    
    
    [~] #


    Daran siehst Du, dass die Datei filename.txt vom tftp-Server in das lokale Verzeichnis kopiert wurde, in dem Du Dich befandest, als Du den Befehl 'tftp localhost' eingabst. Ich meine, tftp legt eine Datei mit 0Byte an, wenn es die Datei auf dem tftp-Server nicht findet, deswegen lieber ein bißchen was in die 'filename.txt' reinschreiben und per 'ls -l' testen, ob sie angekommen ist.

  • Vielen Dank für deine Benühungen mir so Grundsachen zu nennen!!!
    Gut, dass ich mein Ablauf so hingeschrieben habe. So konnte man gleich meinen Fehler sehen.
    Nach deiner Anleitung funktioniert das nun auch! Dazu finde ich die Datei im /root Ordner. Text hatte ich gleich von anfang an drin. Immerhin etwas gleich richtig gemacht :).
    Somit ist nun sicher, dass der Server läuft und der richtige Ordner ausgewählt ist. Sehr schön.
    Nun hängt es wohl "nur" noch am DHCP Server.
    Das beim booten:
    Gateway_IP: 192.168.2.1
    Gateway_IP: 192.168.2.1
    Gateway_IP: 192.168.2.1
    kommt nur bei einem Laptop. Bei 2 anderen und einem Pc kommt garnichts. Somit bekommen alle wohl noch keine richtige verbindung dahin. Hat hier evtl noch jemand eine Idee?

  • Zum Thema DHCP habe ich nur die folgenden Anmerkungen:


    1. Der DHCP-Server muss auf die pxelinux.0 Datei verweisen, die sich im Ordner /opt/tftpboot befinden muss (wo jetzt filename.txt) liegt, d.h. Du musst Dir die entsprechenden pxelinux-Dateien besorgen und die Konfigurations-Datei 'default' entsprechend bearbeiten, so steht es aber auch in dem von Dir verlinkten Tutorial


    2. Bei Deiner Konfiguration wundert es mich ein bißchen, dass der nachinstallierte DHCP-Server ein Web-Interface haben soll; ich hätte geschworen, dass das Ding nur über die Kommandozeile zu bedienen ist. Stelle sicher, dass Du den richtigen/aktiven DHCP-Server konfigurierst! Ob Deine Einstellungen des DHCP-Servers im Einzelnen richtig sind, kann ich nicht sagen, aber das lässt sich alles googlen.


    Jetzt, wo der tftp-Server steht, ist der Rest mit etwas Internet-Recherche machbar, ich klinke mich an dieser Stelle aus.


    Viele Grüße, Brad

  • Also, dir nochmals vielen dank!
    Das was du geschrieben hast, macht mich nun auch etwas stutzig. Dh. ich habe wohl die ganze zeit einen falschen DHCP Server genutz. Ich habe den in die Weboberfläche von eigentlichen Nas aktiviert. Aber es sollte wohl einer im Hintergrund laufen. Dh.


    Code
    ipkg install dhcp


    das mit der pxelinux-Datei etc pp sollte kein Probelm darstellen, da ich bevor ich an die NAS bin das mit einem Windows tftp-Server eingerichtet habe. Und da hat alles funktioniert. Also die ganzen Dateien sind vorhanden.


    Ich habe nun den dhcp Server mal installiert und starte die Nas mal neu. So ist der in der Weboberfläche eingebaute dhcp Server auf jedenfall aus und der neue kann normal starten. Mal gespannt ob es daran lag.


    Gruß


    EDIT:


    So der dhcp Server läuft mal. Diese Anleitung war das super:
    http://forum.qnapclub.de/viewtopic.php?f=80&t=679
    Dann noch neue Ip´s geholt:


    Code
    C:\>ipconfig /release
    C:\>ipconfig /renew


    Nun muss ich die anderen Sachen noch rein packen... Ich werde berichten


    EDIT 2:


    Nun will der Pc schon anfangen zu booten. Bricht dann aber doch ab. Hab mal eine Bildschirmkopie angefügt. Bin gerade etwas ratlos. Mit was könnte das zu tun haben?


    EDIT 3:


    So Fehler gefunden. Die Datei "default" hatte ich großgeschrieben. Das machte Windows wohl nix aus. Dem Linux hats nicht gefallen. So nun muss ich mal alles durchtesten...

  • Was funktioniert.
    -Memtest86
    -Ubuntu 10.10 32&64Bit Live Cd booten
    es geht aktuell noch kein gparted. Da gibts wohl irgendein Netzwerkproblem. Ist aber erstmal nicht so wichtig. Was wichtiger ist, ist dass meine Winpe Dateien nicht mehr gebootet werden. Und zwar habe ich mir ein Bootmenü gemacht das dann verschiedene wim Dateie Auswähle kann.
    Beim Booten des Bootloaders (BCD) bringt er den Fehler, dass er die Datei nicht findet.
    Der Pfad wird so angegeben:


    Code
    \Boot\BCD


    Ich vermute das es unter Linux so heißen sollte:


    Code
    /Boot/BCD


    Hat hier jemand einen Tip wie ich das abändern kann? Gibt es hier ein Umsetzungsprogramm oder so? Würde das in diesem Fall greifen?


    EDIT:
    so habe nun herrausgefunden das sowas wohl mit


    Code
    rg \\ / # Convert backslashes to slashes


    nun habe ich im Order /opt/etc/ tftpd.remap und das eingefügt. Welcher Datei muss ich jetzt beibringen, dass er diese Datei nutzen soll? Und was sollte in die andere Datei geschrieben werden?

  • Du must tftp-hpa beim starten die remap als argument mitgeben:

    Code
    -m /opt/etc/tftpd.remap

    bzw.

    Code
    /opt/sbin/in.tftpd -m /opt/etc/tftpd.remap -s /share/tftpboot -u admin -l -c --ipv4
  • Hi,
    was meinst du damit genau? Nur das Booten testen oder einen Windows PXE-Server stellen und das damit testen?
    Wenn du nur das Booten testen möchtest, geht das ganz einfach.
    - Ich habe mir den VmWare Player runter geladen (mit dem mach ich auch so ab und an Sachen)
    - neue Virtuelle Maschine anlegen.. Ohne ein BS zu installieren
    - Netzwerkkarte auf Bridged stellen (dadurch holt sich die VM von DHCP Server einen ip)
    - VM starten. Da sonst nichts darin geladen ist springt diese dann direkt auf Netzwerkboot und du hast dein Auswahlfenster.
    Das wars eigentlich auch schon.
    Kurz gesagt Vm anlegen Netzwerkkarte in der VM einstellen, VM starten
    Falls es das nicht ist, was du meintest lass es mich wissen :).
    Gruß

  • Hallo,


    habe ein kleines Problem. Mein TFTP-Server funktioniert, mein DHCP-Server leider nur teilweise.
    Wenn ich in Windows drinne bin, findet er den DHCP-Server und ich krieg eine IP zugewiesen.


    Wenn er jetzt aber über PXE sucht, findet er den DHCP-Server nicht und ich krieg keine IP.
    Die Fehlermeldung:
    PXE-E53: No boot filename received.


    mfg WestSideF