如何将路由器后面的计算机上的文件夹共享给路由器外面的节点?

如何将路由器后面的计算机上的文件夹共享给路由器外面的节点?

我想在计算机上共享文件夹X到其他几个节点,比如AC,它们位于同一个局域网上。X位于路由器后面,并且路由器的 IP 地址可能会随着时间而改变(它是由 DHCP 分配的),我无法控制这一点。AC每个都有一个静态 IP 地址,我可以 pingACX。所有节点都运行 Linux。如果我想在XAC

我知道有一种方法在某种程度上是可行的,那就是在路由器上设置 NAT 到X,然后使用SSHFSAC挂载文件夹X. 但缺点是路由器的IP地址可能会改变。

我也尝试过使用反向 ssh + sshfs。但是,这似乎只能将文件夹共享到一个节点,例如X-->A,而不是整个网络(AC)。

答案1

最简单的方法是根本不使用 IP 地址,而是使用 DDNS(动态 DNS)条目作为服务器。有许多免费的 DDNS 服务可用:有些是免费的(例如DNS动态);如果您想要更多功能,可以付费购买其他功能(例如无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
[email protected]                    # default login
password=password                       # default password
server=www.dnsdynamic.org,  \
protocol=dyndns2            \
awesome.dnsdynamic.com

相关内容