别让你的云盘在“云端”流浪了! 想象一下:你的阿里云盘、百度网盘、还有那个不太合群的夸克网盘,它们就像散落在不同星球的数据孤岛,每次想找点东西都得打开网页挨个登陆,下载个大文件还得让主力电脑“熬夜加班”守着,烦不烦?

今天,就教你一招“乾坤大挪移”,把你的NAS变成宇宙中心!

本文将使用两个宝藏工具:部署Alist服务以集中纳管您的多个网盘账户,并通过Rclone将Alist提供的WebDAV服务稳定挂载为NAS系统本地的文件夹,实现云盘资源的“本地化”访问。更进一步,我们将把这个由Rclone挂载、实质指向云盘的NAS本地文件夹,通过SMB协议轻松共享映射到自己的电脑上,最终让你在熟悉的Windows资源管理器中,和操作本地硬盘一样无缝读写和管理云端文件,彻底告别多平台切换的烦恼,享受集中化、自动化且不依赖主力电脑长时间运行的云资源访问体验。

想知道怎么操作?这篇保姆级攻略,手把手带你玩转!

部署教程

  • 实现功能:Docker部署Alist聚合网盘工具,添加各种网盘,将Alist根目录挂载到NAS文件夹上,如同本地存储文件夹,且支持SMB挂载到Windows等系统,云盘秒变本地磁盘!

安装Alist

  1. 采用Docker Compose方式部署,通用教程。

  2. 演示以在飞牛NAS系统上安装为例
    (其他系统请自行安装好最新版本Docker、Docker Compose)

  3. 打开飞牛的SSH功能,使用终端软件进行连接,并切换到root状态下。
    fnOS open SSH.png

  4. 新建一个项目文件夹>右键>详细信息>常规>复制原始路径

  5. 在终端内执行命令进入项目文件夹(你想将容器数据存储到哪就进哪个文件夹)
    (其他NAS系统的可直接看下一步,手动创建一个文件夹再右键文件夹查看属性,复制文件夹路径进入。)

    # 将/vol1/1000/alist换成你自己的文件夹路径
    
    cd /vol1/1000/alist
    Bash
  6. 创建项目子文件夹

    mkdir data
    Bash
  7. 编辑docker-compose.yml模板文件

    vi docker-compose.yml
    Undefined
  8. 按字母i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。

    (排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)

    version: '3.3'  # 使用 Docker Compose 文件格式版本 3.3
    
    services:
      alist:  # 定义服务名称为 alist
        image: 'xhofe/alist:latest-aio'  # 使用 Alist 的最新 all-in-one 镜像
        container_name: alist  # 容器名称设为 alist,方便管理
    
        volumes:
          - './data:/opt/alist/data'  # 将宿主机当前目录下的 data 目录挂载到容器内 /opt/alist/data,用于保存配置和数据,可将./data改成完整的文件夹路径。
    
        ports:
          - '5244:5244'  # 将宿主机的 5244 端口映射到容器的 5244 端口,用于访问 Web 界面和 WebDAV 服务。左侧的5244可按需更改。
    
        environment:
          - PUID=0       # 设置容器内运行进程的用户 ID,0 表示 root 用户(不建议生产环境使用)
          - PGID=0       # 设置容器内运行进程的用户组 ID,0 表示 root 组
          - UMASK=022    # 文件默认权限掩码,022 表示新建文件权限为 755(可读可执行)
    
        restart: always  # 如果容器未被人为停止,则自动重启(如系统重启后自动恢复运行)
    YAML
  9. 查看当前项目文件夹路径

    pwd
    Bash
  10. 授权该项目文件夹内的读写权限(部分NAS系统需要【如群晖】,否则容器无读写权限访问运行,按需执行。)

    # 将/vol1/1000/alist/换成自己的实际文件夹路径
    
    chmod -R 777 /vol1/1000/alist/
    Bash
  11. 执行命令,启动docker-compose模板文件,拉取镜像并创建容器。

    docker compose up -d
    
    或
    
    docker-compose up -d
    Undefined
  12. 查看正在运行的项目容器

    docker compose ps
    
    或
    
    docker-compose ps
    Undefined
  13. 查看正在运行的项目容器实时日志,按Ctrl+C中断查看。

    docker compose logs -f
    
    或
    
    docker-compose logs -f
    Undefined

