tftp服务器是简单版的ftp,可以实现服务器和客户端之间的简单文件传输,包括上传下载。
网上版本杂乱,此为亲测可用。
1.sudo -i
设置为超级用户模式,否则之后每个命令前都要加sudo
2.安装包
apt-get install tftp-hpa
apt-get install xinetd
3.建立服务器文件地址,设置权限。这个地址称为tftpbppt,也就是与其他客户端可以互相访问到的文件夹,权限设置包括可读,可写,我建立在了/home下
mkdir /home/tftpboot
chmod 777 tftpboot
4 vi /etc/xinetd.d/tftp
写入
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/tftpboot/ ---------------------------------这个地方填第3部你建立的互相访问文件夹tftpboot的地址
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
5.vi /etc/default/tftpd-hpa 进行修改
我的版本之前是没有这个文件的,所以自己建立了一个,内容为
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/tftpboot" //修改成自己要使用的tftpboot目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //-c 表示可以创建文件 -c create
6.重启服务器
/etc/init.d/xinetd restart
service tftpd-hpa restart
开始测试:
测试的方法就是在tftpboot里随便建立一个文本文件,然后看在其他的文件夹里能不能通过tftp读取到这个文件
所以先在tftpboot里随便建立一个vi a.c 内容是 123
然后去其他文件夹 开始通过tftp建立连接
tftp localhost
tftp-> get a.c
tftp->q --------------------------退出的意思
然后正常情况下该文件夹就会出现一个a.c 打开确认里面的内容是不是123。
出现的问题:
1.Transfer timed out.
重做第6步
2.Access denied
权限不够 ,加sudo
3.No such file
确认tftpboot下是否有该文件,再检查第4,5部中tftpboot的位置是否正确