linux tftp创建

TFTP协议简介
TFTP
是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linuxtftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。本文来自成都明诚科技,详细信息请访问http://www.embedexpert.com/article/linuxkernel/2010/1020/tftpserverset.html

1、安装tftp服务器
需要安装xinetdtftptftp-server 3个软件
1
)如果能上网,通过yum安装:
sudo yum install xinetd
sudo yum install tftp
sudo yum install tftp-server
2
)如果不能上网,可以直接安装提供的rpm包:
sudo rpm -ivh xinetd-<?xml:namespace prefix = st1 />2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivh tftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服务器
修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no
主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
    socket_type            =dgram
       protocol                  =udp
       wait                        =yes
       user                        =root
       server                     =/usr/sbin/in.tftpd
       server_args             =-s /home/mike/tftpboot -c
       disable                    =no
       per_source             =11
       cps                         =100 2
       flags                       =IPv4
}

说明:修改项server_args= -s     <path>    -c,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot-c指定了可以创建文件。

3、启动tftp服务器并关闭防火墙
/etc/init.d/iptables stop        //关闭防火墙
sudo /sbin/service xinetd start
service xinetd restart
/etc/init.d/xinetd start
看到启动[OK]就可以了

4、查看tftp服务是否开启
netstat -a | grep tftp
显示结果为
udp 0 0 *:tftp *:*
表明服务已经开启,就表明tftp配置成功了。

5tftp使用

复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
tftp 192.168.1.2
tftp>get <download file>

tftp>put <upload file>
tftp>q

6tftp命令用法如下
tftp     your-ip-address

【进入TFTP操作】
connect
:连接到远程tftp服务器
mode
:文件传输模式
put
:上传文件
get
:下载文件
quit
:退出
verbose
:显示详细的处理信息
tarce
:显示包路径
status
:显示当前状态信息
binary
:二进制传输模式
ascii
ascii传送模式
rexmt
:设置包传输的超时时间
timeout
:设置重传的超时时间
help
:帮助信息
?
:帮助信息

7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改
修改/etc/sysconfig/selinux,SELINUX设定为disable
使用命令setenforce 0selinux配置文件生效

8Busyboxtftp命令的用法
命令格式为:

tftp [option] ... host [port]

如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。

-g表示下载文件(get)
-p
表示上传文件(put)
-l
表示本地文件名(local file)
-r
表示远程主机的文件名(remote file)

例如,要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令

tftp -g -r embedexpert 192.168.1.2

### 如何在Linux上配置和使用TFTP服务器 #### 安装TFTP服务器和客户端 为了使TFTP功能正常工作,在Ubuntu或其他Linux发行版中需先安装`TFTPD-HPA`以及`tftp-hpa`软件包。这可以通过执行以下命令来完成: ```bash sudo apt-get update sudo apt-get install tftpd-hpa tftp-hpa ``` 此过程会自动处理依赖关系并安装所需的组件[^3]。 #### 配置TFTP服务 默认情况下,`tftpd-hpa`由`xinetd`管理。要修改其行为或路径,编辑位于`/etc/default/tftpd-hpa`中的配置文件。通常只需调整几个参数即可满足大多数需求,比如指定用于存储和提供文件的服务目录。常见的设置如下所示: ```plaintext TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure --create" ``` 上述选项允许创建新文件(`--create`)并且启用了安全模式(`--secure`)[^4]。 #### 启动与验证TFTP服务状态 一旦完成了必要的更改,则应重启相关服务以应用新的设定。对于基于Debian系统的机器来说,可以利用下面的指令实现这一点: ```bash sudo systemctl restart tftpd-hpa ``` 确认服务正在运行的一种方法是尝试连接至本机上的TFTP端口(通常是UDP 69),例如: ```bash tftp -v 127.0.0.1 ``` 如果一切顺利,应该能看到版本信息而没有任何错误消息显示出来[^5]。 #### 使用TFTP上传下载文件 当一切都准备就绪之后,就可以开始传送文件了。假设目标是要获取名为`ubuntu-server.iso`的操作系统映像文件,那么可以在终端里键入这样的序列来进行操作: ```bash tftp <TFTP服务器IP地址> tftp> get ubuntu-server.iso ``` 同样地,若想把本地的一个文件推送到远程TFTP服务器上去的话,只需要替换为相应的推送命令形式: ```bash tftp> put localfile remotefile ``` 这里需要注意的是,某些防火墙策略可能会阻止这些活动;因此必要时还需检查网络访问权限等问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值