Linux tftp server ubuntu

Рука помощи

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

В файле /etc/default/tftpd-hpa изменяем путь к tftp-каталогу и опции работы. Пример файла конфигурации

TFTP_USERNAME=»tftp» #Имя нашего пользователя

TFTP_DIRECTORY=»/home/tftp/tftp» #Путь к каталогу

TFTP_ADDRESS=»:69″ # IP-адрес и порт на котором работает сервер

TFTP_OPTIONS=»—secure —create» #—create – дает возможность производить запись, если ее не указать возможно только чтение

Перезапускаем сервис, чтобы изменения вступили в силу

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»

В примере конфигурационного файла указано ведение логов в файл /var/log/atftpd, если это Вам не нужно, уберите —logfile /var/log/atftpd

Читайте также:  Kali linux on ipad

2.3 Установка и настройка tftpd

Это наиболее простой tftp-сервер, работает, как сервис inetd

В файле конфигурации /etc/inetd.conf

Данный TFTP-сервер «умеет» только отдавать файлы, но не принимает их.

3. Устранение возможных проблем

Посмотреть сервис, который занимает порт tftp

Если при работе сервера возникают ошибки, возможно, проблемы с правами доступа к каталогу. Для исправления прав доступа выполните:

Заключение

Для работы я предлагаю выбирать tftpd-hpa или atftpd, они имеют возможность «тонкой настройки», позволяя легко и быстро добиться нужного результата. В примере настроек, описанных выше, Вы сможете, как получать файлы, так и записывать их на TFTP-сервер, что полезно в случае, если необходимо хранить резервные копии конфигурации сетевого оборудования.

Если у Вас возникли вопросы, задавайте их в комментариях.

Источник

Установка TFTP сервера (tftpd) в Ubuntu Linux

Установка TFTP сервера

TFTP — простой протокол для передачи файлов по сети, использует протокол UDP (по порту 69), не поддерживает аутентификацию и шифрование. TFTP часто используется для загрузки файлов (прошивок, конфигураций) на устройства (маршрутизаторы, мини-АТС и другие), но его можно использовать и для простой пересылки файлов по сети между компьютерами. Для Linux доступно несколько TFTP демонов (серверов): tftpd, atftpd, tftpd-hpa. Вы можете использовать любой из них. Я расскажу, как устанавливать tftpd.

Помимо tftpd нужно будет установить службу inetd. inetd — представляет собой сетевую службу, которая обрабатывает входящие соединения (TCP, UDP) и запускает соответствующую программу для обработки запроса. Я буду использовать службу openbsd-inetd. Есть еще служба xinetd, вы можете ее использовать, но настраивается она несколько иначе.

Установка сервера tftpd и службы openbsd-inetd

Установим сервер tftpd и openbsd-inetd, для этого выполним команду:

sudo apt-get install openbsd-inetd tftpd tftp

По завершении установки вы увидите сообщения вида:

. Настраивается пакет openbsd-inetd (0.20080125-4ubuntu2) . * Stopping internet superserver inetd [ OK ] * Not starting internet superserver: no services enabled Настраивается пакет tftpd (0.17-17ubuntu1) . 

Настройка tftpd

По умолчанию TFTP сервер настроен на использование директории /srv/tftp. Мы настроим TFTP сервер так, чтобы он использовал для работы директорию /tftpboot. В этой директории будут храниться файлы, которые мы можем скачать с сервера или же закачать в нее. Отредактируем файл /etc/inetd.conf.

В файле найдите строки вида:

#:BOOT: TFTP service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

Аргумент /srv/tftp команды in.tftpd указывает на каталог в котором будут храниться файлы TFTP сервера. Заменим /srv/tftp на /tftpboot.

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

Создадим директорию /tftpboot:

sudo chown -R nobody /tftpboot

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

Чтобы новые настройки вступили в силу, перезапустим службу inetd:

sudo /etc/init.d/openbsd-inetd restart

На этом установка TFTP сервера завершена, проверим его работу.

Проверка работы TFTP сервера, использование TFTP клиента

Для начала установим TFTP клиент, чтобы можно было подключаться к TFTP северу. Для установки TFTP клиента выполните в терминале команду:

Читайте также:  Linux mint wine staging

Теперь создадим на сервере в директории /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. Выполните команду get myfile, которая означает получить файл с именем myfile с сервера.

В случае, если вы все сделали правильно, файл myfile загрузится с TFTP сервера. Для выхода из TFTP клиента введите команду quit.

Источник

Background

