Меню Рубрики

Установка tftp на mint

Установка и настройка TFTP сервера в Debian и Ubuntu, управление через FTP сервер VSFTPD

Задача выполнялась на сервере с операционной системой Debian, но работать аналогично будет и на Ubuntu Linux.

Для некоторых телефонов и другого сетевого оборудования для обновления прошивок, обновления конфигов и так далее требуется tftp сервер с удобным администрированием файлов в каталоге.
Для TFTP сервера мы используем 3 разных способа:

  1. Програмное обспечение tftpd tftp с запуском через inetd.
  2. Сервер tftpd-hpa
  3. DNSMASQ сервер по инструкции: Установка и настройка сервера Dnsmasq: DNS, DHCP и TFTP серверов

Для администрирования содержимого в папке TFTP мы используем FTP сервер vsftpd.

Создаем пользователя tftpuser командой:

Вводим при запросе пароль и обязательно записываем пароль в блокнот с паролями.

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

Даем права на папку нашему пльзователю командой:

Теперь приступим к установе.

Способ № 1

Устанавливаем TFTP сервер и TFTP клиент командой:

В файле /etc/inetd.conf изменяем:

После этого применяем настройки перегрузив inetd командой:

TFTP сервер tftpd установлен и работает.

Способ № 2

Устанавливаем TFTP сервер и TFTP клиент командой:

Настраиваем, для этого изменяем файл:

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

  • —create разрешает серверу создавать новые файлы,
  • —ipv4 предписывает ему ожидать подключений только на адресах IPv4,
  • —umask 027 предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
  • —permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.

TFTP сервер tftpd-hpa установлен и работает.

Для проверки работы можно создать файл в папке tftp сервера командой:

Скачиваем наш тестовый файл командой:

Tftp сервер работает по протоколу UDP на 69 порту, потому Вам нужно открыть на файрволе (если он используется) по протоколу UDP 69 порт.
Если файрвол не используется наш tftp сервер доступен как на 127.0.0.1 так и на внешнем IP сервера, например 192.168.1.1

Устанавливаем vsftpd для администрирования содержимого нашего tftp сервера командой:

Вносим изменения в конфигурационный файл /etc/vsftpd.conf ftp сервера vsftpd:

Сохраняем изменения в редакторе vim введя :wq

Перезагружаем ftp сервер vsftpd командой:

FTP сервер vsftpd для администрирования содержимого tftp сервера установлен, можно подключатся к ftp серверу используя ftp клиент, например TotalComander либо Filezilla.

Задача выполнена, tftp сервер установлен и для администрирования установлен и настроен ftp сервер vsftpd.

источник

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

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, для этого выполним команду:

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

Настройка tftpd

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Установка программ без appstore

источник

Ещё один блог сисадмина

воскресенье, 11 мая 2014 г.

Настройка TFTP-сервера tftpd-hpa

Пока нет ничего крупного, продолжу выкладывать мелкие памятки, сделанные для себя.

Однажды мне понадобилось настроить TFTP-сервер в Linux. До этого приходилось пользоваться только TFTP-сервером во FreeBSD. Хотел найти что-то похожее, но это оказалось не так просто. Перепробованные мной два других TFTP-сервера не подошли. Точно помню, что один из них не имел опции для создания новых файлов, позволяя писать только в уже существующие файлы. Другой тоже чем-то не устроил. В итоге остановился на TFTP-сервере tftpd-hpa. У него можно отметить два достоинства:

  • Умеет работать автономно, без помощи inetd,
  • Есть опция, разрешающая создание новых файлов, что полезно для сохранения резервных копий конфигурации оборудования.

Установим пакет tftpd-hpa:
После установки отредактируем файл /etc/default/tftpd-hpa, содержащий настройки сервера. Приведём его к следующему виду:
В настройках указаны дополнительные опции:

  • create разрешает серверу создавать новые файлы,
  • ipv4 предписывает ему ожидать подключений только на адресах IPv4,
  • umask предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей,
  • permissive предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой.

Создадим каталог для tftp-сервера, дадим серверу доступ к каталогу:
Можно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /var/tftp.

Осталось перезапустить демона, чтобы он начал работу с новым каталогом:

5 комментариев:

Спасибо, помогло. А то замучили меня inetd и xinetd ( под ними циска чет не могла бэкап положить)

Эти две опции лучше убрать:
—umask 027 —permissive
С некоторых свичей бывает так , что файл создаётся , но по факту он пустой.
Явно что-то по правам доступа. Если убираешь — всё нормально.

—permissive разрешает tftp-серверу создавать файлы, без этой опции он будет писать только в те файлы, которые уже существуют.

