Найти в Дзене
kv29

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

Мне нужно было быстро поднять tftp-сервер на Simply Linux, чтобы автоматом заливались конфигурационные файлы страреньких коммутаторов. Очень быстро нашёл, на рускоязычных форумах, как поднять на xinetd tftp-сервер, но этот спсоб не работал, такое ощущение, что автор просто не проверял работоспособность этого метода. Углубившись в другие форумы нашел рабочий метод, но ... с одной дикой особеностью, перед тем как сохранить на tftp конфигурационный файл, тебе приходится создавать пустой файл на сервере с таким же именем, с каким хочешь сохранить файл с коммутатора. Я так понял что многих это устроило, и на этом они закончили, но не меня.

Я начал читать зарубежные форумы и нашел то, что мне было нужно. Коммутаторы сами заливают свои конфигурационные файлы на tftp-сервер, через определенный промежуток времени, при записи изменений в конфигурационный файл, при сбросе времени, т.е. ИБП не выдержал и время на коммутаторе сбросилось. Я настроил так, чтобы в названии конфигурационного файла, при сохранении, в имя добавлялись дата и время. Таким образом можно вычислить проблемный коммутационный узел :). Теперь привожу рабочий метод.

Установка требуемых пакетов

Нужны три компонента, ставим их через пакетный менеджер:

sudo apt-get install xinetd tftpd tftp

Если честно, я ставил пакеты через менеджер пакетов Synaptic, мне так удобней.

Настройка системы

Для начала нужно создать файл /etc/xinetd.d/tftp 

su -

"вводим пароль root"

mc

переходим в папку /etc/xinetd.d/

набираем: > tftp

Пустой файл создан, выделяем его, жмем "F4"

Наполняем следующим содержимым:

service tftp

{

protocol   = udp

port   = 69

socket_type   = dgram

wait   = yes

user   = root

server   = /usr/sbin/in.tftpd

server_args   = -u tftp –s /tftpboot -c

disable   = no

}

Так он должен выглядеть
Так он должен выглядеть

Сохраняем tftp

Создаём папку в корне диска /tftpboot, которая соответствует параметру server_args в файле, созданном ранее.

mkdir /tftpboot

chmod -R 777 /tftpboot

chown -R nobody:nobody /tftpboot

А теперь необходимо отредактировать этот файл: /etc/xinetd.conf

Закоментировать строку:

# only_from = 127.0.0.1

-3

Сохраняем файл

Применение параметров

systemctl enable xinetd

Перезапуск службы xinetd

systemctl restart xinetd

Смотрим на полученный результат

systemctl status xinetd

Так выглядит рабочий сервис tftp
Так выглядит рабочий сервис tftp

Проверяем TFTP сервер

Создаем файл test: > test

с другого ПК отправляем/получаем файлы

tftp –v 10.20.30.40 –c get test # получаем с tftp

tftp –v 10.20.30.40 –c put test # отправляем на tftp

А это команды в Windows 10, в ОС должен быть включен TFTP-Клиент!
А это команды в Windows 10, в ОС должен быть включен TFTP-Клиент!

Если у кого есть замечания по моей статье, пишите в коментариях.

А если хотите узнать о коммутаторах и как я настроил их резервное копирование на TFTP, напишите в коментариях и я напишу еще одну статью.

Пишите в коментариях.

Если вам понравилась статья поддержите меня лайками или финансово: Сбербанк 4817 7604 8056 6300 или https://www.tinkoff.ru/cf/3IZN6RiKeWl