A network administrator may find the need to deploy a TFTP server quickly and cost effectively. The reader may find that there is more than one TFTP server package available for Ubuntu systems.

including tftpd, atftpd, and tftpd-hpa. tftpd-hpa was chosen in this scenario because of its relative «up-to-date-ness» and availability of documentation.

Introduction

This document will guide the reader on how to setup a TFTP server that will allow clients to both download and upload files.

(This process has been completely tested and verified on 11/18/2015 using Ubuntu 14.04.3 Server and the latest version of tftpd-hpa available from the apt repositories (tftpd-hpa_5.2-7ubuntu3_amd64.deb))

Installation

sudo apt-get install tftpd-hpa.

Once the installation is complete, you will have a running TFTP server on your system that will be listening on all active network interfaces, on both IPv4 and IPv6. All you will be able to do is download files from the TFTP server. Uploading will not work. We will fix that in the Configuration section below.
You can confirm this by running.

sudo service tftpd-hpa status

The default configuration file for tftpd-hpa is /etc/default/tftpd-hpa.
The default root directory where files will be stored is /var/lib/tftpboot.

Configuration

Edit tftpd-hpa Configuration File

As mentioned before, all you will be able to do at this point is download files from the TFTP server. If you want to upload to the TFTP server, read on. To begin with, make a copy of the default tftpd-hpa configuration file.

sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.ORIGINAL

Then, edit the tftpd-hpa configuration file.

sudo vi /etc/default/tftpd-hpa

and change the line that reads.

TFTP_OPTIONS="--secure --create"

and save the file and exit the vi editor.

Modify Permissions on TFTP Root Directory

The root directory where files must be stored in order to access them via TFTP is /var/lib/tftpboot. If you want to be able to upload to that directory, then perform the following command.

sudo chown -R tftp /var/lib/tftpboot

Restart the tftpd-hpa Service

To make the changes take effect, the tftpd-hpa service must be restarted. This can be accomplished by performing the following command.

sudo service tftpd-hpa restart

At this point you should now have a TFTP server that allows you to both download and upload files.

Читайте также:  Windows атрибуты файлов linux

Additional Information

tftpd-hpa seems to be somewhat tied to traditional tftpd. For more information try.

  • http://chschneider.eu/linux/server/tftpd-hpa.shtml — The first «how to» that I used to go through this process.
  • http://askubuntu.com/questions/443117/how-to-configure-tftpd-hpa-to-allow-upload-of-new-files — The final link that lead me to discover the process of allowing uploads.

TFTP (последним исправлял пользователь 67 2015-11-19 21:50:29)

The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details

Источник

How to Install TFTP Server on Ubuntu 20.04 Server

For some old network devices, TFTP Server are really important to backup the device configuration or upgrade the device firmware. Even on many modern devices, TFTP server still supported as configuration backup source and firmware upgrade source. For that reason, it is a good idea to have one TFTP Server.

Install and configure Ubuntu TFTP Server on Ubuntu 20.04 server is very easy, there is no specific requirement needed. As long as your machine have Ubuntu Operating System installed, that’s enough to make sure TFTP server will run on it too.

How to Install Ubuntu TFTP Server?

You can also use sudo in every command and just need to enter the user password once, but I prefer become root and do everything after it without sudo command. So, the rest of this tutorial, assuming you are doing the same to become root first.

How to Install TFTP Server on Ubuntu 20.04 Server

Note: make sure you are connected to the internet. If there is an error, try apt update -y to update your application repository database.

How to Install TFTP Server on Ubuntu 20.04 Server

You only need to add —create to the TFTP_OPTIONS line to be able to upload to TFTP server. And also take a note for TFTP_USERNAME and TFTP_DIRECTORY

How to Install TFTP Server on Ubuntu 20.04 Server

After the TFTP server installation, it will create /srv/tftp directory which will be the root directory to store and transfer files to TFTP client.

This directory is belong to root with nogroup, but TFTP server are working under tftp user and have no permission on that directory. You can either change the folder permission with chmod or change the folder owner and group to tftp (See TFTP_USERNAME line from the configuration file) . Make sure the folder owner and group has changed by ls -l /srv command.

systemctl restart tftpd-hpa
systemctl status tftpd-hpa

How to Install TFTP Server on Ubuntu 20.04 Server

The service must be active and running, systemctl status tftpd-hpa will also shows you the error if something is wrong. Next post, I will post about How to configure tftpd-hpa to change TFTP Server root directory

Источник

Оцените статью
Adblock
detector