PXE Installation: Client error: Negotiation: ..Error: Read failed: End of file

Begonnen von c.monty, 2016/08/21, 18:18:43

Vorheriges Thema - Nächstes Thema

c.monty

Hallo!


Ich möchte Siduction über Netzwerk installieren und habe habe diesen Wiki-Artikel gefunden.


Allerdings funktioniert das ganze nicht mit NBD server version 3.14.


Versuche ich eine Verbindung mit NBD-Client herzustellen, dann erhalte ich diese Fehlermeldung:
nbd-client 192.168.1.10 /dev/nbd0
Warning: the oldstyle protocol is no longer supported.
This method now uses the newstyle protocol with a default export
Negotiation: ..Error: Read failed: End of file
Exiting.

Im Server syslog finde ich diese Einträge:
Aug 21 14:23:42 <server-name> nbd_server[10150]: Spawned a child process
Aug 21 14:23:42 <server-name> nbd_server[10436]: Negotiation failed/8a: Requested export not found
Aug 21 14:23:42 <server-name> nbd_server[10436]: Exiting.
Aug 21 14:23:42 <server-name> nbd_server[10150]: Child exited with 1
Aug 21 14:23:42 <server-name> nbd_client[10435]: Read failed: End of file
Aug 21 14:23:42 <server-name> nbd_client[10435]: Exiting.

Was ist die Ursache für diesen Fehler?

Dies ist meine aktuelle NBD server Konfiguration:
cat /etc/nbd-server/config
[generic]
# If you want to run everything as root rather than the nbd user, you
# may either say "root" in the two following lines, or remove them
# altogether. Do not remove the [generic] section, however.
         user = nbd
         group = nbd
         includedir = /etc/nbd-server/conf.d

# What follows are export definitions. You may create as much of them as
# you want, but the section header has to be unique.
         allowlist = true

cat /etc/nbd-server/conf.d/siduction.conf
[siduction-15.1.0]
     exportname = /var/lib/vz/template/iso/siduction-15.1.0-paintitblack-gnome-amd64-201601162124.iso
     readonly = true
     authfile = /etc/nbd-server/allow


cat /etc/nbd-server/allow
192.168.1.0/24

In der PXE-Konfiguration habe ich dies eingetragen:
LABEL 2
         MENU LABEL Siduction 15.1.0 (Paintitblack) (64-bit)
         KERNEL images/siduction/15.1.0/boot/vmlinuz0.amd
         APPEND initrd=images/siduction/15.1.0/boot/initrd0.amd fromhd=/dev/nbd0 root=/dev/nbd0 nbdroot=192.168.1.14,32770,siduction-15.1.0 boot=fll toram noeject nointro lang=de
         TEXT HELP
         Siduction 15.1.0 (64-bit) ISO starten und in RAM kopieren
         ENDTEXT


Und im Verzeichnis /var/lib/vz/template/iso/ befinden sich diese Dateien:
ls -l /var/lib/vz/template/iso/
insgesamt 7970152
-rw-r--r-- 1 nbd root   16719872 Aug 20 22:15 dban-2.3.0_i586.iso
-rw-r--r-- 1 nbd root  998627328 Jul  1 17:59 faicd64-large_5.1.2.iso
-rw-r--r-- 1 nbd root 1060241408 Jan 20  2016 kali-linux-light-2016.1-amd64.iso
-rw-r--r-- 1 nbd root         75 Aug 18 19:34 kali-linux-light-2016.1-amd64.iso.sha1sum
-rw-r--r-- 1 nbd root  114294784 Aug 18 20:23 openSUSE-Tumbleweed-NET-x86_64-Current.iso
-rw-r--r-- 1 nbd nbd  1644167168 Jan 16  2016 siduction-15.1.0-paintitblack-gnome-amd64-201601162124.iso
-rw-r--r-- 1 nbd root         93 Jan 16  2016 siduction-15.1.0-paintitblack-gnome-amd64-201601162124.iso.md5
-rw-r--r-- 1 nbd root   56967168 Jun 16 17:34 virtio-win.0.1.118.iso
-rw-r--r-- 1 nbd root  160755712 Apr 27  2015 virtio-win.stable.iso



THX

c.monty

Update:
Nachdem der Paramter
authfile = /etc/nbd-server/allow
aus der Konfiguration
/etc/nbd-server/conf.d/siduction.conf
gelöscht wurde funktioniert die Verbindung mit dem NBD-Client.


Was ist das Problem mit /etc/nbd-server/allow?

musca

Hallo c.monty,

nbd-client 1:3.14 hat eine neue Konfiguration eingeführt. Es verwendet nun /etc/nbdtab.
Eine bestehende /etc/nbd-client wird beim Upgrade konvertiert.

siduction hatte vorher folgenden Hack verwendet, um /etc/nbd-client zu modifizieren:
        # Quite hacky, but /etc/nbd-client default conf
        # leaves a broken partial /dev/nbd0 config
          # commented 2016-07-03, /etc/nbd-client --> /etc/nbdtab
        # sed -i 's#/dev/nbd0##' /etc/nbd-client

(der Sed-Befehl wurde also auskommentiert, weil keine /etc/nbd-client mehr existiert.)

Insgesamt braucht nbd-client etwas Zuwendung von engagierten Fans.
Wenn wir Feedback zur Konfiguration bekommen, werden wir es gern aufnehmen.

Grüße
musca
,,Es irrt der Mensch, solang er strebt."  (Goethe, Faust)

c.monty

Hallo!

Vielen Dank für diese Info.

Allerdings verstehe ich nicht den Zusammenhang mit dem Finding / Workaround, dass nach Löschung des Parameters
authfile = /etc/nbd-server/allow
der NBD-Client keine Verbindungsfehler meldet.

Hinzu kommt, dass ich den NBD-Server primär für PXE-Netzwerk-Boot nutze, und da sehe ich keinen Zusammenhang mit der NBD-Client Version.
Ich denke, es ist eher eine Zusammenhang mit der Authentifizierungs-Funktion des NBD-Servers zu suchen.

Update:
Das Problem kann mit diesem Workaround behoben werden.
Anhängen einer IPv6-Adresse in /etc/nbd-server/allow.
Dies ist auch hier (https://github.com/yoe/nbd/issues/35) dokumentiert.

THX