打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Ubuntu TFTP服务搭建及异常维护

https://blog.csdn.net/frank_abagnale/article/details/79283293

TFTP 是一种文件传输协议,类似于 FTP,但它不用进行用户认证也不能列出目录。TFTP 服务器总是监听网络上的 PXE 客户端的请求。当它检测到网络中有 PXE 客户端请求 PXE 服务时,它将提供包含引导菜单的网络数据包。

1.安装

#$ sudo apt install tftp-hpa tftpd-hpa openbsd-inetd## 后来发现其实tftpd会开机自起,所以没必要下载openbsd-inetd$ sudo apt install tftp-hpa tftpd-hpa## 这样就可以了。

tftp是客户端,用于测试下载;
tftpd是服务器;
openbsd-inetd是tftp的自动启动服务

2.创建tftp服务器根目录/tftpboot

$ sudo mkdir -p /tftpboot/$ sudo chmod 0777 /tftpboot/

3.修改配置文件

## $ sudo vim /etc/inetd.conf  ## 这个是openbsd-inetd的配置文件,其中的配置是提供开机启动的## 后期发现tftpd-hpa会开机自起,不需要进行配置。## 如果配置了,反而因为端口冲突而造成失败
# 如果tftp可以开机自起,就不必配置了,否则反而因为端口冲突而失败#tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot
$ sudo vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"TFTP_DIRECTORY="/tftpboot"TFTP_ADDRESS=":69"#TFTP_OPTIONS="--secure"TFTP_OPTIONS="-l -c -s"RUN_DAEMON="yes"OPTIONS="-l-s /tftpboot"

4.启动

$ sudo update-inetd --enable BOOT$ sudo service tftpd-hpa start/restart 

5.测试

$ sudo netstat -lu

出现一下内容为正常:

Proto Recv-Q Send-Q Local Address    Foreign Address         Stateudp        0      0 *:tftp                  *:*

下载测试:

$ vim /tftpboot/test.txt

随便写入什么内容:

test:This file is used to test the TFTP server

在本机或另一台主机(要下载tftp客户端)

$ tftp server-iptftp-> get test.txttftp-> quit/exit

在本地打开文件查看内容

6.异常维护
曾出现过得情况:
在配置文件正常地情况下,重启服务器后tftp服务状态异常: /etc/init.d/tftpd-hpa status

● tftpd-hpa.service - LSB: HPA's tftp server   Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)   Active: failed (Result: exit-code) since Wed 2017-05-07 10:56:19 UTC; 1min 17s ago     Docs: man:systemd-sysv-generator(8)  Process: 3971 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=71)Feb 07 10:56:19 HOST001 systemd[1]: Starting LSB: HPA's tftp server...Feb 07 10:56:19 HOST001 tftpd-hpa[3971]:  * Starting HPA's tftpd in.tftpdFeb 07 10:56:19 HOST001 systemd[1]: tftpd-hpa.service: Control process exited, code=exited status=71Feb 07 10:56:19 HOST001 systemd[1]: Failed to start LSB: HPA's tftp server.Feb 07 10:56:19 HOST001 systemd[1]: tftpd-hpa.service: Unit entered failed state.Feb 07 10:56:19 HOST001 systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'.

重启也是失败的:/etc/init.d/tftpd-hpa restart

  [....] Starting tftpd-hpa (via systemctl): tftpd-hpa.serviceJob for tftpd-hpa.service failed because the control process exited with error code. See "systemctl status tftpd-hpa.service" and "journalctl -xe" for details. failed!

解决:
发现其实tftp服务会开机自动启动,不需要openbsd-inetd再去启动一次。以上问题的原因是openbsd-inetd已经启动了一个tftp服务,占了69端口,但是tftp服务本身会开机自起,所以会出现失败。
只要将/etc/inetd.conf中对tftp的开机自起注释并重启openbsd-inetd就可以了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
tftp配置方法及常见错误
ubuntu10.10安装配置tftp服务—— tftp-hpa 安装
ubuntu10.04虚拟机建立tftp服务器
ubuntu 12.04下的配置tftp服务器
Ubuntu 配置tftp服务
iTOP2K1000开发板安装tftp服务
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服