Подключиться к tftp linux

Подключиться к tftp linux

Проводятся технические работы по обновлению компонентов блога. Возможно некорректное отображение некоторых элементов. Приносим свои извинения за временные неудобства. Мы стараемся сделать блог лучше =)

четверг, апреля 04, 2013

Практика работы с TFTP

Всем доброго дня, сегодня мы с вами попробуем попрактиковаться в использование протокола TFTP . Для данной практики мы будем использовать 3 виртуальные машины, виртуально находящиеся в одной подсети. В моем случае это будут две машины, работающие под управлением Windows XP , и одна виртуальная машина с установленным на нее D ebian 6.0.7. На одну из виртуальных машин с Windows XP (виртуальная машина 1) мы установим популярный в определенных кругах Tftpd32, включающий в свой состав TFTP сервер и TFTP клиент. На второй виртуальной машине с XP мы попрактикуемся в использование штатного клиента TFTP встроенного в Windows . Ну а на машине с D ebian (виртуальная машина 3) мы познакомимся с азами TFTP в Linux . И так если вам все это интересно, то приступаем.

На первую виртуальную машину мы установим Tftpd32. Для этого скачайте его дистрибутив по ссылке, и произведите его установку. Думаю при этом у вас не должно возникнуть каких либо проблем. Далее в корне диска C создаем папку и помещаем в нее несколько файлов. В моем случае папка называется Public и в ней находятся файлы 1. bmp и 2. bmp . После этого запускаем Tftpd32 и нажав на кнопку Browse выбираем папку, файлы из которой мы будем раздавать при помощи TFTP , в моем случае это папка C :\ Public . В поле Server Interface выбираем сетевой интерфейс, на котором будет функционировать TFTP сервер, если на вашей виртуальной машине он всего один, то ничего не меняем. Про себя отмечаем что IP адрес первой виртуальной машины 192.168.1.41.

На второй виртуальной машине с Windows XP ничего настраивать не нужно TFTP клиент в Windows XP установлен по умолчанию (В случае с Windows 7 необходимо его включить Панель управления – Программы и компоненты – Включение или отключение компонентов Windows – Клиент TFTP ). Так что отмечаем про себя только IP адрес данной виртуальной машины, в моем случае это 192.168.1.26. Так же создаем на данной машине директорию С:\ Client и помещаем в нее два текстовых документа 1. txt и 2. txt , содержащие произвольный текст.

Теперь приступим к самому интересному – к конфигурированию TFTP сервера в Debian . Сразу отмечу, что IP данной виртуальной машины 192.168.1.83. Для на чала нам потребуется установить на нашу виртуальную машину несколько пакетов, для этого выполним в консоли команду:

Читайте также:  Intel rapid storage technology driver linux

Пакет openbsd-inetd представляет собой сетевую службу, которая обрабатывает входящие TCP и UDP соединения и запускает соответствующую программу для обработки данных соединений. Пакет tftpd представляет собой TFTP сервер, а пакет tftp – TFTP клиент.

После того как все перечисленные выше пакеты будут установлены приступим к их конфигурированию. По умолчанию TFTP сервер сконфигурирован на использование директории /srv/tftp. Возможно это и удобно, то так как мы учимся работать с TFTP мы попробуем это изменить и сделаем так чтобы TFTP сервер для своей работы использовал директорию / TFTP _ server . Для начала создадим данную директорию выполнив команды:

Первой командой мы переходив в корневую директорию. Второй создаём в ней директорию TFTP _ server . Третьей командой мы переходим в директорию TFTP _ server . С помощью двух последних команд мы создаем в директории TFTP _ server файлы 1. log и 2. log содержащие текст «1 file » и «2 file » соответственно.

Далее отредактируем файл / etc / inetd . conf . Для этого выполним команду (вместо nano можно использовать любой другой текстовый редактор):

После чего сохраняем файл inetd.conf. Чтобы только что внесенные настройки вступили в силу необходимо перезапустить службу openbsd — inetd , для этого выполняем команду:

Теперь можно считать что данная виртуальная машина настроена для работы. И далее мы перейдем к практике.

