Установка TFTP-HPA сервера (tftpd-hpa) в Linux

1
3740

TFTP — простой протокол для передачи файлов по сети, использует протокол UDP (по порту 69), не поддерживает аутентификацию и шифрование.

Tftpd-hpa это программа, создающая TFTP сервер и обеспечивающая возможность бездисковой Загрузки компьютера по сети.

TFTP часто используется для загрузки файлов (прошивок, конфигураций) на устройства (маршрутизаторы, мини-АТС и другие), но его можно использовать и для простой пересылки файлов по сети между компьютерами. Для Linux доступно несколько TFTP демонов (серверов): tftpd, atftpd, tftpd-hpa. Вы можете использовать любой из них. Я расскажу, как устанавливать tftpd-hpa.

У него можно отметить два достоинства:

  • Умеет работать автономно, без помощи inetd,
  • Есть опция, разрешающая создание новых файлов, что полезно для сохранения резервных копий конфигурации оборудования.

к содержанию ↑

Установка tftpd-hpa сервера

Обновляем систему:

# apt-get update && apt-get upgrade -y

Выполняем установку TFTP из стандартных репозиториев:

# apt-get install tftpd-hpa

Создадим директорию для TFTP сервера и назначим на нее права доступа:

# mkdir -p /tftp
# chmod -R 777 /tftp/
# chown -R nobody:nogroup /tftp/

Настройка TFTP сервера

Конфигурационный файл tftpd-hpa по умолчанию находится в папке  /etc/default/tftpd-hpa.
Папка с размещением файлов находится тут /var/lib/tftpboot.

Выполняем бэкап файла конфигурации TFTP сервера:

# cp /etc/default/tftpd-hpa{,.bak}

Файл /etc/default/tftpd-hpa, приводим к виду:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"
В настройках указаны дополнительные опции:
  • -create разрешает серверу создавать новые файлы,
  • -ipv4 предписывает ему ожидать подключений только на адресах IPv4,
  • -umask предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
  • -permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.

Рестарт TFTP сервера:

# service tftpd-hpa restart

Готово. Настройка TFTP сервера окончена.

к содержанию ↑

Изменение разрешений на корневой каталог TFTP

Корневой каталог, в котором должны храниться файлы для доступа к ним через TFTP, – это /var/lib/tftpboot. Если вы хотите иметь возможность загружать файлы в этот каталог, выполните следующую команду.

sudo chown -R tftp:tftp /var/lib/tftpboot

Проверка работы TFTP сервера, использование TFTP клиента

Для проверки статуса сервиса

service tftpd-hpa status

Для проверки доступности порта

netstat -a | grep tftp

Для начала установим TFTP клиент, чтобы можно было подключаться к TFTP северу. Для установки TFTP клиента выполните в терминале команду:

sudo apt-get install tftp

Теперь создадим на сервере в директории /tftpboot какой-нибудь файл, например, myfile. Для создания файла myfile и записи в него текста «This is my file» выполните в терминале команду:

echo This is my file > /tftpboot/myfile

Теперь мы можем запустить TFTP клиент командой tftp. Команда tftp принимает в качестве параметра IP адрес сервера. Если вы запускаете клиент на локальном компьютере, то укажите IP адрес 127.0.0.1, если же на удаленном компьютере, то укажите IP адрес сервера.

tftp 127.0.0.1

Когда клиент запустится, вы попадете в режим ввода команд для клиента TFTP. Выполните команду get myfile, которая означает получить файл с именем myfile с сервера.

tftp> get myfile

В случае, если вы все сделали правильно, файл myfile загрузится с TFTP сервера. Для выхода из TFTP клиента введите команду quit.

1 comment

Оставьте свой ответ