Чушь несусветная. Создание файлов разрешает опция —create, это вроде бы как из самог названия опции должно быть понятно. Не надо фантазировать.

Я в ubuntu-16.04 сделал так:

TFTP_USERNAME=»tftp»
TFTP_DIRECTORY=»/home/user/tftp»
TFTP_ADDRESS=»0.0.0.0:69″
TFTP_OPTIONS=»—ipv4 —secure —create —umask 000 —permissive»

# mkdir /home/user/tftp
# usermod -a -G tftp user
# chmod –R 777 /home/user/tftp

Теперь все в домашнем коталоге

Анонимный, именно так и написано в тексте заметки. С кем спорите?

источник

Установка tftp на mint

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, для этого выполним команду:

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

Настройка tftpd

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

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

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

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

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

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

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

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

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

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

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

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

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

источник

Установка tftp на mint

Каждому, кто хоть изредка промышляет администрированием хотя бы раз нужно было установить операционку на комп. И зачастую происходит всё так: скачивается образ, записывается на диск или флешку, грузимся и ставим. Но может оказаться что ни флешки ни диска под рукой нет, а установку нужно выполнить на вчера. Тогда можно загрузится по сети, и с линуксом в этом плане особо проблем нет. Типичная конфигурация — это связка DHCP, TFTP и NFS. Но у меня под рукой не было настроенного NFS, зато была Samba. Поэтому пришлось разобраться как использовать Samba вместо NFS.

Читайте также:  Установка зажигания мотоблока луч

Вроде бы ничего такого, поменял настройки и всё, но что-то не работало поначалу, пришлось шаманить.

Но я тут начну с самого начала. Итак для начала нужно обзавестись дистрибутивом. Так как ставим мы Linux Mint, ищем свежий образ здесь. Скачиваем дистрибутив, подходящий именно нам (я ставил тот, что с MATE, но очевидно это не имеет особого значения). Скачав образ, нужно получить доступ к файлам образа. В некоторых руководствах рекомендуют распаковать образ, но я не вижу в этом смыла, поэтому поддерживаю мнение, которое заключается в том, чтобы смонтировать образ как loop. Чтобы не вмешиваться в существующий порядок, просто создаём новый каталог, куда и монтируем образ:

Далее нужно сделать файлы доступными по сети для чтения установщиком. Как я говорил выше, у меня для этого служит Samba. Поэтому открываем файл конфигурации и добавляем новую шару, добавив такую секцию:

Должно работать поверх дефолтных настроек Samba. Если же не работает, то скорее всего вы что-то меняли сами, а значит найдёте как решить проблему. Итак мы добавили шару mint, через которую можно с сети получить файлы для установки. Не забудьте перезапустить Samba для принятия новых настроек.

Для Archlinux:

Для Gentoo:

Далее нужно подготовить сетевой загрузчик. В этом нам поможет программа tftp-hpa. В Archlinux и в Gentoo пакет называется именно так. Нужно расположить файлы загрузчика в рабочем каталоге ftp-сервера (в арче /srv/tftp). Копируем туда ядро и initrd со смонтированного образа:

Далее нам нужен syslinux. С него нужно собственно PXE-загрузчик:

Далее нужно подготовить файл конфигурации для загрузчика. Для этого создаём файл /srv/tftp/pxelinux.cfg/default. Туда пишем такое:

Где 192.168.0.1 — наш IP-адрес относительно машины, на которую быдем ставить. Ах да, и про nfs там — это не опечатка, в режиме работы с cifs, нужно передавать опции типа как для nfs, не могу сказать почему. Особое внимание нужно обратить на опцию toram, поскольку без неё всё отваливается на полпути и загрузится мы не можем (может это особенности самбы). Но с этой опцией нужно помнить о том, что на целевой машине должно быть достаточно оперативки, чтобы скопировать туда установщик. TFTP-сервер нужно запустить. Для Archlinux:

Для Gentoo:

Теперь нужно биосу целевой машины как-то сказать откуда грузится. В этом нам поможет dnsmasq (хотя не обязательно, можно использовать и другой DHCP сервер, здесь описываю то, что было под рукой). Настраиваем раздачу IP (опция dhcp-range) на своё усмотрение, под свою «сеть» между машинами. Для установки нам важны лишь три опции:

Их нужно добавить к конфигурации dnsmasq, ну и естественно запустить его (или перезапустить).

Для Archlinux:

Для Gentoo:

Помните, чтобы всё заработало необходимо, чтобы порты на DHCP (UDP 67,68), TFTP (UDP 69), Samba (UDP 137,138, TCP 139,445) должны быть обязательно открыты, обязательно учтите это в конфигурации своего фаерволла. Если же фаерволла нет или полностью открыт интерфейс — ну и ладно, должно работать.

