smb 服务使用的是哪个端口, docker 有办法通过端口映射的方式暴露服务吗?

2023-02-03 17:20:51 +08:00
 LeeReamond

宿主机是 windows ,需要实现局域网内各种主机到 NAS 的文件共享。

windows 本身是有共享系统的,而且做的还不错,优点是权限管理粒度很细,但缺点是双方电脑都要经过比较复杂设置,开放很多权限,否则连不上。目前在用的 linux 的 smb 方案的缺点是粒度不够细,优点则是任意一台电脑不需要经过复杂配置,直接输入网络位置和密码就能访问。我目前倾向于使用 smb ,win 的每台机器都要设置的话太麻烦了。

一个想法是宿主机是 windows ,并且想使用 smb 的话,能否通过 docker desktop ,挂载一个本地硬盘,并且在 docker 里暴露服务到主机端口,这样达到类似运行了一个 linux 物理机的效果?因为查了查,docker 的桥接模式跟普通意义上的网络桥接好像不太一样,没办法连接到路由器并获取一个内网都能访问到的 IP 位置。

2259 次点击
所在节点    程序员
21 条回复
leoQaQ
2023-02-03 17:27:59 +08:00
smb 有个默认端口,忘了,注册表可以改,具体 Google 一下;
不建议使用默认端口,风险太大。
ppyzzz
2023-02-03 17:28:42 +08:00
445
LeeReamond
2023-02-03 17:48:57 +08:00
@leoQaQ
@ppyzzz 主要不是很理解这种服务的原理。。毕竟它不是个 http 服务,不是很懂是不是把 445 转接出来就能实现代理了。。

另外安全性问题,既然是在家庭路由内网里使用,还有密码保护,应该还好吧
f5c4ebc2
2023-02-03 18:22:51 +08:00
其实只需要知道 SMB 服务默认暴露 445 端口,不需要了解原理就能通过 docker 的端口映射来使用服务了。SMB 虽然不是 HTTP 服务,但本质上也是基于 TCP 协议和对应的 IP:port
f5c4ebc2
2023-02-03 18:23:59 +08:00
通信的,所以只要能访问这个 socket 就能使用服务。
webcape233
2023-02-03 20:13:27 +08:00
samba 的 linux 上性能比 win 上差的老远了。
LeeReamond
2023-02-03 20:14:23 +08:00
@f5c4ebc2 试了试无法绑定,提示端口已占用,比较符合之前潜意识里感觉不行。而且试了试 docker desktop 的内存占用挺坑的,完全没有省的特征,还不如 hv 直接开个虚拟机
LeeReamond
2023-02-03 20:15:50 +08:00
@webcape233 我试了试,hv 走虚拟网卡的话大概顺序读写是 500/500MBPS,其实还可以了,机械硬盘读写都能跑满,我没啥不满意的
webcape233
2023-02-03 20:23:14 +08:00
win 共享不是很简单呢,共享出去就行了,在 server 端管理用户,client 端登录即可。
f5c4ebc2
2023-02-03 21:47:41 +08:00
@LeeReamond #7 端口已占用可能是因为宿主机 445 端口上已经跑了其他服务了(例如 Windows 自身的 SMB ),和 Docker 本身无关,可以使用一个非默认端口来解决; Docker Desktop 资源占用的确比较大。
czwstc
2023-02-03 21:49:49 +08:00
听说过永恒之蓝吗?
kenvix
2023-02-03 22:07:01 +08:00
@webcape233 你要高性能实现的话是 ksmbd
beijiaoff
2023-02-03 22:09:43 +08:00
不用担心勒索病毒,lz 这是局域网内部。
话说我没理解你需求,你局域网的 windows 直接提供 smb 服务就完事了呀,为什么还要牵扯 docker 等?
windows 共享后,其他客户端也是不需要复杂配置,直接输入网络位置和密码就能访问的。
LeeReamond
2023-02-03 23:06:20 +08:00
@beijiaoff 我个人使用经验是(系统是企业版 win10 ),如果使用 win 自己的共享的话,需要进共享中心,把所有网络发现都打开,然后密码和相关要求选项全都取消,c 和 s 全都要这么调才能连上,s 端额外还需要对文件夹进行一些共享和高级共享设置,这个不提。linux 的体验是新的 windows 不用调共享设置,直接添加网络位置并输入密码就可以访问
opengps
2023-02-03 23:16:36 +08:00
没记错的话,运营商默认封 445 端口了
LisaSue
2023-02-03 23:16:36 +08:00
@LeeReamond win+r \\+ip 地址就好了啊,哪有那么复杂
onikage
2023-02-03 23:55:45 +08:00
性能比起直连差的比较多,我的 2.5 寸 cmr 笔记本硬盘共享出来千兆跑不满.
LeeReamond
2023-02-04 05:11:25 +08:00
@LisaSue 有的机器能访问有的机器不能访问。

[Window Title]
网络错误

[Main Instruction]
Windows 无法访问 \\DESKTOP-115TIM8\Sunny

[Content]
你没有权限访问 \\DESKTOP-115TIM8\Sunny 。请与网络管理员联系请求访问权限。

有关权限的详细信息,请参阅 Windows 帮助和支持

[关闭(C)]
tree2525
2023-02-04 12:18:33 +08:00
在用 linux 的 smb ,多用户权限也很好用啊,还有共享文件的回收站,详细的日志;
beijiaoff
2023-02-04 16:40:50 +08:00
@LeeReamond 有的访问不了这个的确是常见的问题……给我的感觉就是 smb 鲁棒性很差。不如在 windows 上开一个第三方的 webdav 服务,我用过一阵 Cute Http File Server(chfs ,一个很简单独立 exe 文件打开即用)感觉就很稳定。说到 webdav ,windows 本身也可以挂载,但是也是有参数限制,否则就访问不了。win 做网络服务真让人觉得是个半成品。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/912956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX