Установка TFTP-HPA сервера (tftpd-hpa) в Linux
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.
[…] Установка TFTP-HPA сервера (tftpd-hpa) в Linux […]
А у меня локально работает, а удаленно — нет. iptables и ufw не, порт доступен. Куда смотреть ?
Проброс портов настроен?