news 2026/5/1 2:52:33

linux下安装配置tftp服务器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux下安装配置tftp服务器

Linux 下安装与配置 TFTP 服务器教程(2026 年最新)

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种轻量级协议,使用 UDP 69 端口,主要用于局域网内小文件传输(如网络设备固件升级、PXE 网络启动)。它没有认证机制,安全性较低,强烈建议仅在局域网内使用,并结合防火墙限制访问。

以下教程覆盖主流发行版:Ubuntu/Debian(使用 tftpd-hpa)和CentOS/RHEL/Rocky/AlmaLinux(使用 tftp-server)。步骤亲测基于最新版本(Ubuntu 24.04、RHEL 9+)。

1. Ubuntu/Debian 系统(推荐 tftpd-hpa)

安装

sudoaptupdatesudoaptinstalltftpd-hpa# 服务器sudoaptinstalltftp-hpa# 客户端(可选,用于测试)

配置

  • 默认共享目录:/var/lib/tftpboot(或/srv/tftp
sudomkdir-p/var/lib/tftpbootsudochmod777/var/lib/tftpboot# 允许读写(生产环境慎用,建议 755)sudochown-Rtftp:tftp /var/lib/tftpboot# 所有者设为 tftp 用户
  • 编辑配置文件/etc/default/tftpd-hpa
sudonano/etc/default/tftpd-hpa

内容修改为(关键选项解释):

TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" # 共享目录 TFTP_ADDRESS=":69" # 监听端口 TFTP_OPTIONS="--secure --create -l -v" # --secure: 限制在目录内 # --create: 允许上传新文件 # -l: 独立模式,-v: 详细日志

启动与开机自启

sudosystemctl restart tftpd-hpasudosystemctlenabletftpd-hpasudosystemctl status tftpd-hpa# 检查运行状态
2. CentOS/RHEL/Rocky/AlmaLinux 系统

安装

sudodnf update# 或 yum update(旧版)sudodnfinstalltftp-server tftp# 服务器 + 客户端sudodnfinstallxinetd# 如果未安装(部分旧版需)

配置

  • 默认共享目录:/var/lib/tftpboot
sudomkdir-p/var/lib/tftpbootsudochmod755/var/lib/tftpbootsudochown-Rnobody:nobody /var/lib/tftpboot# 安全所有者
  • TFTP 通过 systemd socket 激活,或 xinetd(旧版)。
  • 修改 systemd 服务(推荐现代方式):
sudocp/usr/lib/systemd/system/tftp.service /etc/systemd/system/tftp-server.servicesudocp/usr/lib/systemd/system/tftp.socket /etc/systemd/system/tftp-server.socketsudonano/etc/systemd/system/tftp-server.service

修改 ExecStart 行:

ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot -c --secure # -s: chroot 到目录,-c: 允许创建文件,--secure: 安全模式
  • 重新加载:
sudosystemctl daemon-reload

启动与开机自启

sudosystemctl start tftp.socketsudosystemctlenabletftp.socket tftp.servicesudosystemctl status tftp# 检查
3. 防火墙配置(所有系统必做)

TFTP 使用 UDP 69 端口:

  • Ubuntu(ufw)
sudoufw allow69/udpsudoufw reload
  • CentOS/RHEL(firewalld)
sudofirewall-cmd--permanent--add-service=tftpsudofirewall-cmd--reload
4. 测试 TFTP 服务器
  • 在服务器上放测试文件:
echo"Hello TFTP"|sudotee/var/lib/tftpboot/test.txt
  • 在另一台机器(或本机)测试(安装 tftp 客户端):
tftp 服务器IP tftp>get test.txt# 下载tftp>put newfile.txt# 上传(需 --create 选项)tftp>quit
  • 查看下载的文件:cat test.txt
5. 安全最佳实践(非常重要!)

TFTP无加密、无认证,易受攻击:

  • 仅限局域网:不要暴露到公网(避免 DoS 或文件窃取)。
  • 防火墙限制:只允许特定 IP 访问(如firewall-cmd --add-source=192.168.1.0/24 --service=tftp)。
  • 使用 --secure:限制客户端只能访问指定目录。
  • 最小权限:目录权限 755,只读时禁用 --create。
  • SELinux(RHEL):启用并设置上下文sudo chcon -R -t public_content_t /var/lib/tftpboot
  • 临时使用:用完后关闭服务systemctl stop tftpd-hpa
  • 日志监控:查看/var/log/syslog/var/log/messages

配置完成后,你的 TFTP 服务器即可用于嵌入式开发、路由器升级或 PXE 启动。如果遇到问题(如权限错误、超时),检查日志和防火墙。欢迎提供具体错误继续提问!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:44:02

从零到一全面掌握MySQL:安装配置、SQL详解与数据库实战理解

MySQL相关知识点可以通过点击以下链接进行学习一起加油! 文章目录 MySQL与MariaDB:同源而生的数据库系统一、MySQL的安装与初步配置 1. 更新系统软件包列表2. 安装MySQL服务器3. 检查MySQL服务状态4. 首次登入MySQL5. 为root用户配置密码 步骤一&#xf…

作者头像 李华
网站建设 2026/5/1 4:44:45

tcpdump抓包实战:命令行网络诊断利器

前言 Wireshark虽然好用,但服务器上通常没有图形界面。tcpdump是Linux下最常用的命令行抓包工具,排查网络问题、分析协议、定位连接异常都离不开它。 本文整理tcpdump的常用技巧,从基础语法到实际问题排查,配合真实场景案例。1. 基…

作者头像 李华
网站建设 2026/5/1 4:43:04

将银行账单文字转为语音播报,帮助视障用户了解收支情况。

银行账单语音播报助手 一、实际应用场景与痛点 应用场景 视障用户陈先生需要每月核对银行账单,了解自己的收支情况。传统的银行账单通常是纸质或PDF格式,包含复杂的表格、数字和术语,视障用户完全无法独立阅读。他每次都需要请家人或朋友帮忙…

作者头像 李华
网站建设 2026/5/1 4:44:44

5万一年变150万的主图指标

{}快线:EMA(EMA(EMA(EMA(CLOSE,2),2),2),2),LINETHICK2,COLOR0000FF; 慢线:EMA(REF(快线,1),2),LINETHICK2,COLOR00FFFF; 总趋势:EMA(EMA(EMA(EMA(EMA(CLOSE,55),2),2),2),2),LINETHICK2,COLORFF00FF; A1:REF(H,8)HHV(H,2*81); B1:FILTER(A1,8); C1:BACKSET(B1,81); D1:FILTER(…

作者头像 李华
网站建设 2026/5/1 4:42:46

红娘子双线强弱源码分享贴图

{} MID: (HIGHLOWCLOSE)/3;红先锋:SUM(MAX(0,HIGH-REF(MID,1)),a)/SUM(MAX(0,REF(MID,1)-LOW),a)*100,colorred;红娘子:REF(MA(CR,b),b/2.51),colorcyan;

作者头像 李华
网站建设 2026/5/1 1:46:53

PostIn速成手册(11) - 使用自动化接口测试全方位确保接口质量

PostIn是一款开源免费的接口管理工具,支持免费私有化部署,一键安装零配置,页面设计简洁易用。本文将介绍如何编写接口用例并进行全面测试。1、接口用例PostIn支持如下几种测试用例。接口单元用例:针对单个接口的输入输出进行验证&…

作者头像 李华