tftp — (trivial file transfer protocol)- простой протокол передачи файлов; используется при загрузке бездисковых систем, для загрузки обновлений и конфигураций в сетевые устройства; для своей работы использует udp. tftp-сервер слушает порт 69.
tftpd — реализация tftp-сервера на Unix-хостах.
inetd — интернет «super-server» — используется для вызова других демонов. inetd слушает запросы на соединения по определенным портам (которые в свою очередь соответствуют определенным сервисам). Сервисы, которые обслуживает inetd, задаются в файле конфигурации /etc/inetd.conf.
Настройка
В файле /etc/inetd.conf раскомментируем следующую строку:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot
Опции tftpd:
- -l — включаем логирование с использованием syslog. Прим., логирование LOG_FTP сообщений должно быть включено в настройках syslog — файл syslog.conf: «ftp.info /var/log/xferlog»;
- -s /tftpboot — задаем директорию для хранения файлов, доступных извне по tftp;
- -w — по умолчанию, запись в директорию tftp запрещена, но мне нужно скидывать файлы конфигурации по tftp на сервер, поэтому запись разрешаем этой опцией:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -w -s /tftpboot
Возможная невнимательность: не дописывайте опции после -s и перед /tftpboot, потому как «-s /tftpboot» неделима.
… tftpd -l -s -w /tftpboot … работать не будет.
Создаем директорию tftp-сервера:
root@provoip# mkdir /tftpboot
Запуск
Добавляем inetd в автозапуск:
root@provoip# ee /etc/rc.conf # INETD FOR TFTPD inetd_enable="YES"
Стартуем и проверяем:
root@provoip# /etc/rc.d/inetd start Starting inetd. root@provoip# sockstat | grep 69 root inetd 20366 6 udp4 10.10.10.10:69 *:*