CentOS 装 smb 无法在 macOS 和 Windows 里的网络里显示?

2021-08-11 09:35:31 +08:00
 stille

CentOS 7 装了 SMB 服务,简单配置后可以正常使用 IP 形式访问.

以上两种方式都可以连接成功输入用户密码使用.

但是无法在 macOS 和 Windows 的网络里自动被发现.例如群晖,Windows PC.甚至 OpenWrt 都能够这被自动发现,就是这个 CentOS 的 smb 无法被发现..

个人觉得应该是 workgroup 或者类似于网络发现之类的功能没开启,搜索了下国内外的一些问题,也尝试过很多都没有解决.

目前尝试过在 [global] 里修改 workgroup = WORKGROUP , 但是执行 testparm 回显却不显示这一行,那就表示这一行有问题..但是改为其他的例如 workgroup = SAMBA 却没问题.

实在没办法了,看看大家有没有遇到过解决过这个问题的..

相关参数,图片

nmbd 已开启

smb.conf

[global]
    security = user
    workgroup = WORKGROUP
    netbios name = CentOS
    passdb backend = tdbsam

testparm 回显

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	netbios name = CENTOS
	security = USER
	wins support = Yes
	idmap config * : backend = tdb

1459 次点击
所在节点    CentOS
9 条回复
wtks1
2021-08-11 09:54:18 +08:00
我这个是可以被 win 设备发现的,楼主可以做个参考

yum install samba samba-client samba-common -y
systemctl enable smb nmb
systemctl restart smb nmb
echo '[global]' > /etc/samba/smb.conf
echo 'workgroup = SAMBA' >> /etc/samba/smb.conf
echo 'security = user' >> /etc/samba/smb.conf
echo 'map to guest = bad user' >> /etc/samba/smb.conf
echo 'dns proxy = no' >> /etc/samba/smb.conf
echo 'netbios name = CENTOS7' >> /etc/samba/smb.conf
echo '[share]' >> /etc/samba/smb.conf
echo 'path = /home' >> /etc/samba/smb.conf
echo 'available = yes' >> /etc/samba/smb.conf
echo 'browseable = yes' >> /etc/samba/smb.conf
echo 'writable = yes' >> /etc/samba/smb.conf
echo 'guest ok = yes' >> /etc/samba/smb.conf
stille
2021-08-11 10:13:59 +08:00
@wtks1 试了下你的参数还是不行..
jasonyang9
2021-08-11 10:14:48 +08:00
`testparm`工具不回显你设定的`workgroup = WORKGROUP`可能是应为这是`workgroup`参数的默认值,用`testparm -v | grep 'workgroup`看看。

用 UNC 或 SMB URL 以 IP 方式能直接访问到 SMB 服务,指 TCP/445,表示 SMB over TCP (裸 TCP 传输)是正常的。

浏览其实是基于 NetBIOS over TCP/IP ( NBT )广播或 NBNS/WINS 的,你要看`nmbd`是否正常。它用的端口是 UDP/137/138

以上现学现卖,还请 Samba 大佬帮忙
jasonyang9
2021-08-11 10:19:50 +08:00
另外`wins support = yes`的语义是让`nmbd`充当 WINS 服务器,去掉试试。
stille
2021-08-11 10:20:50 +08:00
@jasonyang9 testparm -v | grep workgroup 显示出来 SAMBA ,我修改为 WORKGROUP 也能显示出来.

刚才看了 nmb 的端口 137 138 貌似没有...估摸着还是和 nmb 有关系吧..

![202108111020340tbqlg]( https://i.ioiox.com/2021/08/11/202108111020340tbqlg.jpg)
stille
2021-08-11 10:44:21 +08:00
刚才试了试还是设置 workgroup = WORKGROUP

两台 Windows,一台无法显示,另外一台添加了 SMB 1.0 CIFS 支持.就能看到了.

但是目前还没测试 macOS
jasonyang9
2021-08-11 16:37:59 +08:00
@stille

这样啊,完全不知道客户端对 SMB 版本的支持差异会影响到 NetBIOS 浏览。。。
stille
2021-08-11 16:52:34 +08:00
@jasonyang9 #7 但是奇怪的是 smb 明明是 4.x 为什么需要 windows 开启 1.0 支持……而且目前服务端也没修改什么,macOS 肯定还是无法发现,
stille
2021-08-11 17:03:06 +08:00

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

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

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

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

© 2021 V2EX