Как открыть общий доступ к папке на компьютере за маршрутизатором для узлов за пределами маршрутизатора?

444
Ye Li

Я хочу поделиться папкой на компьютере X с несколькими другими узлами, скажем, A, B, C, которые находятся в той же локальной сети. X находится за маршрутизатором, и IP-адрес маршрутизатора может со временем меняться (он назначается DHCP), и я не могу это контролировать., В, С каждый из них имеет статический IP - адрес, и я могу свистеть, B, C из X . Все узлы работают под управлением Linux. Какова лучшая практика, если я хочу поделиться папками на X с A, B, C ?

Я знал, что один подход работает в какой - то степени, что для настройки NAT на маршрутизаторе к порту 22 X, а затем использовать SSHFS на A, B, C, чтобы установить папку X . Однако недостатком является то, что IP-адрес маршрутизатора может измениться.

Я также пытался использовать реверс ssh + sshfs. Однако, похоже, что это может предоставить общий доступ к папке только одному узлу, например X -> A, а не всей сети ( A, B, C ).

0
«общий доступ к папке» - это терминология Windows, которая обычно применяется к SMB / CIFS (Samba в Linux), который по умолчанию не пересекается с маршрутизаторами, если вы не настроили для него маршрутизаторы (не уверены, что у вас есть доступ к этому маршрутизатору). Существуют различные другие доступные сетевые файловые системы. Если A, B, C имеют статические адреса, я бы попробовал NFS (которую нужно настроить на всех машинах). sshfs работает только между двумя машинами. dirkt 5 лет назад 0

1 ответ на вопрос

0
ErikF

Самый простой способ - вообще не использовать IP-адреса и использовать запись DDNS (динамический DNS) для сервера. Существует множество бесплатных служб DDNS: некоторые из них бесплатны (например, DNSdynamic ); другие, за которые вы можете заплатить, если вам нужны дополнительные функции (например, No-IP ). Чтобы сохранить запись DDNS действительной, вы затем запускаете такую ​​программу, ddclientкоторая периодически проверяет IP-адрес маршрутизатора и при необходимости отправляет запрос на обновление поставщику; большинство провайдеров разрешают dyndns2протокол для обновлений. Большинство дистрибутивов Linux содержат ddclientсвои репозитории.

Вот пример ddclientфайла конфигурации обновления (из DNSdynamic, но он будет очень похож на другие провайдеры):

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 
Спасибо за ваш ответ! Мне просто интересно, что если у меня нет доступа к Интернету из ** A **, ** B **, ** C **? Ye Li 5 лет назад 0
Какова конфигурация этой сети? Я предположил, что хосты были в Интернете, потому что очень необычно видеть, что NAT используется на чем-то кроме хоста, выходящего в Интернет. ErikF 5 лет назад 1
Это сеть кампуса. ** A **, ** B **, ** C ** - это локальные узлы, которым запрещено подключаться к Интернету. Маршрутизатор и узлы за маршрутизатором могут иметь доступ к Интернету. Ye Li 5 лет назад 0

Похожие вопросы