Samba streikt bei DHCP

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,
    ich habe ein skuriles Problem mit Samba: Wenn mein eth0 eine fixe IP-Konfiguration hat, funktioniert die Dateifreigabe mit Samba wunderbar. Wenn ich eth0 eine DHCP-Adresse zuweise, dann sind die Dateifreigaben von außen nicht zu erreichen. Im Log von Samba taucht beim Starten oft (aber nicht bei allen Versuchen) folgende Meldung auf:

    [2014/09/26 17:21:23.886383, 0] lib/util_sock.c:605(open_socket_in)
    open_socket_in(): socket() call failed: Address family not supported by protocol
    [2014/09/26 17:21:23.887379, 0] smbd/server.c:578(smbd_open_one_socket)
    smbd_open_once_socket: open_socket_in: Address family not supported by protocol
    [2014/09/26 17:21:23.931254, 0] lib/util_sock.c:605(open_socket_in)
    open_socket_in(): socket() call failed: Address family not supported by protocol
    [2014/09/26 17:21:23.931988, 0] smbd/server.c:578(smbd_open_one_socket)
    smbd_open_once_socket: open_socket_in: Address family not supported by protocol

    Zum Hintergrund:
    Das ganze hat mal wunderbar funktioniert. Bis ich Depp :wallbash: den isc-dhcp-client dazu bewegen wollte, sich mit hostname bei der Fritzbox zu melden. Da das nicht funktioniert hat (mit wireshark die Pakete gecheckt), habe ich isc-dhcp-client deinstalliert und pump installiert. Im Rausch des Moments habe ich denn dann wieder deinstalliert und wollte noch dhcpcd ausprobieren - und dann war es aus. Auch der Wechsel zurück zu isc-dhcp-client hat es nicht mehr behoben. Schon dhcp-client und samba komplett deinstalliert und wieder installiert. Leider auch keine Besserung. Irgendwas ist verstrickt - nur wo soll ich suchen?

    Den Wechsel der DHCP-Clients habe ich immer in 2 Schritten durchgeführt:
    1) apt-get --purge autoremove client-alt
    2) apt-get install client-neu
    3) reboot

    Ich hoffe, bei Euch weiß jemand Rat! Das einzige Googe-Ergebnis, das ich zu der Samba-Melsung gefunden habe, war wenig hilfreich (ipv6 aktivieren)

    Außerdem sollte ich noch dazusagen, daß das Netzwerk ansonsten in beiden Fällen einwandfrei funktioniert und auch die Ausgabe von ifconfig gleich aussieht.
    So, langer Text, hoffentlich keine wichtige Info vergessen...

  • Hi, danke für den Hinweis!
    IPv6 war eigentlich schon die ganze Zeit deaktiviert.
    Jetzt habe ich das nochmal nachgeprüft: Alle Einträge, die ich damals gemacht hatte, sind noch da. Also in /etc/modules die aliase, in /etc/sysctl.d die Datei mit dem disable-Eintrag und die Einträge in /etc/sysctl.conf.
    Habe ich da etwas übersehen?

    Die einzige Anleitung, die Google zu der Fehlermeldung ausgespuckt hat, hat 2 Lösungen vorgeschlagen:
    a) IPv6 aktivieren
    b) Die Interfaces in smb.conf setzen.
    Bei den Interfaces habe ich sowohl "192.168.1.1/16 eth0" als auch nur "eth0" ausprobiert, auch mit aktiviertem "bind interfaces only". Beides nicht erfolgreich.
    Suche ich vielleicht am falschen Ende? An der Samba-Config habe ich ja nichts geändert - das ursprüngliche Problem kam mit den blöden DHCP-Clients :wallbash:

    Übrigens zeigt ifconfig auch die BROADCAST-Option an, wenn ich die Adresse per DHCP hole. Irgendwo hatte ich noch im Hinterkopf, das Samba nur an Schnittstellen mit Broadcast-Möglichkeit arbeitet... :daumendreh2:

  • Also wegen der Subnetz-Maske: Eigentlich schon...
    192.168. ist mein lokales Netz, die letzten 2 Byte sind dann die einzelnen Rechner. Zugegeben recht großzügiger Adressraum, aber wen stört's? ;)

    Ich habe jetzt die Interfaces entsprechend gesetzt (nur ohne wlan). Im Log ist nach den reboot keine Fehlermeldung, aber in der Netzwerk-Umgebung ist er wieder weg.

    Hier zur Sicherheit die Ausgabe von ifconfig (ohne MAC):
    eth0 Link encap:Ethernet Hardware Adresse *****
    inet Adresse:192.168.1.84 Bcast:192.168.255.255 Maske:255.255.0.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
    RX packets:258 errors:0 dropped:0 overruns:0 frame:0
    TX packets:105 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:1000
    RX bytes:17319 (16.9 KiB) TX bytes:26870 (26.2 KiB)

    lo Link encap:Lokale Schleife
    inet Adresse:127.0.0.1 Maske:255.0.0.0
    UP LOOPBACK RUNNING MTU:65536 Metrik:1
    RX packets:1 errors:0 dropped:0 overruns:0 frame:0
    TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
    Kollisionen:0 Sendewarteschlangenlänge:0
    RX bytes:78 (78.0 B) TX bytes:78 (78.0 B)

    Fällt Dir da etwas besonderes auf? Ich frage mich halt, was anders ist für den Socket, ob ich jetzt die IP-Konfiguration per DHCP oder per Datei kriege.
    Das könnte doch eigentlich nur passieren, wenn er nach dem Start des Servers das Netzwerk nochmal kurz "re-initialisiert" (z.B. wg. neuer IP-Adresse per DHCP)
    Komisch nur, daß ssh das Problem nicht hat - will ich aber auch nicht beschreien :angel:

    Hach, vielleicht doch eine zündende Idee:
    Wenn ich mir die Logs von syslog und samba anschaue und insbesondere die Zeitstempel, dann fällt folgendes auf:

    - cron gestartet
    A)
    - dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
    ifplugd(eth0)[1573]: client: DHCPREQUEST on eth0 to 255.255.255.255 port 67
    B)
    dhclient: DHCPOFFER from 192.168.1.1
    ifplugd(eth0)[1573]: client: DHCPOFFER from 192.168.1.1
    dhclient: DHCPACK from 192.168.1.1
    ifplugd(eth0)[1573]: client: DHCPACK from 192.168.1.1

    - ntpd gestartet (ohne Fehlermeldung)

    - ifplugd(eth0)[1573]: client: Reloading /etc/samba/smb.conf: smbd only.
    dhclient: bound to 192.168.1.84 -- renewal in 387703 seconds.
    ifplugd(eth0)[1573]: client: bound to 192.168.1.84 -- renewal in 387703 seconds.
    ifplugd(eth0)[1573]: Program executed successfully.

    Irgendwo zwischen A) und B) wird samba gestartet (laut log.smbd). Leider sind im Log nur die Sekunden angegeben, so daß ich da keine genaue Reihenfolge angeben kann.

    Einmal editiert, zuletzt von Klausewitz (26. September 2014 um 23:35)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!