设置Alist

  1. Alist 3.25.0以上版本将密码改成加密方式存储的hash值,无法直接反算出密码,如果忘记了密码只能通过重新 随机生成 或者 手动设置。

    # 随机生成一个密码
    docker exec -it alist ./alist admin random
    
    # 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码
    docker exec -it alist ./alist admin set NEW_PASSWORD
    
    # 例如设置密码为password
    docker exec -it alist ./alist admin set password
    Bash
  2. 打开浏览器,以NAS的IP+设置的端口号进行访问。
    以本机为例:http://192.168.2.155:5244
    使用你设置的账户密码登录,用户名默认:admin

  3. 点击管理

  4. 点击管理>用户>编辑(自己要修改管理员账户就现在一次性改好)

  5. 勾选Webdav读取Webdav管理,然后点击保存。

添加网盘存储到Alist

  1. 演示就只添加夸克网盘,其余的可稍后自行挂载。

  2. 点击存储>添加

  3. 选择夸克,挂载路径可自行填写,前面要加英文符号/

  4. 电脑打开夸克网盘网页地址,点击跳转并登录。

  5. 获取夸克的Cookie参数,浏览器当前页面打开开发者模式>网络>全部>随意一个找到带有Cookie参数的即可,把完整的Cookie值复制下来。

  6. 子文件夹ID进入文件夹后顶部地址栏获取目录ID,如果子目录越深目录ID在地址栏越靠后,想挂载哪个子目录就写那个子目录ID就可以。

  7. 将对应的参数填入下框,然后点击保存。

  8. 成功添加完成之后回到主页看一下

  9. 夸克网盘挂载成功

