使用Termux搭建NAS

在 Termux 上搭建一个轻量级的“NAS”是一个非常有趣且实用的项目。它可以将你的旧安卓手机或平板变身为一台便携的文件服务器。

重要提示:

  • 性能有限:与真正的NAS设备相比,手机的处理能力、存储空间和I/O性能都相对较弱,适合轻量级使用。
  • 稳定性:Termux 进程可能会被安卓系统的后台管理机制杀死,需要做好保活设置。
  • 存储限制:主要使用手机内部存储或SD卡,无法像专业NAS一样轻松扩展和做RAID。

以下是详细的搭建步骤,我们将实现两个核心功能:SSH远程访问Samba文件共享(方便局域网内电脑访问)


第一步:准备工作与环境配置

  1. 安装 Termux

  2. 更新系统
    打开 Termux,首先更新软件包列表和升级所有已安装的包。

    pkg update && pkg upgrade
  3. 请求存储权限
    为了访问手机上的文件,需要授予 Termux 存储权限。

    termux-setup-storage

    在弹出的对话框中点击“允许”。这会在你的家目录(~/)下创建一个 storage 文件夹,链接到你的手机存储。

  4. 安装必备软件
    我们将安装 SSH 服务、Samba 服务和一个文本编辑器。

    pkg install openssh samba nano

第二步:配置 SSH 服务(用于远程管理)

SSH 可以让你通过命令行在任何电脑上远程管理手机上的文件。

  1. 设置密码
    Termux 默认没有密码,首先为当前用户设置一个密码。

    passwd

    输入你想要设置的密码。

  2. 启动 SSH 服务

    sshd

    服务会监听在 8022 端口(这是Termux的默认端口,与系统的22端口区分开)。

  3. 查看手机IP地址
    在 Termux 中执行:

    ip addr

    找到 wlan0 部分,查看 inet 后面的地址,例如 192.168.1.105。这就是你手机的局域网IP。

  4. 从电脑连接
    打开你的电脑(Windows 可用 PowerShell 或 CMD,macOS/Linux 用终端),使用以下命令连接:

    ssh -p 8022 u0_aXXX@192.168.1.105
    • -p 8022: 指定端口号为 8022。
    • u0_aXXX: 这是你的 Termux 用户名(每次启动Termux时第一行显示的@符号前的就是用户名,例如 u0_a215)。
    • 192.168.1.105: 替换为你查到的手机IP。

    输入之前设置的密码,即可成功登录到手机的 Termux 环境。

(可选)设置开机自启动SSH:需要编写脚本并使用 termux-boot 包,过程稍复杂,可以先手动启动。


第三步:配置 Samba 服务(用于文件共享)

Samba 协议可以让你的手机像Windows网络邻居里的文件夹一样直接出现在电脑上,方便图形化操作文件。

  1. 创建 Samba 配置文件

    nano $PREFIX/etc/samba/smb.conf
  2. 编辑配置文件,将以下内容覆盖进去:

    [global]
       server role = standalone server
       map to guest = Bad User
       usershare allow guests = yes
    
    # 定义一个共享名,比如叫 “PhoneStorage”
    [PhoneStorage]
       # 共享的描述
       comment = My Phone's Internal Storage
       # 要共享的路径,这里共享整个手机存储
       path = /sdcard
       # 允许浏览
       browseable = yes
       # 允许写入
       writable = yes
       # 访问权限:guest代表匿名访问,无需密码
       guest ok = yes
       read only = no
       force user = root
    • 注意path = /sdcard 是共享整个存储。你也可以共享 Termux 的目录,例如 path = /data/data/com.termux/files/home/storage/shared
    • Ctrl+X,然后按 Y,最后按 Enter 保存并退出 nano。
  3. 启动 Samba 服务

    smbd

第四步:从电脑访问你的“NAS”

现在,你可以在同一局域网下的电脑上访问共享的文件了。

  • Windows

    1. 打开“文件资源管理器”。
    2. 在地址栏输入 \\192.168.1.105(将IP替换为你的手机IP)。
    3. 按回车,你应该能看到一个名为 PhoneStorage 的文件夹,打开即可访问手机里的文件。
  • macOS

    1. 在“访达(Finder)”中,菜单栏选择“前往” -> “连接服务器…”。
    2. 在服务器地址中输入 smb://192.168.1.105
    3. 点击“连接”,选择“访客”身份,连接即可。
  • Android/iOS
    可以使用如 “CX文件管理器”、“ES文件浏览器” 等App,支持连接Samba服务器。


第五步:保活与自动化(重要)

为了防止系统杀死 Termux 进程,你需要:

  1. 禁用电池优化
    在手机的“设置” -> “电池” -> “电池优化”中,找到 Termux 并选择“不优化”。

  2. 保持屏幕常亮/唤醒
    在 Termux 中,可以安装 termux-wake-lock 来阻止系统休眠。

    pkg install termux-api # 如果未安装
    termux-wake-lock
  3. 编写启动脚本(可选):
    创建一个文件 ~/start-nas.sh

    #!/bin/bash
    termux-wake-lock
    sshd
    smbd

    然后给它执行权限:chmod +x ~/start-nas.sh。以后只需要运行这个脚本即可启动所有服务。

总结与扩展

你现在已经拥有了一个具备基本文件共享功能的“NAS”。你可以在此基础上扩展:

  • 安装Syncthing:一个优秀的点对点文件同步工具,可以让你在手机和电脑之间自动同步文件。

    pkg install syncthing
    syncthing

    然后通过电脑浏览器访问 http://手机IP:8384 进行配置。

  • 安装Aria2:一个强大的命令行下载工具,可以离线下载文件到你的手机。

  • 安装Web服务器:如 nginxlighttpd,搭建一个简单的个人网站。

享受你的低成本、高可玩性的DIY NAS吧!


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

zh_CN简体中文