В этой статье я покажу вам, как установить и настроить 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. Спасибо, что прочитали эту статью.