宿主机是 windows ,需要实现局域网内各种主机到 NAS 的文件共享。
windows 本身是有共享系统的,而且做的还不错,优点是权限管理粒度很细,但缺点是双方电脑都要经过比较复杂设置,开放很多权限,否则连不上。目前在用的 linux 的 smb 方案的缺点是粒度不够细,优点则是任意一台电脑不需要经过复杂配置,直接输入网络位置和密码就能访问。我目前倾向于使用 smb ,win 的每台机器都要设置的话太麻烦了。
一个想法是宿主机是 windows ,并且想使用 smb 的话,能否通过 docker desktop ,挂载一个本地硬盘,并且在 docker 里暴露服务到主机端口,这样达到类似运行了一个 linux 物理机的效果?因为查了查,docker 的桥接模式跟普通意义上的网络桥接好像不太一样,没办法连接到路由器并获取一个内网都能访问到的 IP 位置。
![]() | 1 leoQaQ 2023-02-03 17:27:59 +08:00 smb 有个默认端口,忘了,注册表可以改,具体 Google 一下; 不建议使用默认端口,风险太大。 |
![]() | 2 ppyzzz 2023-02-03 17:28:42 +08:00 445 |
![]() | 3 LeeReamond OP |
![]() | 4 f5c4ebc2 2023-02-03 18:22:51 +08:00 via Android 其实只需要知道 SMB 服务默认暴露 445 端口,不需要了解原理就能通过 docker 的端口映射来使用服务了。SMB 虽然不是 HTTP 服务,但本质上也是基于 TCP 协议和对应的 IP:port |
![]() | 5 f5c4ebc2 2023-02-03 18:23:59 +08:00 via Android 通信的,所以只要能访问这个 socket 就能使用服务。 |
![]() | 6 webcape233 2023-02-03 20:13:27 +08:00 via iPhone samba 的 linux 上性能比 win 上差的老远了。 |
![]() | 7 LeeReamond OP @f5c4ebc2 试了试无法绑定,提示端口已占用,比较符合之前潜意识里感觉不行。而且试了试 docker desktop 的内存占用挺坑的,完全没有省的特征,还不如 hv 直接开个虚拟机 |
![]() | 8 LeeReamond OP @webcape233 我试了试,hv 走虚拟网卡的话大概顺序读写是 500/500MBPS,其实还可以了,机械硬盘读写都能跑满,我没啥不满意的 |
![]() | 9 webcape233 2023-02-03 20:23:14 +08:00 via iPhone win 共享不是很简单呢,共享出去就行了,在 server 端管理用户,client 端登录即可。 |
![]() | 10 f5c4ebc2 2023-02-03 21:47:41 +08:00 @LeeReamond #7 端口已占用可能是因为宿主机 445 端口上已经跑了其他服务了(例如 Windows 自身的 SMB ),和 Docker 本身无关,可以使用一个非默认端口来解决; Docker Desktop 资源占用的确比较大。 |
![]() | 11 czwstc 2023-02-03 21:49:49 +08:00 听说过永恒之蓝吗? |
12 kenvix 2023-02-03 22:07:01 +08:00 via Android @webcape233 你要高性能实现的话是 ksmbd |
13 beijiaoff 2023-02-03 22:09:43 +08:00 不用担心勒索病毒,lz 这是局域网内部。 话说我没理解你需求,你局域网的 windows 直接提供 smb 服务就完事了呀,为什么还要牵扯 docker 等? windows 共享后,其他客户端也是不需要复杂配置,直接输入网络位置和密码就能访问的。 |
![]() | 14 LeeReamond OP @beijiaoff 我个人使用经验是(系统是企业版 win10 ),如果使用 win 自己的共享的话,需要进共享中心,把所有网络发现都打开,然后密码和相关要求选项全都取消,c 和 s 全都要这么调才能连上,s 端额外还需要对文件夹进行一些共享和高级共享设置,这个不提。linux 的体验是新的 windows 不用调共享设置,直接添加网络位置并输入密码就可以访问 |
![]() | 15 opengps 2023-02-03 23:16:36 +08:00 没记错的话,运营商默认封 445 端口了 |
![]() | 16 LisaSue 2023-02-03 23:16:36 +08:00 @LeeReamond win+r \\+ip 地址就好了啊,哪有那么复杂 |
17 onikage 2023-02-03 23:55:45 +08:00 性能比起直连差的比较多,我的 2.5 寸 cmr 笔记本硬盘共享出来千兆跑不满. |
![]() | 18 LeeReamond OP @LisaSue 有的机器能访问有的机器不能访问。 [Window Title] 网络错误 [Main Instruction] Windows 无法访问 \\DESKTOP-115TIM8\Sunny [Content] 你没有权限访问 \\DESKTOP-115TIM8\Sunny 。请与网络管理员联系请求访问权限。 有关权限的详细信息,请参阅 Windows 帮助和支持 [关闭(C)] |
19 tree2525 2023-02-04 12:18:33 +08:00 在用 linux 的 smb ,多用户权限也很好用啊,还有共享文件的回收站,详细的日志; |
20 beijiaoff 2023-02-04 16:40:50 +08:00 ![]() @LeeReamond 有的访问不了这个的确是常见的问题……给我的感觉就是 smb 鲁棒性很差。不如在 windows 上开一个第三方的 webdav 服务,我用过一阵 Cute Http File Server(chfs ,一个很简单独立 exe 文件打开即用)感觉就很稳定。说到 webdav ,windows 本身也可以挂载,但是也是有参数限制,否则就访问不了。win 做网络服务真让人觉得是个半成品。 |
![]() | 21 flexbug 2023-02-04 18:49:10 +08:00 via iPhone 你来这问不如问 chatgpt |