TFTP (Простой протокол передачи файлов) был впервые описан в 1980 году. Это довольно старый протокол, опубликованный в июне 1981 года как версия 2 протокола TFTP в RFC 783 (запрос комментариев) Карен Р. Соллинз.
В первые дни основной целью TFTP была отправка и получение файлов по сети. В частности, он использовался для передачи файлов, необходимых во время загрузки, чтобы системы могли загружаться по сети.
Вот как вы можете настроить TFTP-сервер на компьютере с Linux.
Что такое TFTP?
TFTP по-прежнему используется для передачи файлов, и поддерживаемые им функции не претерпели принципиальных изменений. TFTP используется для загрузки и отправки файлов по UDP/IP. Он не имеет дополнительных функций, таких как контроль идентификации и авторизации, список файлов, удаление или переименование, которые обычно встречаются в других протоколах передачи файлов.
В отличие от продвинутых протоколов передачи файлов, которые используют TCP на уровне передачи, он работает по протоколу UDP. и не имеет таких функций, как проверка того, идут ли пакеты, принадлежащие файлу, к другому сторона. Из-за этого ограничения он больше подходит для использования в локальных сетях, чем в Интернете или глобальных сетях.
Несмотря на все перечисленные выше кажущиеся отрицательными черты, одним из очень сильных аспектов протокола TFTP является его простота. Реализация протокола довольно проста по сравнению с его альтернативами, даже для сред, в которых нет операционной системы. Благодаря этой особенности он имеет широкую область применения во встраиваемых системах.
Установка TFTP-сервера в Linux
При работе со встроенными устройствами важно установить службу сервера TFTP. В системах Linux могут работать несколько реализаций TFTP-сервера. Если вы используете Дистрибутив на основе Debian, вы можете установить tftpd-hpa, tftpd, или же atftpd пакеты. Если вы не уверены, какой из них выбрать, рассмотрите возможность установки пакета tftpd-hpa.
Судо подходитполучить установить tftpd-hpa
После установки служба TFTP начнет прослушивать UDP-порт 69. Чтобы передать файлы другим системам через TFTP-сервер, необходимо помнить о нескольких предварительных условиях:
- Копирование необходимого файла в домашний каталог TFTP или каталог ниже этого домашнего каталога
- Делаем права доступа к файлам видимыми для публики
Чтобы узнать, что такое домашний каталог сервера TFTP, вы можете посмотреть TFTP_КАТАЛОГ переменная в /etc/default/tftpd-hpa файл. Обычно вы увидите такие каталоги, как /var/lib/tftpboot или же /srv/tftp. Если вы хотите, вы можете изменить этот каталог и перезапустить службу.
кошка /и т.д/дефолт/tftpd-hpa
Для простоты использования, если вы измените владельца соответствующего домашнего каталога TFTP на свою учетную запись пользователя, вам не нужно будет добавлять префикс sudo к каждой выполняемой вами команде. Используйте команду chown, чтобы изменить владельца с root на текущего пользователя:
sudo chown -R $USER /srv/tftp
Имена пакетов сервера TFTP и домашние каталоги по умолчанию могут различаться в зависимости от используемого дистрибутива Linux.
Отправка файлов с помощью TFTP-сервера
Иногда бывают ситуации, когда TFTP — единственный способ переместить файл с вашего встроенная система Linux к внешней среде. Например, иногда система может не поддерживать записываемые носители, с помощью которых можно передать файл.
В таких случаях, поскольку клиент TFTP, вероятно, будет скомпилирован в занятой ящик, вы можете отправить файл, сохраненный в системе, на TFTP-сервер в сети.
Чтобы использовать клиентское приложение TFTP, выполните команду занятбокс tftp команда:
занятбокс tftp
Чтобы отправить образец файла на TFTP-сервер, вам нужно использовать такую команду:
занятой ящикtftp-лпример.bin-п 192.168.1.100
Хотя приведенная выше команда верна, вы получите сообщение об ошибке при передаче файла на ваш TFTP-сервер. Поскольку возвращаемое сообщение об ошибке не говорит само за себя, трудно понять, в чем заключается настоящая проблема.
Проблема здесь из-за некоторых процедур безопасности на сервере TFTP. TFTP требует, чтобы файл с таким же именем находился в каталоге, куда будет записан файл в качестве предварительного условия для загрузки файла и что доступ на запись для этого файла должен быть доступен для каждый.
Другими словами, невозможно загрузить файл, которого нет на TFTP-сервере, через TFTP-клиентов. Если вы создадите пустой файл с тем же именем и отредактируете его права доступа, описанный выше процесс загрузки будет успешным. Для этого необходимо выполнить следующие команды в домашнем каталоге соответствующего TFTP-сервера:
CD /srv/tftp
трогатьпример.bin
chmod 666 пример.bin
Теперь вы можете успешно выполнить загрузку.
Также можно отключить указанную выше меру безопасности и заставить TFTP-сервер создать несуществующий файл. Для этого можно использовать -с или же --Создайте параметр при запуске tftpd-hpa заявление. Достаточно добавить этот параметр к существующему TFTPD_OPTIONS переменная в /etc/default/tftpd-hpa файл:
# /etc/по умолчанию/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_КАТАЛОГ="/srv/tftp"
TFTP_АДРЕС="0.0.0.0:69"
TFTP_OPTIONS="--безопасный --создать"
Зачем использовать TFTP-сервер для передачи файлов?
Наиболее важным преимуществом TFTP является его скорость и экономия времени. Это идеальный вариант для переноса конфигурационных файлов сетевых устройств в другие системы. Кроме того, у него очень простые критерии использования. Он удобно работает с программным обеспечением как в операционных системах Windows, так и в Linux. Наконец, TFTP всегда готов помочь в ситуациях, когда вы технически не можете использовать FTP.
Самый большой недостаток, конечно же, в том, что это небезопасно. Таким образом, вы должны проявлять большую осторожность при передаче файлов с использованием TFTP-сервера.
Помимо передачи файлов, вы не можете выполнять такие функции, как удаление, редактирование и изменение файлов с помощью TFTP-сервера. Эта функция является серьезным недостатком для тех, кто использует или ищет передовые системы. Наконец, он не требует аутентификации, что является серьезным недостатком, если вы серьезно относитесь к своей безопасности.
Настройка TFTP в других операционных системах
Если вы собираетесь использовать TFTP в Windows, вам не нужно устанавливать какое-либо стороннее программное обеспечение. Вы можете включить TFTP с помощью параметра «Включить или отключить функции Windows» на панели управления.