TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
ftpd-hpa
是tftp服务器
tftp-hpa
是tftp客服端
inetd
的全称是extended internet daemon,xinetd
是新一代的网络守护进程服务程序,又叫超级Internet服务器,提供类似于inetd+tcp_wrapper的功能。
1.下载安装vsftpd+tftpd+tftpd-hpa
下载:FileZilla - The free FTP solution
#1.下载安装服务 vsftpd
apt-get install vsftpd
# 配置服务 vsftpd /etc/vsftpd.conf
local_enable=YES
write_enable=YES
#重启
systemctl restart vsftpd
#2. 下载安装 客户端tftp-hpa,服务器端tftpd-hpa, 守护进程xinetd
apt-get install tftp-hpa tftpd-hpa
apt-get install xinetd
# 配置客户端+服务器端 tftp /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/test/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
# tftp的目录文件
server_args = -s /home/test/tftpboot
# 配置tftpd-hpa /etc/default/tftpd-hpa
#重启tftpd服务
Systemctl start tftpd-hpa
2.配置服务
2.1 配置服务 修改文件 /etc/vsftpd.conf
## 以下两行如果注释的话,打开注释
local_enable=YES
write_enable=YES
pam_service_name=ftp原配置中为vsftpd,ubuntu用户需要更改成ftp
144行
2.2 配置服务 守护进程 /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram #socket的链接类型是dgram(UDP)
protocol = udp #UDP协议
wait = yes #等待到启动完成
user = root #指定root用户启动服务进程
server = /usr/sbin/in.tftpd #指定服务进程是/usr/sbin/in.tftpd
server_args = -s /home/tang/tftp -c #指定传给该进程的参数
disable = no #no表示启动TFTP服务器
per_source = 11 #表示每一个ip地址上最多可以建立的实例数目
cps = 100 2 #每秒100个入站链接,超过限制,等待2秒
flags = IPv4 #允许IPV4连接
}
2.3 配置服务 tftp服务器 /etc/default/tftpd-hpa
ERNAME="tftp"
TFTP_DIRECTORY="/home/tang/tftp" #Ubuntu虚拟机中TFTP服务器的目录
TFTP_ADDRESS="0.0.0.0:69" #ip地址和端口号
TFTP_OPTIONS="-l -c -s" #-c是可以上传文件的参数。
#-s是指定的TFTP服务端目录,即TFTP_DIRECTORY;
#-l是在独立运行服务器(听)模式
指定-tftp上传、下载的目录
-C表示允许客户端上传文件。
mkdir /home/tang/tftpboot
chmod 777 /home/tang/tftpboot
3.验证服务
本地测试:
在/tftpboot
目录创建一个 ser.txt
文件,供客户端下载;
在/home/samba/
(或其他任意目录都行) 创建cli.txt
,用于上传到tftp服务器 ;
在/home/samba/
执行tftp客户端,下载 ser.txt
,上传cli.txt
touch /home/tang/tftpboot/ser.txt
touch /home/tang/cli.txt
tftp 127.0.0.1
tftp> get ser.txt
tftp> put cli.txt
tftp> q