tftp服务器环境搭建

首先说明:在ubuntu12.04下,安装的是tftp-hpa和tftpd-hpa而不是tftp和tptpd(早期的版本是)。因为,通过网上搜索到的帖子,安装tftp和tptpd后,如果在本地测试的话是OK的。而换台电脑,真正的远程通过tftp来get文件或put文件。则总是显示Transfor time out。但是,通过 $ netstat -nlp命令查看,tftpd的确已经启动了呀。不知何解,故放弃tftp和tftpd。

1.安装tftp的服务端和客户端:
sudo apt-get install tftpd-hpa ;安装tftp服务端
sudo apt-get install tftp-hpa   ;安装tftp客户端

2.安装xinetd

sudo apt-get install xinetd:支持对tcp、udp、RPC服务的东东


3.安装完 xinetd应该会建立目录/etc/xinetd.d,在此目录中添加文件:tftpd
#gedit /etc/xinetd.d

#sudo touch tftpd

4.sudo gedit /etc/xinetd.d/tftpd
想tftpd中添加如下内容:
service tftp
{
disable = no
socket_type = dgram
wait = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /home/tftpd                                      ----------------------------自己创建的tftp主目录
log_on_success = PID HOST DURATION
log_on_failure = HOST
}

5.在/home下建立tftpd目录,作为服务器的目录
sudo mkdir /home/tftpd
释放权限:
sudo chmod 777 /home/tftpd              

6.打开inetd.conf 注释掉内容:
sudo gedit /etc/inetd.conf
#tftp dgram udp wait nobody /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot        ----------若没有请自己添加此句。

7.配置

sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot " //改成你想要的那个tftpboot
TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"        //这里是选项



8.重启xinetd服务
sudo /etc/init.d/xinetd restart

重启tftpd服务
sudo /etc/init.d/tftpd-hpa restart

9、
测试服务tftp是否启动

netstat -a|grep tftp

显示 :

udp        0      0 *:tftp                  *:* 

则启动服务了



测试tftp:

tftp的目录是在/var/lib/tftpboot,可以进行修改。在第7步进行修改。

通过查看进程可以查看当前tftp server 主目录
ps -axu | grep tftp
root     10736  0.0  0.0   2280   684 ?        Ss   21:26   0:00 /usr/sbin/in.tftpd -s /home/tftpd

# tftp 127.0.0.1

tftp> get 1.c

Received 7 bytes in 0.1 seconds

tftp> put 2.c

Sent 10 bytes in 0.0 seconds

tftp> quit

# ls

1.c  2.c 

# cd /tftpboot/

# ls

1.c  2.c



下面是网上总结出来的常见错误及解决方法:
现象一:
tftp> get file
Transfer timed out.
原因:
tftpd服务没有启动
解决方法:启动服务
sudo /etc/init.d/xinetd restart
sudo /etc/init.d/tftpd-hpa restart

现象二:
tftp> get file
Error code 2: Only absolute filenames allowed
原因:
在/etc/xinetd.d/tftpd中设置的server_args为/etc/default/tftpd-hpa
下面是我的机器上/etc/default/tftpd-hpa配置
# /etc/default/tftpd-hpa
RUN_DAEMON="yes"
TFTP_ADDRESS="0.0.0.0:69"
OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"

现象三:
tftp> put file
Error code 1: File not found
原因:
指定的文件不存在;或tftpd启动参数中没有指定-c选项,允许上传文件~上传的时候一定要确保文件先存在于上传目录下。