Вобщем далее подключаемся к сети (куда смотрят dnsmasq, tftp-hpa и samba), выбиарем Network boot и ставим систему. По завершении останавливаем серверы, размонтируем ISO.

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

источник

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 network. Ftp is very popular protocol but it have a lot features which may not be needed always. Tftp is lightweight alternative to Ftp protocol. We can say that Tftp is featureless protocol because it only download and upload files.

  • Tftp has no authentication or authorization mechanism.
  • Tftp protocol do not have file listing feature.
  • Tftp is clear text or not encrypted protocol
  • Tftp is fast and simple to implement
  • Tftp uses generally UDP

Install

Installation of Tftp tools is 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.

Читайте также:  Установка пневмогудка с ресивером

Syntax

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

Connect

Connecting a to the Tftp server is very easy. As stated in the beginning of the post Tftp do not have any authentication and authorization mechanisms. so Just providing the servers host name of IP address is enough to connect Tftp server. In this example we will connect 192.168.122.239 IP address.

Connect

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

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

Download or Get File

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

Show Status

As Tftp works generally on the UDP protocol there is no session like TCP. But we can query current connection status with 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

Quit From 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.

источник

tftp-сервер на Debian/Ubuntu

У многих системных администраторов рано или поздно возникает необходимость поднять tftp-сервер для каких-либо целей (например для заливки новой прошивки на коммутатор). Далее будет показано как можно развернуть tftp-сервер на Debian/Ubuntu Linux.

Способ #1. Использование стандартного tftpd

Самый простой и быстрый способ. Для начала нужно установить tftpd (и заодно клиент — tftp — он пригодится для проверки работоспособности сервера):

По умолчанию в качестве корня сервера tftpd будет использовать директорию /srv/tftp и работать с правами пользователя nobody, если вас это не устраивает — поменяйте соответствующим образом строку

После изменения этой строки нужно перезапустить супер-сервер inetd:

Далее нужно создать корневую директорию сервера и задать её владельца (далее будем предполагать что все настройки выполнены по умолчанию):

Теперь нам нужно протестировать наш сервер. Для этого создадим тестовый файл в корне сервера:

Если никаких ошибок выдано не было — проверяем содержимое скачанного файла. Если и тут всё хорошо — значит наш tftp-сервер нормально работает. Если же нет — проверьте права на корневую директорию сервера и её содержимое. Самой распространённой ошибкой является невозможность серверов прочитать свои собственные файлы.

Способ #2. Использование atftpd в режиме «inetd»

Установим atftpd (в качестве клиента можно использовать как классический tftp, так и его родной atftp, разницы между ними практически нет, но последний немного удобнее использовать в различных скриптах по причине большего количества аргументов командной строки):

Сам atftpd может работать как в качестве самостоятельного сервера, так и в качестве одной из подсистем суперсервера inetd (или любого его аналога). По умолчанию он настроен на работу через inetd и для его функционирования в /etc/inetd.conf добавляется строка:

Параметров тут перечислено много и информацию по ним лучше всего искать в man-странице atftpd. Основное что нас тут интересует: сервис работает с правами пользователя nobody и считает корнем директорию /var/lib/tftpboot.

Пробуем скачать тестовый файл и просмотреть его содержимое:

Если всё пройдёт нормально то на стандартный вывод будет выдана надпись: «Test File». Если же вместо этого будут какие-то ошибки — нужно начинать искать проблему. Скорее всего она кроется в правах доступа (как и в предыдущем случае).

Способ #3. Использование atftpd в режиме «standalone»

Здесь всё практически так же, как и в предыдущем случае, только нет необходимости запускать суперсервер inetd, поскольку atftpd в этом случае работает как самостоятельный сервер. Если интересен именно такой вариант то нужно сделать следующее: первым делом закоментировать строку запуска atftpd в /etc/inetd.conf:

и переазпустить суперсервер:

Далее нужно поменять значение переменной USE_INETD в файле /etc/default/atftpd с true на false:

Дополнительные опции для atftpd при такой настройке перечисляются в переменной OPTIONS всё того же файла. Настройки по умолчанию совпадают с настройками по умолчанию для режима «inetd», соответственно проверка работоспособности сервера проводится так же.

Заключение

Выше были показаны три разных способа организации tftp-сервера на Debian/Ubuntu Linux. Приведённые рекомендации можно с минимальными поправками использовать на большинстве современных дистрибутивов.

Следует отметить что для корректной работы в файрволле должен быть разрешён доступ к серверу по порту 69/udp

источник

Добавить комментарий