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
1
wtks1 2021-08-11 09:54:18 +08:00 via Android
我这个是可以被 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 |
3
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 大佬帮忙 |
4
jasonyang9 2021-08-11 10:19:50 +08:00
另外`wins support = yes`的语义是让`nmbd`充当 WINS 服务器,去掉试试。
|
5
stille OP @jasonyang9 testparm -v | grep workgroup 显示出来 SAMBA ,我修改为 WORKGROUP 也能显示出来.
刚才看了 nmb 的端口 137 138 貌似没有...估摸着还是和 nmb 有关系吧.. ![202108111020340tbqlg]( https://i.ioiox.com/2021/08/11/202108111020340tbqlg.jpg) |
6
stille OP 刚才试了试还是设置 workgroup = WORKGROUP
两台 Windows,一台无法显示,另外一台添加了 SMB 1.0 CIFS 支持.就能看到了. 但是目前还没测试 macOS |
7
jasonyang9 2021-08-11 16:37:59 +08:00
|
8
stille OP @jasonyang9 #7 但是奇怪的是 smb 明明是 4.x 为什么需要 windows 开启 1.0 支持……而且目前服务端也没修改什么,macOS 肯定还是无法发现,
|