V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
fengchen0vr
V2EX  ›  Linux

自建 NAS,系统是 debian,共享文件服务用 smb 好还是 nfs 好

  •  
  •   fengchen0vr · 2022-06-08 09:50:06 +08:00 · 6550 次点击
    这是一个创建于 890 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,win10 需读写 NAS 中文件,android 电视需读取 nas 中的电影

    第 1 条附言  ·  2022-06-10 12:48:01 +08:00
    smb 和 nfs 都部署上了

    说下分别遇到的坑:
    smb: LTSC2021 “你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问”,
    HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters “AllowInsecureGuestAuth”=dword:1
    \HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation ,将 AllowInsecureGuestAuth 设置为 1

    nfs: kodi 添加网络源后进不去共享目录
    在 nfs 配置文件里加了个 insecure 参数(即允许使用大于 1024 的端口号连接 NFS)
    37 条回复    2022-11-04 18:05:19 +08:00
    wsgfz000
        1
    wsgfz000  
       2022-06-08 09:53:08 +08:00
    可以都有
    vonsy
        2
    vonsy  
       2022-06-08 09:55:44 +08:00
    windows,macos 用 samba,
    linux 用 nfs
    android 用 samba,nfs 都行.
    两个都开,不冲突.
    jyeeren
        3
    jyeeren  
       2022-06-08 09:59:11 +08:00
    当然是选择都开
    idealhs
        4
    idealhs  
       2022-06-08 10:01:13 +08:00
    FYI, SMB 可以做基于用户的权限管理
    MX123
        5
    MX123  
       2022-06-08 10:01:57 +08:00
    AFP
    pxiphx891
        6
    pxiphx891  
       2022-06-08 10:08:34 +08:00
    smb 好
    zhangdszq
        7
    zhangdszq  
       2022-06-08 10:18:08 +08:00 via iPhone
    nfs ,smb 我这边测不稳定
    zachgenius
        8
    zachgenius  
       2022-06-08 10:31:41 +08:00
    不冲突
    davidyin
        9
    davidyin  
       2022-06-08 10:32:17 +08:00 via Android
    nfs 速度快?
    loveyu
        10
    loveyu  
       2022-06-08 10:45:52 +08:00
    webdav http
    TerranceL
        11
    TerranceL  
       2022-06-08 10:46:32 +08:00
    NFS 权限管理不方便,目前自用 smb 和 webdav
    libook
        12
    libook  
       2022-06-08 10:48:17 +08:00
    全都要。

    SMB 、NFS 、SFTP 、FTP 、DLNA 、Rsync 、SSH 。

    NFS 没有账号认证体系,适合服务器之间连接,配置 IP 白名单来确保安全。
    用啥协议取决于客户端支持啥,在支持的协议之中选择速度最快、最符合特性要求的。
    yaoyao1128
        13
    yaoyao1128  
       2022-06-08 10:58:10 +08:00 via iPhone
    windows 连接的话 smb 不过有时候配置文件需要设置版本什么的
    电视个人觉得 smb 也会相对方便一些
    如果有 linux 的话,直接挂载 nfs 会方便些
    Darnix
        14
    Darnix  
       2022-06-08 11:16:01 +08:00
    建议都上,用 Debian 了可以看看 OpenMediaVault ; SMB 、NFS 、FTP 都可以配置一起用,Android 电视用 SMB 看原盘可能偶尔会卡顿,用 FTP 基本没问题。
    evan6
        15
    evan6  
       2022-06-08 11:50:48 +08:00
    我是全开了。不冲突
    Y29tL2gwd2Fy
        16
    Y29tL2gwd2Fy  
       2022-06-08 11:58:38 +08:00 via Android
    我全都要
    Eleutherios
        17
    Eleutherios  
       2022-06-08 12:06:14 +08:00 via iPhone
    ftp 最好用 信我
    liberize
        18
    liberize  
       2022-06-08 12:07:45 +08:00 via Android
    windows 连 nfs 中文文件名会乱码
    missdeer
        19
    missdeer  
       2022-06-08 12:32:45 +08:00
    smb 性能差兼容性差,如果自己会折腾,再加个 webdav
    fengchen0vr
        20
    fengchen0vr  
    OP
       2022-06-08 13:06:12 +08:00 via iPhone
    @TerranceL
    @missdeer
    webdav 有什么好用的挂载工具吗,以前用过一个有广告
    qping
        21
    qping  
       2022-06-08 13:16:29 +08:00
    群晖上都用了
    jiayouniu
        22
    jiayouniu  
       2022-06-08 13:24:01 +08:00 via iPhone
    看电影建议 ftp 或者 webdav
    documentzhangx66
        23
    documentzhangx66  
       2022-06-08 13:25:53 +08:00   ❤️ 1
    Windows 的 SMB 有一个坑,那就是只允许内网 IP 段连接。

    内网 IP 段指:
    ->10.0.0.0/8 (255.0.0.0) [10.0.0.0 - 10.255.255.255]
    ----可用地址数量:16777214
    ----掩码:255.0.0.0
    ----IP 地址起止:10.0.0.1 - 10.255.255.254

    ->127.0.0.0/8
    ----可用地址数量:16777214
    ----掩码:255.0.0.0
    ----IP 地址起止:127.0.0.1 - 127.255.255.254

    ->172.16.0.0/12 (255.240.0.0) [172.16.0.0 - 172.31.255.255]
    ----可用地址数量:65534 * 16 = 1048544
    ----掩码:255.255.0.0
    ----IP 地址起止:172.16.0.1 - 172.31.255.254

    ->192.168.0.0/16 (255.255.0.0) [192.168.0.0 - 192.168.255.255]
    ----可用地址数量:65534
    ----掩码:255.255.0.0
    ----IP 地址起止:192.168.0.1 - 192.168.255.254

    如果两个服务器的 IP ,都不是内网 IP ;或者一个是内网 IP ,另一个是公网 IP ,那么 SMB 就无法直连。虽然可以用虚拟局域网,但麻烦。

    不过,SMB 的速度是真牛逼,我在 Windows Server 2019 + 31 元的 CPU Q9300 45nm/4C4T/2.5GHz/6MB/1333MHz/95W/LGA775/71.4°C/VT-x/VT-d + 8G DDR2 内存上,跑满了 1G 带宽。
    Donahue
        24
    Donahue  
       2022-06-08 13:36:58 +08:00
    全都要~

    我目前在用 smb, 没有什么问题
    lazywen
        25
    lazywen  
       2022-06-08 13:37:23 +08:00 via Android
    当然是全开,另外 android 访问的话最好 nfs ,smb 在安卓上性能太差
    TerranceL
        26
    TerranceL  
       2022-06-08 17:44:13 +08:00
    @fengchen0vr win10 直接用系统的(不过之前有段时间不知道是哪里的 bug 文本文件不能修改),然后 kodi 就直接挂了。客户端确实要么收费要么广告
    fengchen0vr
        27
    fengchen0vr  
    OP
       2022-06-08 18:33:07 +08:00
    @TerranceL aliyun 用了这个 webdav ,以前测试用 win10 系统的文件管理器挂载 webdav 容易卡死
    lurenjiaMAX
        28
    lurenjiaMAX  
       2022-06-08 19:54:29 +08:00 via Android
    如果只考虑性能的话...可以看看这个
    https://blog.ja-ke.tech/2019/08/27/nas-performance-sshfs-nfs-smb.html
    cnbatch
        29
    cnbatch  
       2022-06-08 20:14:41 +08:00   ❤️ 3
    @documentzhangx66 其实公网 IP 也能连,只不过需要在“高级安全 Windows Defender 防火墙”里面放行(文件和打印机共享)。

    入站规则的“文件和打印机共享(SMB-In)”(“配置文件”为“专用,公用”的那一行),打开后点击“作用域”,就可以看到“远程 IP 地址”限制为“本地子网”和三大内网 IP 段,这时候只需要选成“任何 IP 地址”就可以通行了。

    如果有必要,还可以把“文件和打印机共享(NB-Name)”、“文件和打印机共享(NB-Session)”都同样设置一下。


    然后还有一个情况会导致以上设置无效,部分运营商会屏蔽 445 端口(这下就不止屏蔽 80 和 443 端口):
    https://www.zhihu.com/question/41426264/answer/2389779158
    这种情况下,无论怎么设置都无法通过公网去访问
    cnbatch
        30
    cnbatch  
       2022-06-08 20:37:25 +08:00
    小补充:
    SMB 通道两侧的机器里的“出站规则”中,跟入站规则同名的设置项也可以设成“任意 IP 地址”,应该可以更好地提高连通率(针对一边公网 IP 另一边私网 IP 且中间没有端口屏蔽)
    documentzhangx66
        31
    documentzhangx66  
       2022-06-08 22:59:31 +08:00
    @cnbatch 公网连不了。我直接把防火墙关了都没用。两台都是 Windows Server 2019 ,且能互相 ping 通。

    微软的建议也是这样,说因为公网不安全,不让 smb 在公网通信,如果要用 smb 建议走 vpn 。
    cnbatch
        32
    cnbatch  
       2022-06-09 01:46:53 +08:00
    @documentzhangx66 那大概率是 SMB 相关端口(比如 445 )被中间某个运营商屏蔽了

    我在 Azure 美区开了台 Win10 机器测试了下,发现是可以直连的,我家里的 Windows 7 机器试了下可以连过去(家里用电信宽带)
    https://telegra.ph/%E5%85%AC%E7%BD%91Windows-10%E5%BC%80%E5%90%AFSMB-06-08

    除了各种文件操作反应相对比较慢,但确实能连得上,包括远端创建了文件夹也能反映出来
    也许香港节点的表现会更好,毕竟近得多了。但鉴于费用原因我没进一步试验……

    在这个过程中我顺便试了下用 Vultr 创建虚拟机连过去试验,发现连接不上,事后一查 Vultr 文档,发现果然屏蔽了 SMB 的端口
    https://www.vultr.com/docs/what-ports-are-blocked/
    而且是双向屏蔽

    我家报装的电信网络是单方面屏蔽 SMB 端口,路由器上开 iperf3 监听 445 端口,外面怎么连都连不上,换成监听 442 一点问题都没有,很顺畅。连接别人的 SMB 端口一切正常,只要对方运营商没屏蔽的话。
    cnbatch
        33
    cnbatch  
       2022-06-09 01:58:40 +08:00
    @cnbatch Vultr 自己说是 outbound ports 屏蔽,但实测下来表现为双向,估计他们的做法是,这几个端口的出站包全都一律丢掉,于是无论主动发起还是被动连接,这条连接都无法建立起来。
    12101111
        34
    12101111  
       2022-06-09 16:26:52 +08:00
    nfs 还是服务器用比较好, Windows 和 Android 这种用 SMB 支持的范围更广
    documentzhangx66
        35
    documentzhangx66  
       2022-06-09 17:08:38 +08:00
    @cnbatch 谢谢。

    我问了,445 被深信服防火墙给禁了。
    cy18
        36
    cy18  
       2022-11-04 12:46:57 +08:00
    @libook 借个楼问问,有没有啥现成的 docker 镜像,docker-compose 配置文件之类的,一次部署这些东西的?最好账号管理都能够共通的,用起来方便。
    libook
        37
    libook  
       2022-11-04 18:05:19 +08:00
    @cy18 #36 很多 NAS 专用系统都可以。比如 OpenmediaVault ,基本就是用 Linux 账号体系来管理的,所以各应用间通用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1445 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:34 · PVG 01:34 · LAX 09:34 · JFK 12:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.