UBUNTU搭建TFTP服务器

时间:2021-05-04 09:59:42

1、安装TFTP服务器

sudo apt-get install tftpd-hpa

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

tftp-hpa是客户端

tftpd-hpa是服务器端

2、配置TFTP服务器

打开TFTP服务器的配置文件

# vi /etc/default/tftpd-hpa

可见到如下内容:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/xxx/tftpboot"  #-->这个是你的工作目录,需要自己选定,chmod 777 /tftp我是在根目录下搞了个
TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s"

3、重启服务器

$ sudo service tftpd-hpa restart # 启动服务使设置生效

4、测试服务器

在/tftpboot下新建文件1.txt  

# cd /home      #到home目录下

tftp 127.0.0.1/localhost     #tftp服务器主机IP地址,localhost表示本机

tftp> get 1.txt

Received 12 bytes in 0.0 seconds

tftp> quit 

退出后如果在/home下能找到1.txt文件,说明tftp服务器架设成功。如果手上有开发板或其它板,可在板上进一步验证。

=================================================================================

===========================yocto平台下安装搭建TFTP===============================

1、安装

host$ sudo apt-get install isc-dhcp-server tftpd-hpa xinetd

2、配置

设置DHCP

打开配置文件:gedit  /etc/dhcp/dhcpd.conf

# Basic boot sequence: AM335x ROM -> MLO -> barebox -> kernel
subnet 192.168.3.0 netmask 255.255.255.0
{
# The filenames must correspond to the barebox and MLO files which are placed in the /tftpboot directory
range dynamic-bootp 192.168.3.11 192.168.3.100;
if substring (option vendor-class-identifier, 0, 10) = "AM335x ROM"
{
filename "MLO";
}
elsif substring (option vendor-class-identifier, 0, 18) = "am335x barebox-mlo"
{
filename "barebox.bin";
}
range 192.168.3.101 192.168.3.199;

}

设置tftp

打开文件:gedit /etc/xinetd.d/tftp

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no

}

3、创建一个文件夹去存储tftp文件

host$ sudo mkdir /tftpboot
host$ sudo chmod -R 777 /tftpboot

host$ sudo chown -R nobody /tftpboot

4、绑定服务器到一个以太网接口,并未其设置IP地址

编辑文件:gedit /etc/default/isc-dhcp-server

INTERFACES="eth1"

可以通过 host$ ifconfig eth1 命令查看IP地址,并绑定此地址

eth1 Link encap:Ethernet HWaddr 00:11:6b:98:e3:47
inet addr:192.168.3.10 Bcast:192.168.3.255 Mask:255.255.255.0

5、重启服务器,使生效

host$ sudo service isc-dhcp-server restart
host$ sudo service tftpd-hpa restart