TFTP – это тривиальный протокол передачи файлов в компьютерной сети, представляющий собой упрощённую версию протокола передачи файлов FTP. TFTP не использует протокол TCP, при этом используя UDP-порт 69. Как правило, это медленнее, потому что протокол TFTP не поддерживает кадрирование. В результате, если задержка в сети высока, её эффективность снизится. Вот почему он широко используется в основном в локальных сетях. TFTP применяется там, где нет необходимости аутентифицировать пользователя и просматривать содержимое удалённых каталогов. В этом руководстве мы разберём, как установить tftp-сервер и произвести его первоначальную настройку на Ubuntu 20.04.
Установка и предварительная настройка tftp-сервера
Установку tftp-сервера необходимо производить на предварительно настроенный VPS. Как минимум, все работы на сервере нужно проделывать с использованием специально созданной учётной записи, обладающей полномочиями администратора. Кроме того, доступ к VDS должен быть защищён при помощи настроенного межсетевого экрана.
Как всегда перед установкой нового программного обеспечения запустите обновление списка пакетов:
$ sudo apt update
Следующая команда запускает установку пакета tftpd-hpa
:
$ sudo apt install tftpd-hpa
Проверить состояние установленного пакета можно при помощи следующей команды:
$ sudo systemctl status tftpd-hpa

По умолчанию настройки tftpd-hpa
содержатся в файле /etc/default/tftpd-hpa
. Это означает, что для внесения изменений в конфигурацию пакета необходимо отредактировать данный файл. Чтобы это сделать, перейдите в каталог /etc/default
и откройте для редактирования файл tftpd-hpa
:
$ cd /etc/default
$ sudo nano tftpd-hpa

Конфигурационный файл tftpd-hpa
содержит следующие дефолтные настройки:
TFTP_USERNAME
– содержит имя пользователя, от которого производится запуск tftp-сервера –tftp
;TFTP_DIRECTORY
– устанавливает имя директории, к которой будет производиться подключение через TFTP –/srv/tftp
;TFTP_ADDRESS
– содержит номер порта, через который будет установлено соединение с tftp-сервером –69
;TFTP_OPTIONS
– параметры запуска tftp-сервера, где параметр--secure
– это функция безопасности, которая означает изменение каталога TFTP на значение, заданное в переменнойTFTP_DIRECTORY
при автоматическом подключении к tftp-серверу. Также в данной переменной вы можете указать параметр--create
, который позволяет производить запись в директорию tftp-сервера. Если параметр--create
отсутствует, вы будете иметь доступ к директории только на чтение.
Например, на нашем тестовом сервере мы изменим директорию, к которой будет производиться подключение, на /tftp/
. А также добавим параметр --create
в строку TFTP_OPTIONS
.

После внесения каких-либо изменений в конфигурацию tftp-сервера, необходимо сохранить файл при выходе из него.
Далее, поскольку мы изменили в настройках директорию TFTP, нужно создать её на нашем тестовом сервере:
$ sudo mkdir /tftp
А также необходимо установить соответствующих владельца и группу для созданного каталога:
$ sudo chown tftp:tftp /tftp
И чтобы внесённые изменения вступили в силу, следует перезапустить службу tftpd-hpa
:
$ sudo systemctl restart tftpd-hpa
Проверка работоспособности tftp-сервера
После создания и предварительной настройки tftp-сервера уже можно попробовать использовать его для копирования файлов на tftp-сервер или с него. Чтобы воспользоваться сервисом, нам потребуется клиентское приложение, которое позволяет принимать и передавать файлы при помощи протокола TFTP. Скорее всего, такое приложение понадобится исключительно для тестирования tftp-сервера, поскольку в действительности на устройствах, которые будут использовать TFTP, оно уже будет проинсталлировано. Например, на коммутаторах и маршрутизаторах такого вендора, как CISCO, tftp-клиент установлен по умолчанию.
Например, на хосте, работающем под управлением Ubuntu или Debian, установка tftp-клиента производится при помощи следующей команды:
$ sudo apt install tftp-hpa
После того, как инсталляция завершится, можно будет подключиться к tftp-серверу. Для этого наберите в командной строке:
$ tftp X.X.X.X
Здесь X.X.X.X
– IP-адрес tftp-сервера.
И далее, для получения файла с tftp-сервера, введите команду:
get file.txt
Здесь file.txt
– имя файла, который мы копируем на наш linux-хост с tftp-сервера.
Для передачи того же файла file.txt
наоборот на tftp-сервер используйте команду:
put file.txt
Для выхода из командной строки TFTP введите:
quit