Linux系统安装TFTP服务器

tftp是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,可用于UDP环境,具有使用灵活和内存占用小的优点,默认端口号为69。本篇文章将介绍如何在CentOS7上安装tftp服务器。

一、安装tftp服务器

在进行tftp服务器的安装之前,我们需要切换用户到root,并且检查当前系统的yum源是否可用。如果yum源不可用,我们需要先换源或手动下载rpm包进行安装。接下来,使用以下命令安装tftp服务器:

su #切换用户到root
yum info yum #查看自己的yum源是否可用,不可用要先换源或者手动下载rpm包安装
yum install xinetd tftp tftp-server #使用yum安装tftp服务器


二、修改tftp服务默认配置

安装完成后,我们需要修改tftp服务的默认配置。首先,创建tftp文件的备份,然后使用vi编辑器打开tftp文件:

cp /etc/xinetd.d/tftp{,.bak} #在/etc/xinetd.d/目录下创建tftp文件的副本tftp.bak文件
vi /etc/xinetd.d/tftp #用vi编辑器编辑tftp文件

在编辑器中,我们需要进行两项修改:

  • 在server_args的属性-s /var/lib/tftpboot后面加个 -c
    (这里的-s指定tftpd的文件目录, -c表示允许上传文件)
  • 将disable属性改为no,编辑好之后:wq保存退出。

编辑完成后保存退出。 

:wq

三、开启tftp服务

接下来,我们需要授予tftpboot文件夹全权限,设置tftp和xinetd开机自启动,并启动服务。使用以下命令完成这些步骤:

chmod 777 /var/lib/tftpboot #授予tftpboot文件夹全权限755或者777
chkconfig tftp on #设置开机自启动
chkconfig xinetd on #设置开机自启动
service xinetd start #启动服务
service xinetd status #查看服务状态

显示服务是活跃的(Active),并且正在运行(Running)。


四、测试tftp功能

最后,我们需要测试tftp服务器的功能。使用以下命令连接tftp服务器,并查看可用的指令:

首先,使用以下命令连接到本地的tftp服务器:

tftp -v 127.0.0.1 #查看tftp是否连接

这将打开tftp命令行界面,接下来,键入?并按回车键,查看可用的指令列表。 

? #查看可用的指令

接下来,我们可以进行上传和下载的测试。在tftp命令行中,输入以下命令:

上传文件(这里以上传名为test.txt的文件为例):

tftp> put test.txt  #上传test.txt文件

或者,进行文件下载测试: 

tftp> get test.txt  #下载test.txt文件

如果一切设置正确,你将看到文件被成功上传或下载。这证明你的tftp服务器已经安装并配置正确。


五、自定义文件传输目录

在实际应用中,你可能需要创建一个自定义的目录用于tftp文件传输,而不是使用默认的目录。以下是创建自定义目录的步骤:

mkdir /path/to/custom/directory #创建自定义目录,替换为你想要的实际路径
chmod 777 /path/to/custom/directory #授予目录全权限,确保tftp服务器可以写入和读取

然后,修改tftp服务的配置,将默认目录更改为新创建的自定义目录:

vi /etc/xinetd.d/tftp

server_args 的属性 -s /var/lib/tftpboot 后面加上 -c -r /path/to/custom/directory。编辑完成后保存退出。

:wq

 重新启动xinetd服务以应用更改:

service xinetd restart

现在,tftp服务器将使用你指定的自定义目录进行文件传输。


六、配置防火墙规则

如果你的系统启用了防火墙,你需要确保防火墙允许tftp流量。以下是一个简单的防火墙规则设置:

firewall-cmd --zone=public --add-port=69/udp --permanent #添加tftp默认端口
firewall-cmd --reload #重新加载防火墙规则

七、其他注意事项

  • 安全性考虑: 使用tftp时,请注意它是一个不加密的协议,文件传输是明文的。因此,避免在不受信任的网络中使用tftp,或者考虑使用其他更加安全的文件传输协议。

  • 权限设置: 确保tftp服务器的目录和文件具有适当的权限设置,以便tftp用户可以进行读写操作。

通过以上步骤,你已经成功地在CentOS 7上安装并配置了tftp服务器,并了解了一些定制选项以及相关的安全性和权限考虑。希望这能够帮助你更好地使用tftp进行文件传输。