ubuntu tftp 配置

tftp已配置多次,每次都要耗费半天时间去百度配置方法

可是找出来的方法不是描述不清,就是根本找不到所描述的文件,也有的是缺少重要的服务安装,估计博主电脑上曾经装过,所以没出现什么问题。

现在及大家所长,整理安装配置过程如下:

一般的发行版认都没有安装TFTP服务以及TFTP服务器。TFTP服务依赖于网络守护进程服务程序,可选择安装inetd或者升级版的xinetd,然后安装tftp和tftp-server,接着修改或者创建/etc/xinetd.d/tftp配置文件,最后重启xinetd,启动TFTP服务。无论采用什么发行版,TFTP服务器的安装都是这样的流程,只不过不同发行版的安装命令不同而已,下面以ubuntu为例进行说明。


一 安装xinetd:
ky@ubuntu:~$ sudo apt-get install xinetd
建立配置文件。建立/etc/xinetd.d/tftp文件,写入如下内容
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/ -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

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


其中server_args设置的/var/tftpboot目录是tftp服务器的目录,设置其访问权限为777:
ky@ubuntu:~$ sudo mkdir -pv /var/tftpboot/
ky@ubuntu:~$ sudo chmod 777 /var/tftpboot/


二.安装tftp-server

sudo apt-get install tftpd-hpa

sudo apt-get install tftp-hpa(如果不需要客户端可以不安装)

tftp-hpa是客户端

tftpd-hpa是服务器端

三.配置TFTP服务器

sudo vim /etc/default/tftpd-hpa

将原来的内容改为:

TFTP_USERNAME="tftp"

TFTP_ADDRESS="0.0.0.0:69"

TFTP_DIRECTORY="tftp根目录" #服务器目录,需要设置权限为777,chomd 777

TFTP_OPTIONS="-l -c -s"

(重启Linux系统)

四.本机测试。在/tftpboot目录下创建一个ky文件,启动另外一个终端,输入:
ky@ubuntu:~$ tftp 127.0.0.1
tftp> get ky #获取ky文件
tftp> q #退出tftp
在终端输入ls命令,可以看到当前目录下看到ftp获取到的ky文件

如果测试成功,至此 TFTP安装配置完成


下面是调试板卡的时候可以做的一下额外测试和应用

用开发板来验证tftp服务器是否可用。启动开发板,进入U-Boot命令行,用tftp命令加载tftp服务器中的文件,如:
U-Boot$ tftp 80008000 zImage
ENET:auto-negotiation complete
ENET:Link status up
ENET:FULL DUPLEX
ENET:100MBase
MAC: 00:61:62:69:6e:67
TFTP from server 192.168.1.3; our IP address is 192.168.1.5
Filename 'zImage'.
Load address: 0x80008000
Loading: #################################
done
Bytes transferred = 479927 (752b7 hex)
说明:
(1)使用开发板与虚拟机安装的客户系统进行TFTP通讯,需要将虚拟网卡设置为Bridged模式,并建议使用静态IP地址。
(2)如果以上设置都确认无误,但tftp还是不成功,请检查主机的防火墙是否已经关闭

  /etc/init.d/iptables stop //关闭防火墙

  sudo ufw disable //关闭防火墙(ubuntu)

PS:

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

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

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

BusyBoxtftp命令的用法
命令格式为:

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

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...