现象四:
tftp> get file
tftp:  : Permission denied
原因:权限不足
请查看chmod 是不是配置好


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux下搭建TFTP服务器,可以按照以下步骤进行: 1. 安装TFTP服务器软件。可以使用命令行工具安装,如在Ubuntu下使用apt-get命令:sudo apt-get install tftpd-hpa 2. 配置TFTP服务器。可以编辑/etc/default/tftpd-hpa文件,设置TFTP服务器的根目录、IP地址等参数。 3. 启动TFTP服务器。可以使用命令行工具启动TFTP服务器,如在Ubuntu下使用命令:sudo service tftpd-hpa start 4. 测试TFTP服务器。可以使用TFTP客户端工具测试TFTP服务器是否正常工作,如在Ubuntu下使用命令:tftp localhost 以上是简单的TFTP服务器搭建步骤,具体操作可以根据不同的Linux发行版和TFTP服务器软件进行调整。 ### 回答2: tftp(Trivial File Transfer Protocol)是一种简单的文件传输协议,在linux系统中,可以使用tftp服务器来进行文件传输。搭建tftp服务器需要以下步骤: 1.安装tftp服务器软件。 在linux系统中,可以使用yum命令安装tftp服务器软件,命令如下: sudo yum install tftp-server 2.配置tftp服务器tftp服务器的配置文件位于/etc/xinetd.d/tftp,需要修改这个文件来进行配置。修改前需要备份,命令如下: sudo cp /etc/xinetd.d/tftp /etc/xinetd.d/tftp.bak 然后使用编辑器打开tftp配置文件,修改以下内容: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 其中server_args = -s /var/lib/tftpboot指定tftp服务器的根目录。如果需要修改根目录,可以在修改server_args。 3.创建tftp服务器根目录。 使用以下命令创建tftp服务器的根目录: sudo mkdir /var/lib/tftpboot 然后使用chmod命令设置权限: sudo chmod -R 777 /var/lib/tftpboot 4.添加需要传输的文件。 将需要传输的文件放入tftp服务器的根目录中,例如: sudo cp testfile /var/lib/tftpboot 5.启动tftp服务器。 使用以下命令启动tftp服务器: sudo systemctl start tftp.socket 6.测试tftp传输。 使用以下命令测试tftp传输: tftp 127.0.0.1 tftp> get testfile 执行get命令后,testfile文件会被传输到当前目录。 7.开机启动tftp服务器。 使用以下命令设置tftp服务器开机启动: sudo systemctl enable tftp.socket 至此,tftp服务器搭建完成。 总结: 通过以上步骤,可以很方便地在linux系统中搭建tftp服务器,进行文件传输。在使用tftp服务器时需要注意,该协议具有安全性低,传输速度慢等缺点,因此在传输敏感信息时需要谨慎使用。 ### 回答3: TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一个非常轻量级的文件传输协议,用于在计算机之间传输文件。Linux系统自带了TFTP服务器和客户端,这意味着您可以很容易地在Linux系统上搭建TFTP服务器。 以下是在Linux系统上搭建TFTP服务器的步骤: 第一步:安装TFTP服务器 在Linux的命令行界面下,输入以下命令安装TFTP服务器: sudo apt-get install tftpd-hpa 如果你的Linux版本不是Ubuntu,你需要切换到适当的Linux包管理器,并下载安装tftpd-hpa。 第二步:配置TFTP服务器 在Linux系统上,TFTP服务器的默认目录为“/tftpboot”。您可以在这个目录下创建任意子目录来存储您要传输的文件。要创建新的目录,可以使用以下命令: sudo mkdir /tftpboot/new_directory 接下来,为了确保TFTP服务器具有对这个目录的完全访问,您需要在/etc/xinetd.d/tftp中编辑以下标题: service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no } 请确保将路径“/tftpboot”更新为您要用作TFTP服务器的目录的实际路径。 第三步:启动TFTP服务器 在您完成配置后,您需要重新启动TFTP服务器,才能应用新的配置。输入以下命令,以重新加载TFTP服务器从而生效配置。 sudo /etc/init.d/xinetd restart 现在,您的TFTP服务器已经成功地安装并启动,您可以开始在计算机之间安全地传输文件。在使用TFTP客户端时,请确保您的客户端也在同一个局域网中,不然可能需要配置路由器端口转发以获得远程访问。 总结 正如您所看到的,使用Linux系统在计算机之间安全地传输文件是一件非常简单的事情。现在您可以轻松地使用TFTP服务器,根据需要将文件从一个计算机传输到另一个计算机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值