rclone挂载Alist到本地文件夹

  1. 使用脚本重新安装rclone官方完整版

    curl https://rclone.org/install.sh | sudo bash
    Bash
  2. 新建一个文件夹用于绑定Alist,文件夹名随意,位置随意。

    mkdir alist_rclone
    Bash
  3. 点击新建的文件夹,右键>详细信息>常规>复制原始路径,保存备用。

  4. 执行命令创建一个rclone配置

    rclone config
    Lua
  5. 下面记录一个完整的步骤

    root@fn:/vol1/1000/alist# rclone config    # ----创建一个rclone配置
    No remotes found, make a new one?
    n) New remote
    s) Set configuration password
    q) Quit config
    n/s/q> n    # ----输入n选择创建一个新的
    
    Enter name for new remote.
    name> alist_rclone    # ----输入rclone配置的名字,演示使用的是 alist_rclone
    
    Option Storage.
    Type of storage to configure.
    Choose a number from below, or type in your own value.
     1 / 1Fichier
       \ (fichier)
     2 / Akamai NetStorage
       \ (netstorage)
     3 / Alias for an existing remote
       \ (alias)
     4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, Ch                                                                                                                                       inaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS,                                                                                                                                        LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp,                                                                                                                                        Rclone, Scaleway, SeaweedFS, Selectel, StackPath, Storj, Synology, TencentCOS, Wasabi,                                                                                                                                        Qiniu and others
       \ (s3)
     5 / Backblaze B2
       \ (b2)
     6 / Better checksums for other remotes
       \ (hasher)
     7 / Box
       \ (box)
     8 / Cache a remote
       \ (cache)
     9 / Citrix Sharefile
       \ (sharefile)
    10 / Cloudinary
       \ (cloudinary)
    11 / Combine several remotes into one
       \ (combine)
    12 / Compress a remote
       \ (compress)
    13 / Dropbox
       \ (dropbox)
    14 / Encrypt/Decrypt a remote
       \ (crypt)
    15 / Enterprise File Fabric
       \ (filefabric)
    16 / FTP
       \ (ftp)
    17 / Files.com
       \ (filescom)
    18 / Gofile
       \ (gofile)
    19 / Google Cloud Storage (this is not Google Drive)
       \ (google cloud storage)
    20 / Google Drive
       \ (drive)
    21 / Google Photos
       \ (google photos)
    22 / HTTP
       \ (http)
    23 / Hadoop distributed file system
       \ (hdfs)
    24 / HiDrive
       \ (hidrive)
    25 / ImageKit.io
       \ (imagekit)
    26 / In memory object storage system.
       \ (memory)
    27 / Internet Archive
       \ (internetarchive)
    28 / Jottacloud
       \ (jottacloud)
    29 / Koofr, Digi Storage and other Koofr-compatible storage providers
       \ (koofr)
    30 / Linkbox
       \ (linkbox)
    31 / Local Disk
       \ (local)
    32 / Mail.ru Cloud
       \ (mailru)
    33 / Mega
       \ (mega)
    34 / Microsoft Azure Blob Storage
       \ (azureblob)
    35 / Microsoft Azure Files
       \ (azurefiles)
    36 / Microsoft OneDrive
       \ (onedrive)
    37 / OpenDrive
       \ (opendrive)
    38 / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
       \ (swift)
    39 / Oracle Cloud Infrastructure Object Storage
       \ (oracleobjectstorage)
    40 / Pcloud
       \ (pcloud)
    41 / PikPak
       \ (pikpak)
    42 / Pixeldrain Filesystem
       \ (pixeldrain)
    43 / Proton Drive
       \ (protondrive)
    44 / Put.io
       \ (putio)
    45 / QingCloud Object Storage
       \ (qingstor)
    46 / Quatrix by Maytech
       \ (quatrix)
    47 / SMB / CIFS
       \ (smb)
    48 / SSH/SFTP
       \ (sftp)
    49 / Sia Decentralized Cloud
       \ (sia)
    50 / Storj Decentralized Cloud Storage
       \ (storj)
    51 / Sugarsync
       \ (sugarsync)
    52 / Transparently chunk/split large files
       \ (chunker)
    53 / Uloz.to
       \ (ulozto)
    54 / Union merges the contents of several upstream fs
       \ (union)
    55 / Uptobox
       \ (uptobox)
    56 / WebDAV
       \ (webdav)
    57 / Yandex Disk
       \ (yandex)
    58 / Zoho
       \ (zoho)
    59 / iCloud Drive
       \ (iclouddrive)
    60 / premiumize.me
       \ (premiumizeme)
    61 / seafile
       \ (seafile)
    Storage> 56    # ----输入56,选择WebDAV方式传输文件
    
    Option url.
    URL of http host to connect to.
    E.g. https://example.com.
    Enter a value.
    url> http://localhost:5244/dav/    # ----输入Alist的WebDAV地址 http://localhost:5244/dav/ 或者 http://NAS的IP地址:5244/dav/
    
    Option vendor.
    Name of the WebDAV site/service/software you are using.
    Choose a number from below, or type in your own value.
    Press Enter to leave empty.
     1 / Fastmail Files
       \ (fastmail)
     2 / Nextcloud
       \ (nextcloud)
     3 / Owncloud
       \ (owncloud)
     4 / Sharepoint Online, authenticated by Microsoft account
       \ (sharepoint)
     5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises
       \ (sharepoint-ntlm)
     6 / rclone WebDAV server to serve a remote over HTTP via the WebDAV protocol
       \ (rclone)
     7 / Other site/service or software
       \ (other)
    vendor> 7    # ----选择7 其他服务类型
    
    Option user.
    User name.
    In case NTLM authentication is used, the username should be in the format 'Domain\User'                                                                                                                                       .
    Enter a value. Press Enter to leave empty.
    user> admin    # ----输入你的AList设置的管理员用户名
    
    Option pass.
    Password.
    Choose an alternative below. Press Enter for the default (n).
    y) Yes, type in my own password
    g) Generate random password
    n) No, leave this optional password blank (default)
    y/g/n> y    # ----输入y,选择输入自己的密码。
    Enter the password:
    password:    # ----输入你的AList设置的管理员密码(输入时不显示)
    Confirm the password:
    password:    # ----输入你的AList设置的管理员密码(输入时不显示)
    
    Option bearer_token.
    Bearer token instead of user/pass (e.g. a Macaroon).
    Enter a value. Press Enter to leave empty.
    bearer_token>    # ----直接回车键,跳过这个。
    
    Edit advanced config?
    y) Yes
    n) No (default)
    y/n> n    # ----输入n,不进入高级配置模式。
    
    Configuration complete.
    Options:
    - type: webdav
    - url: http://localhost:5244/dav/
    - vendor: other
    - user: admin
    - pass: *** ENCRYPTED ***
    Keep this "alist_rclone" remote?
    y) Yes this is OK (default)
    e) Edit this remote
    d) Delete this remote
    y/e/d> y    # ----输入y保留这个默认配置
    
    Current remotes:
    
    Name                 Type
    ====                 ====
    alist_rclone         webdav
    
    e) Edit existing remote
    n) New remote
    d) Delete remote
    r) Rename remote
    c) Copy remote
    s) Set configuration password
    q) Quit config
    e/n/d/r/c/s/q> q    # ----输入q,退出rclone配置。
    root@fn:/vol1/1000/alist# rclone mount alist_rclone:/ /vol1/1000/alist/alist_rclone   -                                                                                                                                       -vfs-cache-mode writes   --allow-other   --daemon
    root@fn:/vol1/1000/alist#
    PHP
  6. 执行命令,将Alist根路径挂载到飞牛NAS上指定的文件夹。

    # 格式如下
    # rclone mount rclone的配置文件名:/ NAS上的rclone文件夹路径 \
    
    rclone mount alist_rclone:/ /vol1/1000/alist/alist_rclone \
      --vfs-cache-mode writes \
      --allow-other \
      --daemon
    
    # 卸载掉rclone挂载的文件夹
    # 格式如下
    # umount -l NAS上的rclone文件夹路径
    
    umount -l /vol1/1000/alist/alist_rclone
    Bash
  7. 测试是否成功连接,如果显示网盘文件列表,就成功了,按Ctrl+C中断查看。

    # 格式如下
    # rclone ls rclone配置名称
    
    rclone ls alist_rclone
    Bash
  8. 回到飞牛NAS文件夹页面,可以看到已经将Alist的根目录rclone到文件夹内了。

  9. 如果要卸载掉rclone挂载的文件夹和删除rclone配置,看着一步。

    # 卸载掉挂载的文件夹
    # 格式如下
    # umount -l NAS上的rclone文件夹路径
    
    umount -l /vol1/1000/alist/alist_rclone
    Bash

