内网Windows挂载目录到公网服务器

工程目的

最近在研究图像生成,Stable Diffusion的各种模型尤其3.5以后大的飞起来,动不动五六十G,以往上传到服务器费时费力占带宽又占存储空间,更关键的是用学校服务器只能校园网才能上,上传传个半天第二天来一看发现断联错误了,这时候模型重传又可能最后跑起来不完整,就想有没有一种方法能让服务器访问本地模型文件,但是代码又要用服务器的设备来跑呢?

首先参考了linux挂载远程目录,得知可以把Windows上的文件挂载到服务器上,但是照着操作了一同发现挂不上去。怀疑是网络问题,发现服务器ping主机就ping不通,这时候看了一下两台机器IP,本机是192.168的私有地址,服务器是202开头的公网IP,我们知道只能私网主动访问公网,公网设备不能主动访问私有地址,挂载等所有后续操作都是建立在二者能平等通信的基础上,所以该问题的解决应该分为两步:

1,内网穿透,让二者能平等通信。

2,实现文件目录挂载。

内网穿透

内网穿透其实就是为了解决计算机网络私有地址不能被外部用户访问的问题,要解决该问题其实很简单,有个有公网IP的中间者作转发就行了,二者要访问的数据通过该中间者传递,所以肯定是会有第三方提供该服务,比如远程连接,操作信息应该是用户发到平台,平台再予以转发的,所以这应该是一个相当成熟的技术,实现的具体手段也多种多样。

私有ip的目录怎么挂到公网IP的服务器上,AI时代确实给研究提速了,混元模型也挺好用,它给出的方案如下:

尝试的是ZeroTier,官网在此,进入下载界面,分别下载Windows版和Linux版,

linux使用curl -s https://install.zerotier.com | sudo bash自动完成下载及安装,

使用bing、微软或github登陆后,可见创建网络页面:

点击创建网络后可见网络页面,该网络id用于设备的加入:

windows版安装完没有窗口界面,在任务栏图标右键可见join new network选项,点击后可见该提示框:

在该提示框中输入上面的网络id即可完成加入,Linux使用sudo zerotier-cli join 网络id即可完成加入,加入后在管理界面给予授权即可获得私有IP:

此时两台机器可以通过私有IP互相ping通,说明局域网已成。

文件目录挂载

前面折腾了半天,看了什么sshfs方法,不一定不好用,但是我照着操作之后报了暂时没法解决的错误,到最后其实只要一句话就能解决sudo mount -t cifs -o username="",password="" //ip/model文件目录 挂载目录,有关参数详细解释可见访问共享文件夹的两种方法。

一条命令就把本地二百G的模型目录挂到服务器上了:

该方案能实现要有前提,Windows中开启共享 ,并给everyone用户添加读取权限,如图:

此时在共享属性内有链接可直接到浏览器中访问,相同局域网下的用户也能访问。

总结

挂载上以后发现模型能跑,但是速度真的很 慢:

说是预计六分钟,但是十分钟了还没动,如果在本地跑的话也就一分钟不到,实现以后回过头一想这个方案还是不行。以前受限于网络环境不好上传模型,现在直接调用模型不还是得被网络环境限制吗?现在一加载个模型直接把校园网干满了,而且速度这么慢会不会导致模型加载的其他问题。

总之就成果来看这是一次失败的尝试,并没有解决模型不方便的问题,但是就过程来看,本次思考和探究过程基本是很连贯的,虽然最后失败了但是也是一次积极的尝试,同时也了解了内网穿透和Linux的相关知识,还是有所收获的。

相关推荐
csdn_aspnet11 分钟前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
爱和冰阔落2 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall4 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
无奈笑天下13 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
火云代理16 小时前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip
威嵌神州17 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__18 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo18 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
火云代理20 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖21 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习