ARM Linux如何配置TFTP服务器?

安装TFTP服务

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
  2. 安装必要组件

    sudo apt install tftpd-hpa tftp-hpa -y  # tftpd-hpa是服务端,tftp-hpa是客户端

配置TFTP服务器

  1. 创建共享目录并授权

    sudo mkdir -p /srv/tftp
    sudo chmod 777 /srv/tftp  # 开放读写权限
  2. 修改配置文件
    编辑配置文件:

    sudo nano /etc/default/tftpd-hpa

    修改为以下内容:

    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/srv/tftp"  # 指定共享目录
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="--secure --create"  # 允许文件创建
  3. 重启服务生效

    sudo systemctl restart tftpd-hpa
    sudo systemctl enable tftpd-hpa  # 设置开机自启

防火墙设置(如启用)

sudo ufw allow 69/udp  # 开放UDP 69端口
sudo ufw reload

客户端测试传输

  1. 本地测试(服务端同机操作)

    echo "Hello TFTP" > /srv/tftp/test.txt  # 创建测试文件
    tftp localhost  # 连接本机服务
    tftp> get test.txt  # 下载文件
    tftp> put upload.txt  # 上传文件(需先创建)
    tftp> quit
  2. 跨设备测试(从另一台Linux设备)

    tftp <服务器IP>
    tftp> get test.txt

常见问题排查

  • 错误 “Access violation”
    检查目录权限:sudo chmod -R 777 /srv/tftp

  • 错误 “File not found”
    确认文件路径在/srv/tftp内,且文件名大小写匹配

  • 服务启动失败
    检查日志:journalctl -u tftpd-hpa -b

安全注意事项

  1. 仅限内网使用:TFTP无加密传输,避免在公网使用
  2. 最小权限原则:定期清理/srv/tftp无用文件
  3. IP白名单限制(高级):
    编辑/etc/default/tftpd-hpa,在TFTP_OPTIONS中添加:
    --address 192.168.1.100:69 # 限制监听IP

引用说明:本文配置基于Debian/Ubuntu ARM系统,参考官方文档TFTP-HPA及Linux Man Pages,其他发行版需调整包管理命令(如RPM系使用yum install tftp-server),测试设备为Raspberry Pi 4B(ARMv8)。

最终效果

  • 服务端运行状态:systemctl status tftpd-hpa 显示 active (running)
  • 传输验证:在/srv/tftp目录可见上传/下载的文件,客户端无报错即成功。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6409.html

(0)
酷番叔酷番叔
上一篇 2025年7月6日 07:46
下一篇 2025年7月6日 07:56

相关推荐

  • Linux下如何查看进程号?

    在Linux系统中,进程是程序执行的基本单位,每个进程都会被分配一个唯一的进程号(PID,Process ID),用于系统对进程的标识和管理,查看进程号是系统管理和故障排查中的基础操作,无论是终止异常进程、分析资源占用,还是调试程序,都需要先定位到目标进程的PID,本文将详细介绍Linux系统中查看进程号的多种……

    2025年9月24日
    1800
  • Linux系统如何开启FTP的21端口?

    在Linux系统中,21端口是FTP(File Transfer Protocol,文件传输协议)服务的默认端口,开启21端口通常意味着需要安装并配置FTP服务,同时确保防火墙允许该端口的流量访问,本文将以主流的FTP服务器软件vsftpd(Very Secure FTP Daemon)为例,详细说明在Linu……

    2025年10月4日
    1100
  • Linux如何彻底杀死僵尸进程?

    在Linux系统中,僵尸进程(Zombie Process)是指子进程已完成执行,但其父进程未通过wait()或waitpid()系统调用来回收其进程描述符(PCB,Process Control Block),导致子进程处于“已终止但未释放”的状态,这类进程不占用CPU资源,但会占用PID(进程ID),当系统……

    2025年9月30日
    1300
  • Linux如何创建线程池?关键步骤与实现方法是什么?

    线程池是多线程编程中一种高效管理线程资源的机制,通过预先创建一组工作线程并复用这些线程来处理多个任务,避免了频繁创建和销毁线程带来的性能开销,在Linux环境下,主要使用POSIX线程(pthread)库来实现线程池,其核心思想是将任务提交与执行解耦,通过任务队列连接工作线程和待处理任务,从而提高系统的并发处理……

    2025年9月25日
    1900
  • 如何在Linux下编写汇编代码?

    准备工作:安装必要工具安装汇编器和链接器使用GNU工具链(已预装于大多数Linux发行版):sudo apt install build-essential # Debian/Ubuntusudo dnf install gcc binutils # Fedora/CentOS验证安装:as –version……

    2025年7月30日
    4300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信