ubuntu 配置 tftp 服务器教程
第1步:安装tftp
sudoapt-getinstalltftp-hpa--------客户端的安装 sudoapt-getinstalltftpd-hpa-------服务器端的安装
然后还需要安装xinetd,在终端下输入sudoapt-getinstallxinetd
第2步:配置/etc/xinetd.conf
配置相关服务文件。进入根目录下的etc文件夹(cd/etc/),首先看目录中有没有一个
xinetd.conf文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则
修改,内容如下:
#Simpleconfigurationfileforxinetd # #Somedefaults,andinclude/etc/xinetd.d/ defaults { #Pleasenotethatyouneedalog_typelinetobeabletouselog_on_success #andlog_on_failure.Thedefaultisthefollowing: #log_type=SYSLOGdaemoninfo } includedir/etc/xinetd.d
第3步:配置/etc/default/tftpd-hpa
配置tftp服务器
命令:
sudovim/etc/default/tftpd-hpa 将内容修改成 #/etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot" #这是你tftp服务器的工作目录,自行修改,注意,在新建工作目录时,最好修改其权限为777, 命令sudochmod777/tftpboot TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l-c-s"
第4步:配置/etc/xinetd.d/tftp
然后进入xinetd.d文件夹(cdxinetd.d),查看是否有一个tftp文件,如果没有就新建
一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:
servicetftp { socket_type=dgram wait=yes disable=no user=root protocol=udp server=/usr/sbin/in.tftpd server_args=-s/tftpboot #log_on_success+=PIDHOSTDURATION #log_on_failure+=HOST per_source=11 cps=1002 flags=IPv4 }
其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从
该文件夹中搜索文件的
第5步:修改权限
修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文
件夹,以我的配置文件为例,创建一个文件夹(sudo
mkdir/tftpboot),然后把它可以
设置成访问权限最宽松的(sudochmod777/tftpboot),也可以设置成合适的权限。
第6步:设置dhcp并重启网卡
vi/etc/network/interfaces,打开该文件,将内容编辑成为: autolo ifaceloinetloopback autoeth0 ifaceeth0inetdhcp address192.168.1.141//这项根据自己的情况自己设置 netmask255.255.255.0 gateway192.168.1.1
保存退出。然后命令行执行/etc/init.d/networking restart重启网卡
第7步:重启服务
执行次序:
sudoservicetftpd-hparestart sudo/etc/init.d/xinetdreload sudo/etc/init.d/xinetdrestart
第8步:本地测试与防火墙的设置
可以在本地先进行一下测试。首先在/tftpboot中新建一个文件file,然后在其中随便输入内容;然后进入一个不是/tftpboot的目录下(原因是避免混淆,因为在获取文件是默认是将想要获取的文件存放在当前目录下的);再在终端中输入sudotftplocalhost,进入tftp命令符下(可以在其中输入help查看命令和命令的作用),输入getfile,如果没有任何提示,就说明传输成功了,然后输入q退出tftp命令符,在当前目录下就可以看到一个file文件,内容是与开始新建的那个file的内容是一致的。同样也可以在tftp命令符中输入putxx,把xx文件上传到服务器文件夹中。如果一切ok,那就么一个可用的tftp服务器就顺利搭建成功了。
对于上面的测试是针对本地测试的,如果想要对其他电脑或者开发板进行tftp传输,则在终端输入sudotftpxxx(即目标电脑或目标开发板的ip地址),而且还要关闭ubuntu自带的防火墙(书上说的),直接把防火墙给卸载了(sudoapt-getremoveiptables,或sudoufwdisable可以关掉防火墙),因为对于Linux来说,防火墙可能没什么需要,至少目前为止还没有受到过攻击。。。当然,想要与其他局域网内的电脑或开发板互联进行传输,还要将这些机器的ip改到同一个段内。好了,通过以上的步骤,就可以通过tftp协议,在电脑和开发板之间进行文件传输了,目前的目的就是下载Linux内核和文件系统到开发板。
以上所述是小编给大家介绍的ubuntu配置tftp服务器教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!