第 1 步:创建一个服务器文件存放的文件夹
创建一个文件夹(sudo mkdir /tftpboot),然后把它可以设置成访问权限最宽松的(sudo chmod 777 /tftpboot),也可以设置成合适的权限。
第 2 步:安装 tft
安装 tftp 所需的软件。首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,
在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装 tftp-hpa 和 tftpd-hpa。然
后还需要安装 xinetd,在终端下输入 sudo apt-get install xinetd,安装好 xinetd。
第 3 步:配置/etc/xinetd.conf
配置相关服务文件。进入根目录下的 etc 文件夹(cd /etc/),首先看目录中有没有一个
xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:
下面展示一些 内联代码片
。
# Simple configuration file for xinetd
##
Some defaults, and include /etc/xinetd.d/
defaults
{#
Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
第 4 步:配置/etc/default/tftpd-hpa
配置 tftp 服务器:
下面展示一些 内联代码片
。
// 命令
sudo vim /etc/default/tftpd-hpa
将内容修改成:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
这是你 tftp 服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为 777,命令为sudo chmod 777 /tftpboot
第 5 步:配置/etc/xinetd.d/tftp
然后进入 xinetd.d 文件夹(cd xinetd.d),查看是否有一个 tftp 文件,如果没有就新建
一个,如果有的话就查看内容是否与下面的一致,不一致则修改(我的虚拟机中就没有,是新建的),内容如下:
下面展示一些 内联代码片
。
service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
其中 server_args 一行是配置服务器的文件存放的位置,就是进行 tftp 传输的时候,都是从该文件夹中搜索文件的。
第 6 步:重启服务
当配置好 tftp 的配置文件后,需要重新启动一下 xinetd,在终端中输入 sudo /etc/init.d/xinetd reload,重新加载一下进程,再输入 sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需要重新启动一下服务。
.依次执行以下命令:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
第 7 步:验证tftp服务器是否可用
7.1、首先在/tftpboot 中新建一个文件 file.c,然后在其中随便输入内容;
7.2、然后进入一个不是/tftpboot 的目录下(原因是避免混淆,因为在获取文件是,默认是将想要获取的文件存放在当前目录下的),我这里进入的是共享文件夹中。然后在终端中输入 sudo tftp localhost,进入 tftp 命令符下(可以在其中输入 help查看命令和命令的作用)。输入 get file,如果没有任何提示,就说明传输成功了,然后输入 q退出 tftp 命令符,在当前目录下就可以看到一个 file 文件,内容是与开始新建的那个 file 的内容是一致的。