Задача выполнялась на сервере с операционной системой Debian, но работать аналогично будет и на Ubuntu Linux.
Для некоторых телефонов и другого сетевого оборудования для обновления прошивок, обновления конфигов и так далее требуется tftp сервер с удобным администрированием файлов в каталоге.
Для TFTP сервера мы используем 3 разных способа:
- Програмное обспечение tftpd tftp с запуском через inetd.
- Сервер tftpd-hpa
- DNSMASQ сервер по инструкции: Установка и настройка сервера Dnsmasq: DNS, DHCP и TFTP серверов
Для администрирования содержимого в папке TFTP мы используем FTP сервер vsftpd.
Создаем пользователя tftpuser командой:
1 | adduser tftpuser |
Вводим при запросе пароль и обязательно записываем пароль в блокнот с паролями.
Создаем папку где будут находится файлы tftp сервера командой:
1 | mkdir -p /home/tftpuser/tftp |
Даем права на папку нашему пльзователю командой:
1 | chown -R tftpuser:tftpuser /home/tftpuser/tftp |
Теперь приступим к установе.
Способ № 1
Устанавливаем TFTP сервер и TFTP клиент командой:
1 | aptitude install tftpd tftp |
В файле /etc/inetd.conf изменяем:
было:
1 | tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in .tftpd /srv/tftp |
стало:
1 | tftp dgram udp wait tftpuser /usr/sbin/tcpd /usr/sbin/in .tftpd /home/tftpuser/tftp |
После этого применяем настройки перегрузив inetd командой:
1 | invoke-rc.d openbsd-inetd restart |
TFTP сервер tftpd установлен и работает.
Способ № 2
Устанавливаем TFTP сервер и TFTP клиент командой:
1 | aptitude install tftpd-hpa tftp |
Настраиваем, для этого изменяем файл:
1 | vi /etc/default/tftpd-hpa |
было:
1 2 3 4 | TFTP_USERNAME= "tftp" TFTP_DIRECTORY= "/srv/tftp" TFTP_ADDRESS= "0.0.0.0:69" TFTP_OPTIONS= "--ipv4 --secure" |
стало:
1 2 3 4 | TFTP_USERNAME= "tftpuser" TFTP_DIRECTORY= "/home/tftpuser/tftp" TFTP_ADDRESS= "0.0.0.0:69" TFTP_OPTIONS= "--ipv4 --secure" |
Я в конфигурационном файле изменил папку содержащую файлы, пользователя, а также добавил параметр --ipv4. Вы можете также при потребности использовать еще такие параметры:
- --create разрешает серверу создавать новые файлы,
- --ipv4 предписывает ему ожидать подключений только на адресах IPv4,
- --umask 027 предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
- --permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.
TFTP сервер tftpd-hpa установлен и работает.
Для проверки работы можно создать файл в папке tftp сервера командой:
1 | echo Tested file > /home/tftpuser/tftp/testfile .txt && chown tftpuser /home/tftpuser/tftp/testfile .txt |
Скачиваем наш тестовый файл командой:
1 | echo get testfile.txt | tftp 127.0.0.1 |
Tftp сервер работает по протоколу UDP на 69 порту, потому Вам нужно открыть на файрволе (если он используется) по протоколу UDP 69 порт.
Если файрвол не используется наш tftp сервер доступен как на 127.0.0.1 так и на внешнем IP сервера, например 192.168.1.1
Устанавливаем vsftpd для администрирования содержимого нашего tftp сервера командой:
1 | aptitude install vsftpd |
Вносим изменения в конфигурационный файл /etc/vsftpd.conf ftp сервера vsftpd:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | vi /etc/vsftpd .conf было: anonymous_enable=YES стало: #anonymous_enable=YES было: #local_enable=YES стало: local_enable=YES было: #write_enable=YES стало: write_enable=YES было: #chroot_local_user=YES стало: chroot_local_user=YES |
Сохраняем изменения в редакторе vim введя :wq
Перезагружаем ftp сервер vsftpd командой:
1 | /etc/init .d /vsftpd restart |
FTP сервер vsftpd для администрирования содержимого tftp сервера установлен, можно подключатся к ftp серверу используя ftp клиент, например TotalComander либо Filezilla.
Задача выполнена, tftp сервер установлен и для администрирования установлен и настроен ftp сервер vsftpd.
Добавить комментарий