宿主机是 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 1
@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
|