Wie kann ich einen Ordner auf einem Computer hinter einem Router für Knoten außerhalb des Routers freigeben?

574
Ye Li

Ich möchte einen Ordner auf einem Computer X für mehrere andere Knoten freigeben, z. B. A, B, C, die sich im selben LAN befinden. X befindet sich hinter einem Router, und die IP-Adresse des Routers kann sich im Laufe der Zeit ändern (DHCP wird zugewiesen), und ich habe keine Kontrolle darüber. A, B, C haben jeweils eine statische IP-Adresse, und ich kann A, B, C von X aus anpingen . Alle Knoten laufen unter Linux. Was ist die beste Vorgehensweise, wenn ich einen Ordner auf X nach A, B, C freigeben möchte ?

Ich wusste, dass ein Ansatz bis zu einem gewissen Grad praktikabel ist, nämlich NAT auf dem Router an Port 22 von X einzurichten und dann sshfs auf A, B, C zu verwenden, um den Ordner von X einzuhängen . Der Nachteil ist jedoch, dass sich die IP-Adresse des Routers ändern kann.

Ich habe auch versucht, reverse ssh + sshfs zu verwenden. Es scheint jedoch, dass dies den Ordner nur für einen Knoten freigeben kann, z. B. X -> A, nicht für das gesamte Netzwerk ( A, B, C ).

0
"Ordner freigeben" ist Windows-Terminologie und gilt normalerweise für SMB / CIFS (Samba unter Linux), die standardmäßig keine Router durchläuft, es sei denn, Sie konfigurieren die Router dafür (nicht sicher, ob Sie Zugriff auf diesen Router haben). Es gibt verschiedene andere vernetzte Dateisysteme. Wenn A, B, C statische Adressen haben, würde ich NFS versuchen (das Sie auf allen Computern einrichten müssen). sshfs funktioniert von Entwurf nur zwischen zwei Maschinen. dirkt vor 5 Jahren 0

1 Antwort auf die Frage

0
ErikF

Am einfachsten ist es, keine IP-Adressen zu verwenden und einen DDNS-Eintrag (Dynamic DNS) für den Server zu verwenden. Es gibt viele kostenlose DDNS-Dienste: Einige sind kostenlos (z. B. DNSdynamic ). andere, für die Sie bezahlen können, wenn Sie zusätzliche Funktionen wünschen (z. B. No-IP ). Um den DDNS-Eintrag gültig zu halten, führen Sie anschließend ein Programm aus, ddclientdas die IP-Adresse des Routers gelegentlich überprüft und bei Bedarf eine Aktualisierungsanforderung an den Provider sendet. Die meisten Anbieter lassen das dyndns2Protokoll für Updates zu. Die meisten Linux-Distributionen führen ddclientihre Repositorys.

Hier eine Beispiel- ddclientKonfigurationsdatei für Updates (von DNSdynamic, die für andere Anbieter jedoch sehr ähnlich ist):

daemon=60 # check every 60 seconds syslog=yes # log update msgs to syslog mail=root # mail all msgs to root mail-failure=root # mail failed update msgs to root pid=/var/run/ddclient.pid # record PID in file. ssl=yes # use ssl-support. Works with # ssl-library  use=web, web=myip.dnsdynamic.com # get ip from server. server=www.dnsdynamic.org # default server login=user@gmail.com # default login password=password # default password server=www.dnsdynamic.org, \ protocol=dyndns2 \ awesome.dnsdynamic.com 
Danke für deine Antwort! Ich frage mich nur, was passiert, wenn ich keinen Internetzugang von ** A **, ** B **, ** C ** habe? Ye Li vor 5 Jahren 0
Wie ist dieses Netzwerk konfiguriert? Ich nahm an, dass die Hosts im Internet waren, da es sehr ungewöhnlich ist, NAT auf einem anderen Host als einem Host mit Internetverbindung zu sehen. ErikF vor 5 Jahren 1
Dies ist ein Campus-Netzwerk. ** A **, ** B **, ** C ** sind lokale Knoten, die nicht mit dem Internet verbunden sein dürfen. Der Router und die Knoten hinter dem Router können jedoch auf das Internet zugreifen. Ye Li vor 5 Jahren 0