tftp

Установка и настройка TFTP-сервера в CentOS 7

Установка и настройка TFTP-сервера в CentOS 7
TFTP (Trivial File Transfer Protocol) - это облегченная версия FTP (File Transfer Protocol). TFTP не имеет многих дополнительных функций, таких как встроенная безопасность. TFTP также работает на UDP-порту 69 вместо любого TCP-порта. Но на момент написания статьи он все еще был полезен. Маршрутизаторы и коммутаторы CISCO используют сервер TFTP для резервного копирования и восстановления файлов конфигурации и образов IOS. Протоколы сетевой загрузки, такие как PXE, BOOTP и т. Д., Используют TFTP. Есть еще много вариантов использования TFTP.

В этой статье я покажу вам, как установить и настроить TFTP-сервер на CentOS 7. Итак, приступим.

Установка и настройка TFTP-сервера:

Сначала обновите кеш репозитория пакетов YUM с помощью следующей команды:

$ sudo yum makecache

Теперь установите TFTP-сервер и клиентские пакеты с помощью следующей команды:

$ sudo yum install tftp tftp-server

ПРИМЕЧАНИЕ: Клиентский пакет TFTP tftp устанавливается для тестирования TFTP-сервера после настройки.

Теперь нажмите у а затем нажмите продолжать.

Необходимо установить клиентские и серверные пакеты TFTP.

TFTP по умолчанию использует systemd. Но не рекомендуется изменять служебные файлы systemd по умолчанию. Итак, я собираюсь скопировать служебные файлы systemd tftp-сервера в / и т. д. / systemd / система каталог на всякий случай.

Чтобы скопировать значение по умолчанию tftp.услуга файл в / и т. д. / systemd / система каталог, выполните следующую команду:

$ sudo cp -v / usr / lib / systemd / система / tftp.сервис / etc / systemd / system / tftp-server.услуга

Новый служебный файл tftp называется tftp-сервер.услуга который мы можем изменять сколько угодно.

Также скопируйте tftp.разъем файл в / и т. д. / systemd / система каталог с помощью следующей команды:

$ sudo cp -v / usr / lib / systemd / система / tftp.сокет / etc / systemd / system / tftp-server.разъем

Новый файл сокета tftp-сервер.разъем над которым мы можем работать.

Теперь откройте tftp-сервер.услуга файл для редактирования с помощью следующей команды:

$ sudo vi / etc / systemd / system / tftp-сервер.услуга

tftp-сервер.услуга файл должен быть открыт. Теперь вам нужно изменить строки, как отмечено на скриншоте ниже.

Я заменил tftp.разъем с участием tftp-сервер.разъем. Я также изменил команду (ExecStart), который запускает демон TFTP. В -c Опция TFTP позволит вам загружать файлы на сервер, -п вариант решит многие проблемы с разрешениями, а -s наборы опций / var / lib / tftpboot как каталог, к которому вы можете получить доступ через TFTP.

Также добавьте WantedBy = многопользовательский.цель в [Установить] раздел, как отмечено на скриншоте ниже.

Это финал tftp-сервер.разъем файл. Теперь сохраните файл.

Теперь откройте tftp-сервер.разъем файл для редактирования с помощью следующей команды:

$ sudo vi / etc / systemd / system / tftp-сервер.разъем

Теперь добавьте BindIPv6Only = оба линия в [Разъем] раздел, как отмечено на скриншоте ниже, и сохраните файл.

Чтобы включить анонимную загрузку на TFTP-сервер, вам необходимо выполнить некоторую конфигурацию SELinux.

Для настройки SELinux установите policycoreutils-python пакет с помощью следующей команды:

$ sudo yum install policycoreutils-python

Теперь нажмите у а затем нажмите продолжать.

policycoreutils-python пакет должен быть установлен.

Теперь включите анонимную запись SELinux TFTP с помощью следующей команды:

$ sudo setsebool -P tftp_anon_write 1

Каталог TFTP / var / lib / tftpboot. Он должен иметь права на чтение, запись и выполнение для владельца каталога, группы и других, чтобы загрузка и загрузка по TFTP работали. В противном случае вы получите ошибку разрешения.

Вы можете назначить требуемые права доступа к каталогу для / var / lib / tftpboot каталог с помощью следующей команды:

$ sudo chmod 777 / вар / библиотека / tftpboot

Теперь попробуйте запустить tftp-сервер service с помощью следующей команды:

$ sudo systemctl start tftp-сервер

Теперь проверьте, есть ли tftp-сервер служба запускается с помощью следующей команды:

$ sudo systemctl status tftp-server

Как видите, сервис активен или работает. Итак, TFTP должен быть настроен правильно.

Теперь, когда служба TFTP запущена, мы должны протестировать сервер TFTP, чтобы узнать, работает он или нет.

Сначала выполните следующую команду, чтобы найти IP-адрес вашего TFTP-сервера.

$ ip a

Как видите, IP-адрес 192.168.11.134. Для тебя будет иначе. Так что не забудьте заменить его теперь своим.

Теперь подключитесь к TFTP-серверу с помощью следующей команды:

$ tftp 192.168.11.134

Вы должны быть связаны.

Теперь включите подробный режим следующим образом:

tftp> подробный

Теперь попробуйте загрузить файл (скажем, Привет.текст) на сервер TFTP следующим образом:

tftp> поставить привет.текст

Как видите, файл успешно загружен на сервер TFTP.

Теперь выйдите из командной строки TFTP.

tftp> выйти

Теперь, когда все работает правильно, добавьте tftp-сервер службы для запуска системы с помощью следующей команды:

$ sudo systemctl включить tftp-сервер

Теперь настройте программу межсетевого экрана firewalld, чтобы разрешить запросы TFTP к серверу, с помощью следующей команды:

$ sudo firewall-cmd --zone = public --add-service = tftp --permanent

Теперь перезагрузите firewalld, чтобы изменения вступили в силу, с помощью следующей команды:

$ sudo firewall-cmd --reload

Сервер TFTP должен быть настроен.

Известные проблемы:

Когда вы пытаетесь загрузить файлы на TFTP-сервер со своего компьютера, вы можете увидеть Время передачи истекло ошибка, как отмечено на скриншоте ниже. Это известная проблема в системах CentOS и RHEL. TFTP использует порт UDP для связи, и по какой-то причине брандмауэр клиента блокирует его. Это причина этой ошибки.

Чтобы решить эту проблему, отключите брандмауэр на клиенте и попробуйте загрузить файл еще раз. Он должен работать, как вы можете видеть на скриншоте ниже.

Итак, вот как вы устанавливаете и настраиваете TFTP-сервер на CentOS 7. Спасибо, что прочитали эту статью.

Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...