设置开机自动挂载

  1. 默认情况下,rclone mount 挂载是临时的,不会在系统重启后自动恢复:

    它依赖的是当前的 shell 会话或后台进程。
    
    系统一旦重启,之前的挂载进程就会结束。
    
    所以如果你没有设置 systemd 启动服务 或其它开机自动运行机制,它就不会重新挂载。
    Undefined
  2. 在系统内创建一个脚本

    vi /etc/systemd/system/alist-rclone.service
    
    
    # 不用这个配置的时候就执行命令删除它(换成自己的脚本文件名)
    
    rm /etc/systemd/system/alist-rclone.service
    Bash
  3. 按字母i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。

    (排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)

    [Unit]
    Description=Mount alist_rclone via rclone    # 将alist_rclone换成自己rclone配置名
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=notify
    ExecStart=/usr/bin/rclone mount alist_rclone:/ /vol1/1000/alist/alist_rclone \    #将alist_rclone和/vol1/1000/alist/alist_rclone都改成你实际的,前面有写。
      --vfs-cache-mode writes \
      --allow-other
    ExecStop=/bin/fusermount -u /vol1/1000/alist/alist_rclone    # 将/vol1/1000/alist/alist_rclone改成你实际的文件夹路径
    Restart=always
    RestartSec=10
    
    [Install]
    WantedBy=default.target
    Makefile
  4. 保存并重新加载服务

    # 依次执行下面几条命令,记得把alist-rclone改成你自己的rclone配置名
    
    systemctl daemon-reexec
    
    systemctl daemon-reload
    
    systemctl restart alist-rclone
    Bash
  5. 查看运行状态

    # 依次执行下面的命令
    
    systemctl status alist-rclone
    
    ls /vol1/1000/alist/alist_rclone
    Bash
  6. 在Windows系统上挂载也是可以的,映射网络驱动器 / SMB访问均可,挂载到其他的可自行尝试,原理上均可成功。
    wechat_2025-06-03_100213_110.png

  7. 已经在飞牛NAS上物理机测试过了,直接在线更新系统后也可以正常开机自动挂载。

  8. 但不保证飞牛系统的稳定使用,毕竟飞牛系统的内部设置不停的修改。

  9. 就这一篇文章来来回回测试、修改、验证,就花了五六个小时。

  10. 原创文章,如在其他任何地方发现盗窃本篇内容的请直接举报

相关地址

文末

👇👇👇