tftp

О tftp

TFTP (Trivial File Transfer Protocol) используется в основном для первоначальной загрузки бездисковых рабочих станций, но так же часто используется для загрузки бинарных образов при прошивке различных устройств.

TFTP основан на транспортном протоколе UDP. По умолчанию сервер использует 69 порт.

Установка сервера

Устанавливать будем на Arch linux.

Существует несколько приложений способных работать в качестве tftp сервера. В качестве сервера был выбран tftp-hpa, который весьма прост в настройке и не потребляет много системных ресурсов.

Установка сервера

pacman -S tftp-hpa

Конфигурирование

В Arch linux, tftp-hpa сервер читает конфигурацию с файла /etc/conf.d/tftpd Формат конфигурационного файла довольно прост, это строки в формате КЛЮЧ=ЗНАЧЕНИЕ

Пример конфигурационного файла

# /etc/conf.d/tftpd

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="--secure /srv/tftp/"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

Если есть необходимость разрешить клиентам создавать файлы, то нужно добавить опцию –create

TFTP_OPTIONS="--secure --create"

Также есть возможность указать параметры одной строкой, к примеру

TFTPD_ARGS="--secure /srv/tftp/"

Описание всех параметров можно посмотреть в тут

Запуск сервиса

sudo systemctl start tftpd

Проверка работоспособности

Достаточно скопировать любой файл в корневую директорию сервера, а потом загрузить его с помощью клиента. К примеру создать файл test.txt и загрузить его.

cd /srv/tftp/
sudo echo "TEST!!!" > test.test
cd ~
tftp 192.168.1.1 -c get test.txt

тут 192.168.1.1 - ip адрес Вашего ПК

Если у Вас используется какое-то ПО для фильтрации трафика, то не забудьте разрешить соединения на tftp порт!