TFTP – простой протокол передачи файлов. В нем, в отличии от FTP, отсутствует авторизация. Используется в большей части для загрузки обновлений и конфигураций в сетевые устройства. В моей практике широко используется в работе с коммутаторами, также известно, что ряд АТС и телефонных аппаратов требуют наличия TFTP сервера для проверки обновлений и получения конфигурации при загрузке.
Предлагаю рассмотреть развертывание TFTP сервера на базе Ubuntu с учетом того, чтобы была возможность изменять его файлы посредством обычного FTP.
В Ubuntu доступно несколько TFTP-серверов, рассмотрим установку и настройку tftpd-hpa, atftpd и tftpd. Работать одновременно на 69 порту они не могут, так что Вам необходимо выбрать, какой именно сервер будет использоваться или в конфигурации указывать номер порта для каждого сервиса.
1. Создание каталога для хранения данных tftp-сервера
Я предлагаю пойти довольно простым путем. Создать пользователя tftp и в его домашней директории создать каталог, с которым будет работать tftp-сервера. Это обеспечит доступ по FTP при условии, если у Вас установлен FTP-сервер
# sudo adduser tftp
Добавляется пользователь «tftp» ...
Добавляется новая группа «tftp» (1002) ...
Добавляется новый пользователь «tftp» (1001) в группу «tftp» ...
Создаётся домашний каталог «/home/tftp» ...
Копирование файлов из «/etc/skel» ...
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: password updated successfully
Changing the user information for tftp
Enter the new value, or press ENTER for the default
Full Name []: TFTP User
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Данная информация корректна? [Y/n] y
# sudo mkdir /home/tftp/tftp
# sudo chown tftp:tftp /home/tftp/tftp/
Пароль, который Вы укажете при создании пользователя, в дальнейшем используется при доступе по FTP для пользователя tftp
2. Установка сервера
2.1 Установка tftpd-hpa
sudo apt-get install tftpd-hpa
В файле /etc/default/tftpd-hpa изменяем путь к tftp-каталогу и опции работы. Пример файла конфигурации
TFTP_USERNAME="tftp" #Имя нашего пользователя
TFTP_DIRECTORY="/home/tftp/tftp" #Путь к каталогу
TFTP_ADDRESS=":69" # IP-адрес и порт на котором работает сервер
TFTP_OPTIONS="--secure --create" #--create – дает возможность производить запись, если ее не указать возможно только чтение
Перезапускаем сервис, чтобы изменения вступили в силу
sudo service tftpd-hpa restart
2.2 Установка atftpd
sudo apt-get install atftpd
sudo touch /var/log/atftpd
Правим файл конфигурации /etc/default/atftpd на
USE_INETD=false
OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 --port 69 --user tftp –group tftp --logfile /var/log/atftpd /home/tftp/tftp"
И перезапускаем сервис
service atftpd restart
В примере конфигурационного файла указано ведение логов в файл /var/log/atftpd, если это Вам не нужно, уберите --logfile /var/log/atftpd
2.3 Установка и настройка tftpd
Это наиболее простой tftp-сервер, работает, как сервис inetd
sudo apt-get install tftpd
Настройка
В файле конфигурации /etc/inetd.conf
Меняем строку
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
на
tftp dgram udp wait tftp /usr/sbin/tcpd /usr/sbin/in.tftpd -s /home/tftp/tftp
Данный TFTP-сервер «умеет» только отдавать файлы, но не принимает их.
3. Устранение возможных проблем
Посмотреть сервис, который занимает порт tftp
sudo netstat -apn | grep ":69 "
Если при работе сервера возникают ошибки, возможно, проблемы с правами доступа к каталогу. Для исправления прав доступа выполните:
sudo chown -R tftp:tftp /home/tftp/tftp/ && chmod -R 666 /home/tftp/tftp/
Заключение
Для работы я предлагаю выбирать tftpd-hpa или atftpd, они имеют возможность «тонкой настройки», позволяя легко и быстро добиться нужного результата. В примере настроек, описанных выше, Вы сможете, как получать файлы, так и записывать их на TFTP-сервер, что полезно в случае, если необходимо хранить резервные копии конфигурации сетевого оборудования.
Если у Вас возникли вопросы, задавайте их в комментариях.
Комментариев нет:
Отправить комментарий