Установка tftp сервера на CentOS 8 или RedHat 8

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Сегодня статья будет маленькая. Вообще, на мой взгляд всё довольно просто, но поскольку CentOS8 вышел недавно, гайдов на него мало, а конкретно про tftp под CentOS я видел в Интернете много откровенно вредных советов, поэтому постараюсь задать трэнд на исправление ситуации прямо с момента выхода новой версии. Итак, приступим (к набору тёх жалких пяти команд, которые нам нужны). Для начала установим все требующиеся пакеты:

sudo dnf -y install xinetd tftp-server tftp vim

Теперь создадим (или исправим) файл конфигурации xinetd так, чтобы он запускал сервер tftp при обращении к соответствующему порту, это можно делать через стандартный редактор vi, через nano, который большинству людей привычнее или через vim, отличающийся от входящего в состав системы по умолчанию vi тем, что имеет более широкий функционал, включая подсветку синтаксиса. Я предпочитаю последний пункт, поэтому последним словом в приведенной выше команде был именно этот редактор. Если кого-то устраивают имеющиеся в системе редакторы, vim можно не ставить (хотя помимо использования дополнительных 60 МБ дискового пространства, хуже он тоже не сделает).

sudo vim /etc/xinetd.d/tftp

Тут надо перейти в режим вставки текста (набрать :set paste и ввод), потом редактирования (клавиша Insert на клавиатуре), потом выделить приведенный ниже конфигурационный файл, скопировать и вставить в окно терминала.

Когда будете редактировать текст конфига, обратите пожалуйста внимание на аргумент server_args. В конце строки задан путь к каталогу, где будут лежать файлы, отдаваемые по tftp. Поменяйте этот каталог на тот, который должен использоваться у вас. Также сразу хочу сказать, что на работу с этим каталогом надо будет настроить tftp сервер в SeLinux, конфигурации «по умолчанию» для tftp сервера в CentOS'е нет. Сейчас я про настройку 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, мы сделали доступ для зоны public, не всем доступ к tftp нужен именно из неё.

P.S. Если будут вопросы в комментариях, объясню как перевести centos 8 с firewalld на iptables, но ИМХО принципиальной разницы между ними нет.
Источник: https://habr.com/ru/post/470303/


Интересные статьи

Интересные статьи

В первой части мы успешно развернули роль "терминальный сервер Windows" и приступили к его конфигурированию. Разобрались в методах организации хранения данных пользовател...
После публикации первой части статьи по установке своего Minecraft сервера, ко мне обратился один читатель Хабра. В письме он написал, что по неосторожности показал мою статью своим детям и е...
VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.
Сегодня мой внешний IP был заблокирован в сервисе IVI с сообщением Ваш ip-адрес идентифицируется как анонимный. Пожалуйста, обратитесь к своему интернет-провайдеру. IP адрес <IP>. Данные ...
Картридж Super Game Boy, позволяющий играть в игры для Game Boy на SNES, аппаратно во многом похож на обычный Game Boy. У них совпадают процессор, распределение адресного пространства. Но нет р...