Ich habe vor kurzem einen kleinen Server-Rechner mit Ubuntu Server und Samba gebaut, um (unter anderem) als Dateiserver zu fungieren, damit meine gesamte Familie von Windows-Rechnern aus über das Netzwerk auf bestimmte Dateien zugreifen kann. Ich würde jedoch gerne noch einen Schritt weiter gehen und die Freigaben auch von zu Hause aus über das Internet zugänglich machen. Wie würde ich das machen? Ich weiß sehr wenig darüber, wie das Windows-Netzwerkfreigabesystem funktioniert, daher habe ich keine Ahnung, wo ich anfangen soll.
internet
network-shares
file-sharing
ubuntu-server
Sasha Chedygov
quelle
quelle
Antworten:
Mit Samba müssten Sie die Ports 139 / tcp und 445 / tcp nach außen freigeben - normalerweise müssen Sie dazu die "Portweiterleitung" in Ihrem Router konfigurieren. Darüber hinaus müssen Sie sicherstellen, dass Ihre externe IP-Adresse von außen pingfähig ist.
Danach können Sie auf die Freigaben zugreifen, indem Sie sie
\\youraddress
in die Adressleiste des Explorers oder in Start - Ausführen eingeben . (Hier youraddress ist entweder Ihre externe IP - Adresse oder Ihre DNS - Namen, wenn Sie eine haben.)Beachten Sie jedoch, dass das von der Windows-Dateifreigabe verwendete CIFS- und SMBv2-Protokoll keine Datenverschlüsselung bietet (sodass jeder mit einem Paket-Sniffer Ihre Dateiübertragungen überwachen kann) und auch die Authentifizierung nicht besonders stark ist. Nur SMBv3 erhielt Verschlüsselungsunterstützung.
Vergessen Sie auch nicht, dass der Windows-SMB-Dienst in der Vergangenheit ein sehr häufiges Infektionsziel war. Obwohl die meisten Windows-Exploits Samba in keiner Weise betreffen, ist dies immer noch zu beachten (und bedeutet häufig, dass die SMB-Ports auf ISP-Ebene gesperrt werden).
Beachten Sie außerdem, dass Windows-Computer standardmäßig die Anmeldeinformationen für die gesamte lokale Sitzung speichern. Wenn Sie sich nicht als "Gast" mit Samba verbinden, müssen Sie auf öffentlichen Rechnern besondere Vorsicht walten lassen: Verwenden Sie immer
net use \\address
vor dem Öffnen im Explorer /net use \\address /del
, um die Verbindung zu trennen. (Dies wird auf PCs nicht benötigt.)Fügen Sie aus Sicherheitsgründen Folgendes zum allgemeinen Abschnitt hinzu
smb.conf
:quelle
Wenn Ihre Familie mit WinSCP umgehen kann, dann:
/srv/samba_files
über Samba exponieren , möchten Sieln -s /home/{user}/files /srv/samba_files
für jedes Konto eine oder eine ähnliche Aktion ausführen. Wenn Sie dies für viele Konten tun müssen, können Sie ein Skript schreiben, um dies zu tun.Sie haben dann eine sehr sichere Methode zum Übertragen von Dateien, die nicht zu schwierig zu verwenden ist.
Wenn Sie jedoch wirklich die Integration von "Netzwerklaufwerken" in Windows möchten, sollten Sie sich mit OpenVPN vertraut machen und dann einen überbrückten Tunnel zu Ihrem Heimnetzwerk einrichten. Ich habe Windows Fileshares erfolgreich dazu gebracht, über solche Tunnel zu arbeiten.
Sie können auch PoPToP (pptpd) verwenden, um einem Windows-System zu ermöglichen, über ein PPTP-VPN eine Verbindung zu Ihrer Ubuntu-Box herzustellen. (Ein IPSec / L2TP-Tunnel bietet eine bessere Sicherheit, ist jedoch schwer einzurichten.)
quelle
files
Freigabe erstellen , auf die/srv/samba_files
direkt verwiesen wird?Dies hängt davon ab, welche Art von Dateien Sie bereitstellen möchten. Wenn es sich um Dokumente oder nur um Dateien handelt, auf die Sie remote zugreifen müssen, führen Sie einfach einen FTP-Server auf Ihrem Ubuntu-Server aus. Stellen Sie sicher, dass Sie es mit guten Passwörtern gut sichern und nur auf das Dateiverzeichnis und nicht auf das Stammverzeichnis zugreifen.
Wenn Sie jedoch Mediendateien (Musiktitel, Filme) streamen möchten, möchten Sie einen Streaming-Server betreiben. Dafür gibt es viele Lösungen ( hier eine ).
Schließlich können Sie jederzeit eine vorhandene "Cloud" -Lösung wie Dropbox oder SkyDrive oder Amazon Cloud Player verwenden. Synchronisieren Sie einfach Ihre Dateien mit einem dieser Dienste, und der Internetzugang ist garantiert (und zwar schnell).
quelle