简介
Tftpd
是用于普通文件传输协议的服务器,TFTP
协议广泛用于支持无磁盘设备的远程引导,服务器通常由inetd
启动,但也可以独立运行。
tftpd-hpa
是一个功能增强的TFTP
服务器。它提供了很多TFTP
的增强功能,它已经被移植到大多数的现代UNIX
系统。
安装
linux@localhost:~$ sudo apt-get install tftpd-hpa tftp-hpa
客户端如果不需要可以不安装
配置
tftpd-hpa
服务器的默认配置文件是/etc/default/tftpd-hpa
。
如果要配置TFTP
服务器,则必须修改此配置文件并重新启动tftpd-hpa
服务器。
- 使用
vim
编辑器打开配置文件进行编辑。
linux@localhost:~$ sudo vim /etc/default/tftpd-hpa
这是TFTP服务器的默认配置。
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
TFTP_USERNAME
设置为tftp
。意味着TFTP
服务器将以用户tftp
的身份运行。TFTP_DIRECTORY
设置为/srv/tftp
。意味着/srv/tftp
是此服务器上的目录,可以通过TFTP
访问该目录TFTP_ADDRESS
设置为:69
。意味着TFTP
将在端口69上运行TFTP_OPTIONS
设置为--secure
。启动时更改根目录。意味着远程主机不需要传递目录作为转让的一部分,可能会增加安全性。这是一项安全功能选项,也可以使用更多选项来配置TFTP
服务器行为
- 默认参数修改
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/tftpd-hpa"
TFTP_ADDRESS="0.0.0.0:52013"
TFTP_OPTIONS="-l -c -s"
TFTP
服务器以独立(侦听)模式运行服务器,指定侦听52013
端口上运行,服务器允许创建新的文件。
权限
创建用户自定义目录
linux@localhost:~$ sudo mkdir -p /home/tftpd-hpa
设置所有者和所属组为tftp
linux@localhost:~$ sudo chown tftp:tftp /home/tftpd-hpa
设置访问目录权限
linux@localhost:~$ sudo chmod -R 755 /home/tftpd-hpa
设置防火墙端口权限允许
linux@localhost:~$ sudo ufw allow 52013
启动
linux@localhost:~$ sudo service tftpd-hpa restart
查看
linux@localhost:~$ systemctl status tftpd-hpa
● tftpd-hpa.service - LSB: HPA's tftp server
Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)
Active: active (running) since Wed 2020-11-26 00:53:13 PST; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 3873 ExecStop=/etc/init.d/tftpd-hpa stop (code=exited, status=0/SUCCESS)
Process: 3884 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/tftpd-hpa.service
└─3898 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:52013 -l -c -s /home/tftpd-hpa
Nov 26 00:53:13 ubuntu systemd[1]: Stopped LSB: HPA's tftp server.
Nov 26 00:53:13 ubuntu systemd[1]: Starting LSB: HPA's tftp server...
Nov 26 00:53:13 ubuntu tftpd-hpa[3884]: * Starting HPA's tftpd in.tftpd
Nov 26 00:53:14 ubuntu tftpd-hpa[3884]: ...done.
Nov 26 00:53:14 ubuntu systemd[1]: Started LSB: HPA's tftp server.
测试
在客户端中使用tftp
进行上传和下载测试
当前服务器主机设置ipi地址为 : 192.168.1.128
- 上传本地文件
[ root@arm / ] # ls -la
-rwxr-xr-x 1 root root 47328 Jan 20 2020 3G.png
[ root@arm / ] # tftp -p -l 192.168.1.128:52013 3G.png
3G.png 100% |*******************************| 47328 0:00:00 ETA
- 下载远端文件
[ root@arm / ] # tftp -p -l 192.168.1.128:52013 light.png
light.png 100% |*******************************| 20022 0:00:00 ETA