tftp服务器的安装与配置(不习惯windows的那个)


不习惯windows的那个。来玩linux下的tftp

其实实质都一样 网上搜的!

 (fedora,....都是浮云)

1.下载tftp服务器、客户端tftp和守护进程xinetd三个包(在ISO里都可以找到,客户端没必要安装)

yum install xinetd tftp tftp-server

 

//xinetd.i386 2:2.3.14-21.fc10

//tftp-0.49-1.fc10.i386.rpm                   

//tftp-server-0.49-1.fc10.i386.rpm  

 rpm -ivh ****.rpm

2.配置vi /etc/xinetd.d/tftp

修改server_args = -s /tftpboot -c,这里的-c一定要加上,否则只能下载不能上传!!!

service tftp

{

disable = no

socket_type             = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args             = -s /tftpboot -c

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

 

3.关闭防火墙

setup 抑或 service iptables stop

 

4.建立tftp工作目录并修改属性(一般安装软件后会自动创建,核对即可。不修改属性会出现error)

cd /

mkdir tftpboot

chmod 777 -R /tftpboot/

 

5.开启服务,上传下载文件

 

######################################

 

我的配置过程中先后顺序和出现的问题如下:

 

下载tftp服务客户端tftp和守护进程xinetd

yum install xinetd

yum install tftp tftp-server

//xinetd.i386 2:2.3.14-21.fc10

//tftp-0.49-1.fc10.i386.rpm                   

//tftp-server-0.49-1.fc10.i386.rpm  

关闭防火墙

service xinetd  restart

Stopping xinetd:                                           [  OK  ]

Starting xinetd:                                           [  OK  ]

cd /

mkdir tftpboot

cd tftpboot

cp /etc/inittab /tftpboot/

tftp 172.18.1.90

tftp> get inittab

Transfer timed out.

 

tftp>quit

[root@localhost tftpboot]# netstat -a|grep tftp

[root@localhost tftpboot]# ls

inittab

[root@localhost tftpboot]# touch aaa

[root@localhost tftpboot]# ls

aaa  inittab

[root@localhost tftpboot]# tftp 172.18.1.90

tftp> get aaa

Transfer timed out.

 

tftp> quit

不知何故出现“Transfer timed out.”的错误提示,想想没有修改tftp配置文件:

[root@localhost tftpboot]# cd /etc/xinetd.d

[root@localhost xinetd.d]# vi tftp

修改保存:

disable=no

server_args=-s /tftpboot/ -c

[root@localhost xinetd.d]# cd /

[root@localhost /]# /etc/init.d/xinetd restart

Stopping xinetd:                                           [  OK  ]

Starting xinetd:                                           [  OK  ]

[root@localhost /]# netstat -a | grep tftp

udp        0      0 *:tftp                      *:*                                     

[root@localhost /]# tftp 172.18.1.90

tftp> get aaa

Error code 1: File not found

tftp> get inittab

Error code 1: File not found

tftp> quit

错误不一样了,以为需要安装tftpd服务器端,yum  install tftpd没有源

但这次想起来新建/tftpboot/目录时候没有对该目录权限进行修改,就一切ok了

[root@localhost /]# chmod 777 -R /tftpboot/

 

[root@localhost /]# tftp 172.18.1.90

tftp> get aaa

tftp> get inittab

tftp> q

[root@localhost /]# ls

aaa  boot  etc   inittab  lost+found  mnt  proc  sbin     srv  tftpboot  usr

bin  dev   home  lib      media       opt  root  selinux  sys  tmp       var

//根目录出现了aaa和inittab文件,下载成功!

再来试试上传文件:

[root@localhost /]# cd /tftpboot

[root@localhost tftpboot]# ls

aaa  inittab

[root@localhost tftpboot]# rm aaa

rm: remove regular empty file `aaa'? y

[root@localhost tftpboot]# ls

inittab

[root@localhost tftpboot]# tftp 172.18.1.90

tftp> put aaa

tftp: aaa: No such file or directory

tftp> put aaa

tftp: aaa: No such file or directory

tftp> q

[root@localhost tftpboot]# cd /

[root@localhost /]# ls

aaa  boot  etc   inittab  lost+found  mnt  proc  sbin     srv  tftpboot  usr

bin  dev   home  lib      media       opt  root  selinux  sys  tmp       var

[root@localhost /]# tftp 172.18.1.90

tftp> put aaa

tftp> q

[root@localhost /]# cd /tftpboot

[root@localhost tftpboot]# ls

aaa  inittab

上传成功!

上面错误原因就是tftp的执行目录要再根目录下进行,因为默认根目录为当前操作的目录

 



在Linux(fedora 8)下利用tftp服务器烧录内核映像zImage和文件系统root.cramfs


 


摘要


本文具体讲了tftp的含义,tftp在Linux(fedora 8)上是如何配置的,以及怎么利用tftp在Linux环境下烧录内核映像zImage和文件系统root.cramfs。


 


一、  什么是tftp


TFTP(Trivial File Transfer Protocol,简单文件传输协议或一般文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。


大家一定记得在2003年8月12日全球爆发冲击波(Worm.Blaster)病毒,这种病毒会监听端口69,模拟出一个TFTP服务器,并启动一个攻击传播线程,不断地随机生成攻击地址,进行入侵。另外tftp被认为是一种不安全的协议而将其关闭,同时也是防火墙打击的对象,这一点请注意!


TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP 协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的,因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。传输中有三种模式:

       netascii,这是8位的ASCII码形式,


      octet,这是8位源数据类型;


      最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。

       


二、在Linux(fedora 8)下安装和配置tftp服务器


1、安装


先安装xinetd 服务:yum install xinetd(xinetd是管理所有服务的服务)


安装tftp协议,tftp-sever:yum install tftp tftp-sever


可以在这个网站搜索下载rpm包直接安装http://www.rpmfind.com


2、配置:


更改tftp配置文件 /etc/xinetd.d/tftp


vim /etc/xinetd.d/tftp,文件内容如下:


 


# default: off    //tftp服务默认是关闭的


# description: The tftp server serves files using the trivial file transfer \


# protocol. The tftp protocol is often used to boot diskless \


# workstations, download configuration files to network-aware printers, \


# and to start the installation process for some operating systems.


service tftp


{


socket_type = dgram


protocol = udp


wait = yes


user = root


server = /usr/sbin/in.tftpd


server_args = -s /tftpboot -c


disable = yes ——>disable = no


per_source = 11


cps = 100 2


flags = IPv4


}


注意:


l          把disable = yes修改成disable = no,或用chkconfig tftp on 也可以打开xinetd代理的tftp服务器


l          server_args = -s /home/yeling/tftpboot -c 中的“-s” 后面的目录是tftp服务器传输文件的目录,“-c”表示允许上传文件,如果没有这个目录,必须新建一个mkdir /tftpboot。


l          最好把该目录权限改为可读、可写、可执行——chmod 777 /tftpboot ,用户也可以设置成普通用户


l          命令下输入setup看一下 tftp服务是否开启,最好关闭防火墙(# /etc/init.d/iptables stop //关闭防火墙),关闭selinux(# setenforce 0)。


l          # service xinetd restart   //重启 xinetd 服务


3、测试


在终端上输入如下命令:


# tftp your-ip-address


tftp>get  <download file>


tftp>put  <upload file>


或者验证TFTP是否已经启动:


# netstat -nlp


Active Internet connections (only servers)


Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name


tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN 3122/rpc.statd


tcp 0 0 127.0.0.1:32781 0.0.0.0:* LISTEN 4035/xinetd


tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3103/portmap


tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3324/httpd


tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3255/sshd


tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3213/cupsd


tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3295/sendmail: acce


tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 3415/0


tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3324/httpd


udp 0 0 0.0.0.0:32768 0.0.0.0:* 3122/rpc.statd


udp 0 0 0.0.0.0:69 0.0.0.0:* 4035/xinetd


udp 0 0 0.0.0.0:69 0.0.0.0:* 4012/in.tftpd


udp 0 0 0.0.0.0:111 0.0.0.0:* 3103/portmap


udp 0 0 0.0.0.0:754 0.0.0.0:* 3122/rpc.statd


udp 0 0 0.0.0.0:631 0.0.0.0:* 3213/cupsd


4、烧写


(1)将zImage、root.cramfs这三个文件拷到主机/tftpboot目录下


(2)启动开发板,按ESC键调出vivi控制台(minicom的配置请自己查资料)


(3)设置开发板IP(内核启动后将失效)


vivi> set c 192.168.0.31


Set IP to 192.168.0.31


(4)设置tftp服务器IP(启动tftp服务器的linux主机):


vivi> set s 192.168.0.43


Set IP to 192.168.0.43


(5)烧写vivi


vivi> tftp flash vivi vivi


TFTPing vivi*..... OK.


received 146 blocks (74216 bytes)


Downloaded file via TFTP to 0x30000000, size = 74216 bytes


Found block size = 0x00014000


Erasing...    ... done


Writing...    ... done


Written 74216 bytes


(6)烧写内核:


vivi> tftp flash kernel zImage


TFTPing zImage*..................................................... OK.


received 1682 blocks (860176 bytes)


Downloaded file via TFTP to 0x30000000, size = 860176 bytes


Found block size = 0x000d4000


Erasing...    ... done


Writing...    ... done


Written 860176 bytes


(7)烧写根文件系统:


vivi> tftp flash root root.cramfs


TFTPing root.cramfs*.................................................................................................. OK.


received 3730 blocks (1908736 bytes)


Downloaded file via TFTP to 0x30000000, size = 1908736 bytes


Found block size = 0x001d4000


Writing...   size = 1908736


bad_block = 0


 ... done


Written 1908736 bytes


Congratulations!


 



 在fedora 8 中建立tftp 服务

2011-05-03 11:31 101人阅读 评论(0) 收藏 举报

1.安装xinetd

rpm -ivh   xinetd-2.3.14-15.fc8.i386.rpm

2.安装tftp client

rpm -ivh tftp-0.42-5.i386.rpm

3.安装tftp server

rpm -ivh tftp-server-0.42-5.i386.rpm

4.更改tftp配置文件 /etc/xinetd.d/tftp

vi /etc/xinetd.d/tftp,打开tftp文件,设置tftp的跟目录,开启服务。(没有安装tftp-server之前,不存在tftp文件)

service tftp

{

socket_type             = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args             = -s /tftpboot                  //tftpboot为你需要传输文件的目录;

#       disable                 = yes

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

在上述server_args设置tftp的工作目录,并且注释掉disable选项。

5. cd /

chmod 777 tftpboot/

6.启动tftp服务器

service xinetd restart

关闭system-config-securitylevel里面的SElinux:Disabled;Firewall:Disabled;

 

 


 


 


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值