1.首先当然是yum安装以下的软件,当然已经装过就可以忽略。
查询Linux中是否安装有tftp : rpm -qa | grep tftp
sudo yum install xinetd sudo yum install tftp sudo yum install tftp-server
显然,在Centos7开始,守护进程Xinetd的功能是非常强大的,这边使用的tftpserver进程服务,也是由xineted拉起来的。关于xinetd的介绍,这边不再叙述。
修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。开启TFTP服务。
主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{ socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in.tftpd
server_args =-s /home/tftpboot -c
disable =no
per_source =11
cps =100 2
flags =IPv4
}
说明:修改项server_args= -s -c,其中处可以改为你的tftp-server的根目录
参数-s指定chroot,-c指定了可以创建文件。
2,开启xinetd服务
systemctl enable xinetd;systemctl start xinetd
通过检查进程可以发现xinetd和tftp的进程号如下:
[root@localhost bin]# ps -ef | grep xinetd
root 1556 1 0 Apr20 ? 00:00:00 /usr/sbin/xinetd-stayalive -pidfile /var/run/xinetd.pid
[root@localhost bin]# ps -ef | grep tftp
root 16734 1556 0 13:43 ? 00:00:00 in.tftpd -s /home/tftpboot -c
查看tftp port口如下:
[root@localhost bin]# netstat -a | grep tftp
udp 0 0 0.0.0.0:tftp 0.0.0.0:*
udp6 0 0[::]:tftp [::]:*
这边有点要注意,当xinetd运行后,tftpserver的进程并不是马上运行的。只有当在客户端的时候,tftp发起连接,尝试下载或者上传的时候,tftpserver才会激活。
3,tftp的使用
在客户端运行如下命令:
tftp 20.20.0.207
tftp>
tftp>get 下载文件
tftp>put 上传文件
tftp>q 退出
更多命令就参考tftp的帮助
另外一种方式直接使用tftp server,而不用xinetd守护进程,可以通过以下两个命令使能:
在systemctl start tftp.service 前,需要操作配置下上图的 上传下载位置。
systemctl start tftp.socket systemctl start tftp.service
一般情况,倾向于使用守护进程的方式
arm操作:tftp -p -l log.txt 192.168.190.204 tftp -g -r ab.txt 192.168.190.204
Ubuntu 18.04
1. 安装
$ apt-get install tftp-hpa tftpd-hpa
2. 建立目录
$ mkdir /tftpboot # 这是建立tftp传输目录。
$ sudo chmod 0777 /tftpboot
$ sudo touch test.txt # test.txt文件最好输入内容以便区分
3. 配置
# vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" # 这里是你的tftpd-hpa的服务目录,这个想建立在哪里都行
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" # 这里是选项,-c是可以上传文件的参数,-s是指定tftpd-hpa服务目录,上面已经指定
4. 重启服务
$ sudo service tftpd-hpa restart # 启动服务,这里要注意,采用的独立服务形式。
5. 测试
# cd /home
# tftp localhost #localhost 表示本机
tftp>get test.txt //test.txt 是之前在 /tftpboot 目录下新建的文件
tftp>put test1.txt //test1.txt 是在 /home 目录下新建的文件
tftp>q
退出后,在/home目录下会有一个test.txt文件,在/tftpboot 目录下有test1.txt,表示tftp服务器安装成功!