loongnix下tftp配置:
1.原理介绍
TFTP是用来下载远程文件的最简单网络协议,它基
UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。
xinetd(eXtended InterNET services daemon)是新一代的网络守护进程服务程序,又叫超级INTERNET服务器,经常用于管理多种轻量型INTERNET服务,xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。
2.安装过程及遇到的问题:(root权限下)
[root /]# yum install xinetd
等安装好
[root /]# yum install tftp
等安装好
[root /]# yum install tftp-server
这里出现了错误…指导书及网上很多安装教程都说这里的目标文件名叫tftpd,但yum install tftpd 指令一直返回没有可用安装包,说明目标文件名称不对.后来查到应该是tftp-server.该指令可以安装服务器端的tftp支持.
[root /]# mkdir /tftpboot
在根目录下创建一个叫tftpboot的文件夹,用来存放上传和下载的文件.
[root /]# chmod 777 /tftpboot -R
更改该目录的权限,升至最高,-R表示目录下所有文件及子目录一并处理
[root /]# vim /etc/sysconfig/selinux
修改selinux文件,把SELINUX=enforcing(默认值)修改为SELINUX=disabled
[root /]# vi /etc/xinetd.d/tftp
在xinetd.d目录下,创建tftp脚本文件.输入以下内容
#tftp configuration
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
}
[root /]# vi /etc/default/tftpd-hpa
新建脚本文件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_DIRECTORY = "/srv/tftp"
[root /]# service xinetd restart
添加新脚本文件:
[root]#vim /etc/inetd.conf
在新打开的脚本中输入以下代码,注意为一行:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in-tftpd /tftpboot
启动tftp服务
[root /]# netstat -a | grep tftp
注意:当主机与开发板互联时,需要设置主机的IP地址.
新增主机IP,IPv4设置为手动,键入可用的IP地址,子网掩码和网关.
查看tftp服务是否开启,显示结果为
udp 0 *:tftp :
表示服务已开启,tftp配置成功.
每次开启虚拟机后都需要重启tftp服务.
*****启动tftp服务器:
systemctl restart xinetd.service
systemctl start tftp.socket
systemctl start tftp.service 开启tftp服务器
systemctl restart tftp.service 重启tftp