在CentOS 8或RedHat 8上安装tftp服务器

今天的文章将很小。 总的来说,我认为一切都非常简单,但是自从CentOS8最近发布以来,关于它的指南很少,尤其是关于CentOS的tftp,我在互联网上看到了很多坦率的有害技巧,因此我将尝试提出一种趋势,以从新版本发布之日起立即纠正这种情况。 因此,让我们开始讨论我们需要的三个可怜的五个团队。 首先,安装所有必需的软件包:

sudo dnf -y install xinetd tftp-server tftp vim 

现在,我们将创建(或修复)xinetd配置文件,以便在访问相应端口时启动tftp服务器,这可以通过标准vi编辑器,大多数人最熟悉的nano或不同于默认vi的vim来完成。具有更广泛的功能,包括语法突出显示。 我喜欢最后一段,所以这个编辑器是上面命令中的最后一个单词。 如果有人对系统中可用的编辑器感到满意,则无法安装vim(尽管除了使用额外的60 MB磁盘空间外,他也不会做得更糟)。

 sudo vim /etc/xinetd.d/tftp 

在这里,您需要进入文本插入模式(类型:设置粘贴并输入),然后编辑(键盘上的插入键),然后选择下面的配置文件,然后复制并粘贴到终端窗口中。

在编辑配置文本时,请注意server_args参数。 在该行的末尾,给出了tftp给定文件所在目录的路径。 将此目录更改为您应该使用的目录。 我也想马上说,有必要在SeLinux中配置一个tftp服务器以使用该目录,在CentOS中没有tftp服务器的“默认”配置。 现在,我将不再撰写SeLinux的配置,因为那样我将以某种方式编写有关此主题的单独文章。

 # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -v -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 

接下来,按Esc键,然后按“:wq”并输入。

现在打开服务器:

 sudo systemctl start xinetd sudo systemctl enable xinetd sudo firewall-cmd --permanent --zone=public --add-service=tftp && sudo firewall-cmd --reload 

是的,虽然这并不完全明显,但您无需在启动时挂起tftpd。
接下来,您需要检查一切是否正常。 我们创建一些文件,然后尝试下载(我是为常用文件存储路径完成的,如果您有其他文件,请在此处进行更改):

 echo passed > ~/test.txt sudo mv ~/test.txt /var/lib/tftpboot tftp 127.0.0.1 -c get test.txt cat test.txt 

如果控制台中出现单词“ passed”,则表明服务器正在运行。 如果同时无法从本地网络访问它-处理Firewalld中的区域,我们就可以访问公共区域,并不是每个人都需要从该区域访问tftp。

PS如果评论中有问题,我将解释如何将centos 8从Firewalld转移到iptables,但是恕我直言,它们之间没有根本区别。

Source: https://habr.com/ru/post/zh-CN470303/


All Articles