V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
stille
V2EX  ›  CentOS

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

  •  
  •   stille · 2021-08-11 09:35:31 +08:00 · 1638 次点击
    这是一个创建于 1235 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    • macOS Finder 连接服务器 输入 IP
    • Windows 资源库地址栏直接输入 \192.168.1.9\

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

    但是无法在 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
    

    20210811093006c8pk0f 20210811093007QjldUr

    9 条回复    2021-08-11 17:03:06 +08:00
    wtks1
        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
    stille
        2
    stille  
    OP
       2021-08-11 10:13:59 +08:00
    @wtks1 试了下你的参数还是不行..
    jasonyang9
        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 大佬帮忙
    jasonyang9
        4
    jasonyang9  
       2021-08-11 10:19:50 +08:00
    另外`wins support = yes`的语义是让`nmbd`充当 WINS 服务器,去掉试试。
    stille
        5
    stille  
    OP
       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
        6
    stille  
    OP
       2021-08-11 10:44:21 +08:00
    刚才试了试还是设置 workgroup = WORKGROUP

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

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

    这样啊,完全不知道客户端对 SMB 版本的支持差异会影响到 NetBIOS 浏览。。。
    stille
        8
    stille  
    OP
       2021-08-11 16:52:34 +08:00 via iPhone
    @jasonyang9 #7 但是奇怪的是 smb 明明是 4.x 为什么需要 windows 开启 1.0 支持……而且目前服务端也没修改什么,macOS 肯定还是无法发现,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.