Wie kann ich eine Verbindung zu einem Samba-Server unter Verwendung seines Hostnamens anstelle der IP-Adresse herstellen?

14

Ich bin ein Anfänger in Sachen Linux und habe kürzlich einen Medienserver mit all meinen Filmen zusammengestellt, auf dem Ubuntu 12.04 läuft.

Nachdem ich Tutorials und Foren gefolgt habe, kann ich erfolgreich nach Hostname und IP, meiner Windows-Desktop-Box und meiner Ubuntu-Box für den Medienserver und umgekehrt pingen.

Ich habe Samba so konfiguriert, dass auf meinem Medienserver eine Freigabe namens Filme eingerichtet wird. Ich habe auch ein Konto bei Samba mit meinem Linux-Benutzernamen und Windows-Benutzernamen mit meinem Linux-Passwort eingerichtet.

Meine Ubuntu-Box ist jetzt in meinem Netzwerkbaum auf meiner win7-Box sichtbar, ebenso wie die Filmfreigabe. Wenn ich jedoch versuche, über die win7-Box auf die Filmfreigabe zuzugreifen, habe ich keine Berechtigung dazu.

Ich habe festgestellt, dass ich mithilfe der statischen IP-Adresse, die ich meinem Ubuntu-Medienserver zugewiesen habe, problemlos auf die Freigabe zugreifen kann.

Ich möchte jedoch in der Lage sein, das Problem zu beheben und auf die Freigabe zuzugreifen, indem ich den Hostnamen meiner Ubuntu-Medienserver-Box verwende.

Tut mir leid, wenn ich in meinem Setup etwas unklar bin!

user1139093
quelle

Antworten:

15

Es gibt einige Probleme, die dazu führen könnten:

  1. Aktivieren von Netbios in Ihrer Samba-Konfigurationsdatei

    /etc/samba/smb.confFügen Sie in Ihrer Datei nach der Zeile WORKGROUP Folgendes hinzu:
    netbios name = PC_NAMEWobei PC_NAME der Name Ihres PCs ist, wie er im Netzwerk angezeigt wird. Setzen Sie dann den Samba-Dienst zurücksudo service smbd restart

  2. Keine statische IP

    Sie müssen eine statische IP-Adresse festlegen, damit andere PCs in diesem Netzwerk Sie sehen können. Dies hängt auch von Ihrem Router und der Konfiguration Ihres Netzwerks ab.

  3. Die Länge des Hostnamens sollte weniger als 15 Zeichen betragen

    Wenn Ihr Hostname länger als 15 Zeichen ist, wird in einigen Fällen ein Fehler ausgegeben. Geben Sie ein hostname, um Ihren Hostnamen anzuzeigen. Um es zu ändern, können Sie entweder:

    sudo sysctl kernel.hostname=NAME

    oder Sie können die /etc/hostnameDatei bearbeiten und neu starten.

  4. Suchen Sie in der /etc/samba/smb.confDatei nach der folgenden Zeile:

    # What naming service and in what order should we use to resolve host names
    # to IP addresses
    ;   name resolve order = lmhosts host wins bcast
    

    Deaktivieren Sie die Zeile, in der steht, name resolve orderund vergewissern Sie sich, dass sie bcastals erste in der Liste aufgeführt ist. Anschließend sollte sie folgendermaßen aussehen:

    name resolve order = bcast lmhosts host wins

    Starten Sie dann den Samba-Dienst neu, wie oben erwähnt.

Dies alles setzt voraus, dass Ubuntu das Problem ist, Sie Samba bereits installiert haben und nicht über Active Directory arbeiten.

In vielen Fällen ist es auch Windows. Sie müssten Dinge tun, wie das DNS und die Registrierung zu entleeren. Gehen Sie unter Windows im Terminal (cmd) wie folgt vor:

ipconfig /flushdns
ipconfig /registerdns

Sie müssen den PC danach neu starten. Überprüfen Sie anschließend, ob Sie den Ubuntu-PC sehen können, indem Sie dies beispielsweise net viewunter Windows tun .

Luis Alvarado
quelle
Fantastische Antwort Luis !! Ich habe nur die Netbios-Leitung mit dem Namen meiner Ubuntu-Box eingegeben und es hat sofort funktioniert - danke!
user1139093
Ich bin froh, dass es funktioniert hat. Ich habe verschiedene Optionen angegeben, da sich die Lösung je nach Netzwerkkonfiguration, Windows-Version, Einrichtung des Routers usw. ändern kann. Ich weiß, dass es andere Optionen gibt, aber diese habe ich über die Jahre getan.
Luis Alvarado
2

In meinem Fall musste ich den nmbd-Dienst neu starten

sudo systemctl restart nmbd
Danelips
quelle
Es hat den Trick gemacht! Vielen Dank!
Alexey Kosov