Tftp client for linux

Пошаговая инсталляция tftpd на Ubuntu 12.04 Desktop/Server

Сразу хочю сказать, что данная заметка есть своего рода домашная шпаргалка по настройке сервиса (TFTP основан на транспортном протоколе UDP) задачей которого будет просто принимать/загружать файлы без возможностей аутентификации , если нужно аутентификация, то лучше использовать vsftpd. Как настроить и практически использовать можно посмотреть у меня на блоге. Мой блог — это кладезь практических знаний собранных в одном месте и постоянно пополняемый.

Задача: Поднять на локальной/сетевой станции упрощенный сервер передачи данных с целью принятия конфигурационных файлов с сетевых устройств, а так же возможность восстановить работу сетевого оборудования просто указав откуда взять готовый конфигурационный файл.

Для инсталляции сервиса в систему воспользуемся репозитариями «Ubuntu 12.04«:

ekzorchik@dv6:~$ sudo apt-get install tftpd-hpa

Далее перед тем, как перейти к редактированию конфигурационного файла нужно сперва создать каталог , либо на текущей файловой системе, либо выделив отдельный раздел, я буду рассматривать первый вариант:

ekzorchik@dv6:~$ sudo mkdir -p /media/tfpdconf

Редактируем права на каталог:

ekzorchik@dv6:~$ sudo chmod -R 777 /media/tfpdconf/

ekzorchik@dv6:~$ sudo chown -R nobody:nogroup /media/tfpdconf/

Отлично, теперь создаем резервную копию и переходим к внесению изменений настройки сервиса :

ekzorchik@dv6:~$ sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.backup

ekzorchik@dv6:~$ sudo nano /etc/default/tftpd-hpa

TFTP_OPTIONS=»—secure —create» ; allows client to create files

Сохраняем внесенные изменения в конфигурационный файл и перезапускаем службу для запуска сервиса с учетом изменений в конфигурационном файле :

ekzorchik@dv6:~$ sudo service tftpd-hpa restart

Ниже возможные команды по работе с сервисом tftpd-hpa:

service tftpd-hpa force-reload

проверяем прослушивается ли порт (UDP:69) в системе:

ekzorchik@dv6:~$ sudo netstat -tulpn | grep :69

udp 0 0 0.0.0.0:69 0.0.0.0:* 2742/in.tftpd

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

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

ekzorchik@dv6:~$ sudo apt-get install tftp

Теперь создадим на сервере в директории /tftpboot какой-нибудь файл , например, filik. Для создания файла filik и записи в него текста «This is my filik» выполните в терминале команду:

ekzorchik@dv6:~$ echo «This is my filik» > /media/tftpdconf/filik

Теперь мы можем запустить TFTP клиент командой tftp. Команда tftp принимает в качестве параметра IP адрес сервера. Если вы запускаете клиент на локальном компьютере, то укажите IP адрес 127.0.0.1, если же на удаленном компьютере, то укажите IP адрес сервера.

Читайте также:  Настройка cron astra linux

ekzorchik@dv6:~$ tftp 127.0.0.1

Когда клиент запустится, вы попадете в режим ввода команд для клиента TFTP. Выполните команду get filik, которая означает получить файл с именем filik с сервера . Стоит отметить, что копирование файла осуществляется в ту директорию, в которой при выполнении команды вы находились в консоле.

tftp> get filik

Received 18 bytes in 0.0 seconds

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

А теперь практический пример, как с другой системы передать файлы (команда put) на TFTP сервер :

ekzorchik@srv-home:~$ tftp

tftp> put /etc/passwd 192.168.1.40:passwd.log

Sent 1755 bytes in 0.0 seconds

Здесь отметим, что команда put позволяет отправить запрос на запись к tftp серверу. Первый параметр указываем имя записываемого файла на локальной машине. Второй параметр имеет формат адрес tftp сервера:имя под которым файл будет записан на сервер.

192.168.1.33 (srv-home) — это другая машина c установленным tftp клиентом.

192.168.1.40 (dv6)— это машина на которой поднят TFTP сервис.

Теперь на машине dv6 можно посмотреть содержимого passwd.log его содержание представляет собой список пользовательских учётных записей (аккаунтов). И является первым и основным источником информации о правах пользователя операционной системы:

ekzorchik@dv6:~$ less /media/tftpdconf/passwd.log

Также не забываем настроить правила брандмауера:

ekzorchik@dv6:~$ sudo iptables -A INPUT -s 192.168.1.0/24 -m tcp -p tcp —dport 69 -j ACCEPT

ekzorchik@dv6:~$ sudo iptables -A INPUT -s 192.168.1.0/24 -m tcp -p udp —dport 69 -j ACCEPT

Вот собственно и весь процесс по поднятию службы TFTP у себя на системе. В последующих заметках данная заметка очень приходится, когда я буду подробно расписывать, как настроить бездисковую загрузку и установку системы, а также осуществлять бекап конфигурационных файлов на данный сервер с поднятой службой TFTP. На этом всё, с уважением ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником — ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог — это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору.

Источник

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

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

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

Читайте также:  Ноутбуки для линукс 2021

Помимо 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 клиента выполните в терминале команду:

Теперь создадим на сервере в директории /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.

Источник

How To Install, Configure, and Run Linux Tftp Client?

How To Install, Configure and Run Linux Tftp Client?

Tftp (Trivial File Transfer Protocol) is a very simple client-server protocol used to transfer data and files over the network. Ftp is a very popular protocol but it has a lot of features that may not be needed always. Tftp is a lightweight alternative to Ftp protocol. We can say that Tftp is a featureless protocol because it only downloads and uploads files.

  • Tftp has no authentication or authorization mechanism.
  • Tftp protocol does not have a file listing feature.
  • Tftp is clear text or not encrypted protocol
  • Tftp is fast and simple to implement
  • TFTP uses generally UDP
Читайте также:  Mount folder as disk linux

Install Tftp

The installation of Tftp tools is as simple as the protocol. As TFTP lightweight there is no dependency for other libraries.

Ubuntu, Debian, Mint, Kali:

We will install tftp for Debian, Mint, Ubuntu and Kali like below.

Fedora, CentOS, RedHat:

We can install tftp with the following command on Fedora, CentOS, RedHat.

tftp Command Syntax

We will use following syntax for tftp command in normal command-line usage.

tftp Command Help

Tftp

Connect TFTP Server From Command Line

Connecting to the Tftp server is very easy. As stated at the beginning of the post Tftp does not have any authentication and authorization mechanisms. so Just providing the hostname of the server of IP address is enough to connect the Tftp server. In this example, we will connect 192.168.122.239 IP address.

Connect

TFTP Server Command Line Interactive Shell

After connection to the Tftp server, we will get an interactive shell. In this shell, we will issue commands to get information about status of the connection, download or get files, upload, or put files to the server. We can list available commands provided by Tftp shell with ? .

Interactive Shell

Upload or Put File To The TFTP Server

We can upload or put files to the TFTP server with the put command. In the example, we upload a file named body.txt

Download or Get File From TFTP Server

We can also download or get files from the Tftp server to get command. In the example, we get a file named body.txt from the Tftp server.

Show TFTP Connection Status

As TFTP works generally on the UDP protocol there is no session like TCP. But we can query current connection status with the status command. This status command will provide us information about the connected server IP address, current working mode, Rexmt-interval, Max-timeout, etc.

Show Status

Disconnect From TFTP Server by Exiting From TFTP Shell

In order to quit from the Tftp shell we need to issue the q command.

Quit From Shell

Verbose Mode

While making transfer we may need more information about the transmission. We can get more information about the transfer with the verbose mode.

Источник

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