Практика 1. Копируем файлы с TFTP сервера с помощью встроенного TFTP клиента Windows

Для начала запустим консоль на виртуальной машине 2. И попробуем скачать файл 1. bmp с TFTP сервера виртуальной машины 1 (192.168.1.41). Для этого в консоли выполним команду:

После этого на время копирования произойдет пауза, по окончание которой вы увидите результат выполнения операции.

Стоит отметить что копирование файла осуществляется в ту директорию, в которой при выполнении команды вы находились в консоле. Так в приведенном выше примере файлы были скопированы в папку пользователя с именем usero . Для того чтобы осуществить копирование файла в любую директорию можно воспользоваться следующим способом:

В данном случае вы меняете текущую директорию в консоли на C :\, а уже после этого осуществляете в нее копирование файлов с помощью TFTP.

Теперь если мы перейдем на виртуальную машину 1. И посмотрим на вкладку Log Viewer сервера tftpd 32, то мы сможем просмотреть статистику запросов поступающих от клиентов к данному TFTP серверу, в данном случае статистика содержит только два запроса на чтение файлов:

Копирование файлов с TFTP сервера виртуальной машины 3 ( Debian ) осуществляется аналогичным образом, только потребуется выполнить команды:

Практика 2. Записываем файлы на TFTP сервер с помощью встроенного TFTP клиента Windows

Для того чтобы скопировать файлы находящиеся в папке C :\ Client (виртуальная машина 2) на TFTP сервера виртуальной машины 1 необходимо в консоли выполнить следующие команды:

Если мы попробуем выполнить копирование файлов аналогичным способом на виртуальную машину 3 с Linux, то получим ошибку Access Violation :

Читайте также:  Виртуальный сетевой адаптер линукс

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

Первой командой мы переходи в директорию /TFTP_server. Второй командой мы создаем в ней пустой файл с именем 1.txt. Третьей командой мы даем полные права на доступ к директории /TFTP и всем имеющимся в ней файлам.

Давайте попробуем скачать файлы хранящиеся на TFTP сервере виртуальной машины 3. Для этого на виртуальной машине 1 перейдем к окну приложения tftpd 32. Откроем вкладку TFTP Client и укажем в ней адрес TFTP сервера с которого мы хотим скачать файл, имя файла который мы хотим скачать, а так же имя файла под которым мы хотим сохранить скачанный файл на нашем компьютере.

После того как все вышеперечисленные параметры заданы, нажимаем на кнопку GET . После чего будет выполнена загрузка файла.

Теперь попробуем записать файлы на TFTP сервер виртуальной машины 3 ( Debian ) используя TFTP клиент встроенный в Tftpd 32. Как мы уже выяснили ранее, для того чтобы осуществлять запись файлов на tftpd сервер виртуальной машины 3, необходимо создать пустые файлы с таким же именем на данном сервере. Поэтому сначала выполняем следующие команды на виртуальной машине 3:

После этого возвращаемся к виртуальной машине 1. Опять же открываем вкладку TFTP Client и заполняем ее следующим образом:

После чего нажимаем на кнопку PUT . После чего будет произведена запись файлов на TFTP сервер виртуальной машины 3.

Практика 5 . Копируем файлы с TFTP сервера с помощью TFTP клиента в Linux

Теперь настало время поработать с Linux . Перейдем на виртуальную машину 3 и попробуем скачать с нее файлы хранящиеся на TFTP сервере виртуальной машины 1. Для этого в консоли введем:

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

После чего файл 1. bmp будет скопирован с TFTP сервера виртуальной машины 1 и помещен в директорию / TFTP _ server виртуальной машины 3.

В заключение попробуем записать файлы на TFTP сервер виртуальной машины 1 используя клиент виртуальной машины 3 с Debian . Для этого выполним на ней следующие команды:

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

Пока это все примеры использования TFTP. Надеюсь они пригодятся вам в вашей профессиональной практике.

Источник

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

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

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

Читайте также:  Русский linux для нетбуков

Помимо 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.

Источник

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