第一步安装
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
sudo apt-get install netkit-inetd
第二步建目录
cd /
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot
第三步配置
1. 建立配置文件
cd /etc/xinetd.d/
vi tftp
输入
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
2. sudo vi /etc/default/tftpd-hpa
去修改配置文件,修改好后,内容如下:
# /etc/default/tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s -c /tftpboot"
TFTP_USERNAME="crifan"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -s -c"
注意其中的-c, "-c为可创建新文件,若无此参数,put命令则可能出现错误提示,此时只能覆盖原有文件不能创建新文件;"
OPTIONS参数后面跟的是你的TFTP的根目录。
TFTP_USERNAME是用户名,我这里的是"crifan",你根据自己情况修改。
TFTP_DIRECTORY后面也是同样的根目录 /tftpboot",
第四步:打开服务,使用
查看tftp相关进程:
安装过程中出现的问题及原因
现象一:
tftp> get test.log
Transfer timed out.
原因:
tftpd服务没有启动
现象二:
tftp> get test.log
Error code 2: Only absolute filenames allowed
原因:
在/etc/xinetd.d/tftpd中设置的server_args为/etc/default/tftpd-hpa
cat /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"
设置的时候只要将server_args=改为你自己设定的服务器文件夹就行了
现象三:
tftp> put ex070416.log
Error code 1: File not found
原因:
指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件