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

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

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

1 ответ1

0

Самый простой способ - вообще не использовать 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .