ubuntu-TFTP配置文件

http://blog.sina.com.cn/s/blog_7d18698801015qxs.html

Ubuntu 下 TFTP 服务器配置
Author: GuoTongbin
Nickname: Panda.Guo
Create: 2011-07-23
简介
在 ubuntu 11.04 下安装配置 tftp 服务器
1. 安装服务器
• $ sudo apt-get install tftpd xinetd
安装 tftp 服务器端。
2. 创建服务器 目录
• $ sudo mkdir /tftpboot
• $ sudo chmod 777 /tftpboot
在根目录下创建目录 tftpboot 作为服务器的工作目录
3. 配置服务器
在 /etc/xinetd.d/ 目录下创建 tftp 文件, 内容如下:
• sudo gedit /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
}
4. 重启服务
• $ sudo /etc/init.d/xinetd restart
5. 测试
• $ sudo netstat -apn | grep ":69"
显示如下:
udp 0 0 0.0.0.0:69 0.0.0.0:* 1055/xinetd
安装客户端测试
• $ sudo apt-get install tftp
• $ tftp localhost
• tftp > get file
提示如下:
Received 235516 bytes in 0.1 seconds
则表示成功
备注
在设置中, 其中
server_args = /tftpboot
设置: server_args = /home/pa/tftpboot
或者: server_args= -s /tftpboot/ -c
则服务器配置不能成功。原因待查,
user = root, 也导致服务器配置不能成功,
后改为 user = nobody, 则成功。
tftpd 服务器配置, 摘自网络
修改项 server_args= -s -c,
其中处可以改为你的 tftp-server 的根目录,参数-s指定 chroot,-c 允许上传目
录中不存在的文件。常用选项如下:
• [-l] 使用 standalone 模式运行,此模式下,将会忽略-t 选项
• -a address:port 在 standalone 模式下服务所在的 IP 与端口,如果不指定,则在本机所有
IP,/etc/service 中指定的 port 上侦听连接
• -c 允许在服务器上新建文件,否则只允许更新现有的文件。如果未指定-U 或-p 选项,则允
许任何人上传文件
• -s directory 服务器端默认的目录,默认为/var/lib/tftpdboot
• -u username tftpd 服务以什么身份运行,默认是 nobody,一般可以新建一个 tftpd 的账号
来运行
• -U umask 上传的文件的掩码,如果未指定-p 则为 000,如果指定了-p,则采用指定的
umask
• -p 对于通过-u 指定的用户执行的动作,不做额外的权限检查
tftp
tftp 传输大文件的问题,(一般限制在 32M, 有些是 16M)
TFTP 设计的初衷是保持简单短小,它的每一个数据分组包含一个 2 字节的块编号,每
个块数据容量为 512 字节, 这样也就意味着 TFTP 传输的最大的文件长度为
65536×512=32M 字节。 这样的文件长度对于 TFTP 最初设计的应用对象——无盘工
作站来说是足够的, 但对于其他文件传送的场合则远远不够。
最初的 TFTP 协议,规定序号字段仅 16bit,每个报文长度不超过 512 字节.很多 TFTP
服务器限制在 16MB, 比如 CISCO 设备自己带的 TFTP server、GNU tftp server。如
果序号用无符号整数,最大也就 32MB 而已.
用 TFTP 协议传输大于 32M 的文件时,当 block 的号到达 65535 后,发送端的下个包
的 block 号就是 0 了, 而接收端却不能 ACK 这个 block 为 0 的包,因此最终将导致超

参考链接: BusyBox 中的 TFTP 操作
Busybox 里面的帮助信息
Usage: tftp [OPTION]... HOST [PORT]
Transfer a file from/to tftp server using "octet" mode
Options:
-l FILE
-r FILE
-g
-p
-b SIZE
Local FILE
Remote FILE
Get file
Put file
Transfer blocks of SIZE octets
下载文件到开发板
# tftp -g -r ko.tar.gz 172.16.6.55
其中: ko.tar.gz 是你要下载的文件, 应在 Host 的 tftp 服务器目录下。注意权限。
"172.16.6.55": Host IP。
Top/Return

你可能感兴趣的:(ubuntu-TFTP配置文件)