Клиент tftp для чего он нужен. Сам себе провайдер: настраиваем серверы FTP и TFTP

Применение

Основное назначение TFTP - обеспечение простоты реализации клиента. В этой связи он используется для загрузки бездисковых рабочих станций, загрузки обновлений и конфигураций в «умные» сетевые устройства, записи статистики с мини -АТС (CDR) и аппаратных маршрутизаторов /файрволов .

Безопасность

Поскольку протокол не поддерживает аутентификации, единственный метод идентификации клиента - это его сетевой адрес (который может быть подделан). Обычно в Unix-системах tftpd доступен только каталог /tftpboot. Однако в старых TFTP-серверах было возможным получить файл паролей командой RRQ ../etc/passwd.

Дополнительная защита от доступа к произвольным файлам осуществляется с помощью смены корневого каталога на каталог tftpd (обычно /usr/TFTPRoot).

Типы пакета

Сначала в TFTP-пакете идет поле размером в 2 байта , определяющее тип пакета:

  • Read Request (RRQ, #1) - запрос на чтение файла.
  • Write Request (WRQ, #2) - запрос на запись файла.
  • Data (DATA, #3) - данные, передаваемые через TFTP.
  • Acknowledgment (ACK, #4) - подтверждение пакета.
  • Error (ERR, #5) - ошибка.

Запросы на чтение и запись

Для начала передачи данных клиент должен послать серверу WRQ или RRQ-пакет. У обоих пакетов формат одинаковый:

В TFTP существует 2 режима передачи (режим Mail, определенный в IEN 133 , признан устаревшим):

  • netascii - файл перед передачей перекодируется в ASCII.
  • octet - файл передается без изменений.

После получения RRQ-пакета сервером, он сразу начинает передачу данных. В случае с WRQ-запросом - сервер должен прислать ACK-пакет c номером пакета 0.

Процесс передачи данных

После получения запроса RRQ, сервер сразу посылает в качестве подтверждения пакет с данными и с ID пакета равным единице. В WRQ в качестве подтверждения используется ACK с ID равным нулю. Всего по TFTP можно передать 32 Мб (65536 * 512 / 1024²), однако из-за использования знакового int вместо беззнакового, размер подтверждения ограничен 16 мегабайтами. Однако если клиент и сервер поддерживают расширения протокола RFC 2347 и RFC 2348 , то максимальный размер передаваемого файла увеличивается до 4Gb.

Опции TFTP

В RFC 2347 был предусмотрен формат опций, которые можно присоединять к окончанию RRQ-пакета и WRQ-пакета:

Код опции 0x00 (конец строки) Значение опции 0x00 (конец строки)
строка в ASCII 1 байт строка в ASCII 1 байт

Опций может быть несколько. Тогда они будут следовать друг за другом. Порядок опций не важен.

В ответ на RRQ (или WRQ) с опциями, сервер должен прислать OACK с списком опций, которые сервер принял. Наиболее распространённые опции:

Название Определена в Код опции
Размер блока RFC 2348 blksize В качестве значения опции идёт число, принимающее значение от 8 до 65464, обозначающее размер блока.
Интервал повторной передачи (Timeout) RFC 2349 timeout В качестве значения опции идёт число, принимающее значение от 1 до 255, обозначающее время ожидания перед повторной передачей блока в секундах.
Размер файла RFC 2349 tsize В качестве значения опции идёт число, обозначающее размер передаваемого файла в байтах.

Ошибки

В TFTP информация об ошибке имеет следующий формат:

0x05 (тип пакета) Код ошибки Описание ошибки 0x00 (конец строки)
2 байта 2 байта строка в ASCII 1 байт

Код ошибки может принимать одно из значений, перечисленных в STD 33 (за исключением кода 8 - он описан в RFC 2347). Вот они:

Схема URI

В RFC 3617 определен формат URI для TFTP. Он имеет следующий вид:

Tftp://[узел назначения]/[нужный файл];mode=[режим передачи]

Например:

Tftp://example.com/todo.txt;mode=netascii

Стандарты

  • RFC 1350 (STD33) - спецификация TFTP
  • RFC 2347 - опции TFTP
  • RFC 3617 - схема URI

Опции

  • RFC 2348 - размер блока
  • RFC 2349 - тайм-аут

Библиография

  • У. Ричард Стивенс. «Протоколы TCP/IP. Практическое руководство». Глава 15, «Простейший протокол передачи файлов TFTP». ISBN 5-7940-0093-7
  • Х. Остерлох. «TCP/IP. Семейство протоколов передачи данных в сетях компьютеров». Глава 16 «Простейший протокол передачи файлов (TFTP)». ISBN 5-93772-039-3

Источники

Ссылки

  • WinAgents TFTP Server (англ.) Сервер TFTP для Windows с поддержкой разграничения прав доступа
  • Tftpd32 Сервер TFTP с открытным исходным кодом для Windows
  • tftpd(8) - страница справки man системного администратора FreeBSD (англ.) (англ.)
  • Innerdive TFTP Server Сервер TFTP для Windows. Рассчитан на высокие нагрузки.

Упростить работу с компьютерами на Windows, подключёнными по локальной сети, можно с помощью активации FTP и TFTP серверов, каждый из которых имеет свои особенности.

Различия FTP и TFTP серверов

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

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

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

Если ваши устройства соединены через роутер или используют Firewall, то необходимо заранее пробросить порты 21 и 20 для входящих и исходящих соединений.

Создание и настройка TFTP на Windows 7

Для его активации и настройки лучше всего использовать бесплатную программу - tftpd32/tftpd64, которую можно скачать с одноимённого официального сайта разработчика. Приложение распространяется в двух видах: служба и программа. Каждый вид разделяется на версии для 32-х и 64-х битной системы. Вы можете использовать любой вид и версию программы, наиболее подходящую вам, но далее для примера будут приведены действия в 64-х битной программе, работающей как служба (service edition).

Создание и настройка FTP

  1. Раскройте панель управления компьютером.

    Запускаем панель управления

  2. Перейдите к разделу «Программы».

    Переходим к разделу «Программы»

  3. Перейдите к подразделу «Программы и компоненты».

    Переходим к разделу «Программы и компоненты»

  4. Кликнете по вкладке «Включение и отключение компонентов».

    Кликаем по кнопке «Включение и отключение компонентов»

  5. В развернувшемся окошке найдите древо «Службы IIS» и активируйте все компоненты, в него входящие.

    Активируем дерево «Службы IIS»

  6. Сохраните результат и дождитесь, пока включённыеэлементы будут добавлены системой.

    Дождитесь, пока компоненты будут добавлены системой

  7. Возвратитесь к главной странице панели управления и перейдите к разделу «Система и безопасность».

    Переходим в раздел «Система и безопасность»

  8. Перейдите к подразделу «Администрирование».

    Переходим к подразделу «Администрирование»

  9. Откройте программу «Диспетчер служб IIS».

    Открываем программу «Диспетчер служб IIS»

  10. В появившемся окошке обратитесь к древу, находящемуся в левой стороне программы, щёлкните правой кнопкой мышки по подпапке «Сайты» и перейдите к функции «Добавить FTP-сайт».

    Нажимаем на пункт «Добавить FTP-сайт»

  11. Заполните поле с названием сайта и пропишите путь до папки, в которую будут отправляться принимаемые файлы.

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

  12. Начинается настройка FTP. В блоке IP-адрес поставьте параметр «Все свободные», в блоке SLL параметр «Без SSL». Включённая функция «Запускать сайт FTP автоматически» позволит серверу включаться самостоятельно каждый раз при включении компьютера.

    Выставляем необходимые параметры

  13. Проверка подлинности позволяется выбрать два варианта: анонимный - без логина и пароля, обычный - с логином и паролем. Отметьте те варианты, которые подходят вам.

    Выбираем, кто будет иметь доступ к сайту

  14. Создание сайта на этом завершается, но необходимо выполнить ещё некоторые настройки.

    Сайт создан и добавлен в список

  15. Возвратитесь к разделу «Система и безопасность» и перейдите из него к подразделу «Брандмауэр».

    Открываем раздел «Брандмауэр Windows»

  16. Откройте дополнительные параметры.

    Переходим к дополнительным настройкам брандмауэра

  17. В левой половине программы сделайте активной вкладку «Правила для входящих подключений» и активируйте функции «FTP сервер» и «Трафик FTP-сервера в пассивном режиме», кликая по ним правой кнопкой мышки и указывая параметр «Включить».

    Включаем функции «FTP сервер» и «Трафик FTP-сервера в пассивном режиме»

  18. В левой половине программы сделайте активной вкладку «Правила для исходящих подключений» и запустите таким же методом функцию «Трафик FTP-сервера».

    Включаем функцию «Трафик FTP-сервера»

  19. Следующий шаг - создание новой учётной записи, которая получит все права по управлению сервером. Для этого возвратитесь к разделу «Администрирование» и выберите в нём приложение «Управление компьютером».

    Открываем приложение «Управление компьютером»

  20. Находясь в разделе «Локальные пользователи и группы», выберите подпапку «Группы» и начните создание в ней ещё одной группы.

    Нажимаем кнопку «Создать группу»

  21. Заполните все необходимые поля любыми данными.

    Заполняем информацию о создаваемой группе

  22. Перейдите к подпапке «Пользователи» и начните процесс создания нового пользователя.

    Нажимаем кнопку «Новый пользователь»

  23. Заполните все необходимые поля и завершите процесс.

    Заполняем информацию о пользователе

  24. Откройте свойства созданного пользователя и раскройте вкладку «Членство в группах». Кликнете по кнопке «Добавить» и внесите пользователя в группу, которую создавали чуть раньше.

    Нажимаем кнопку «Добавить»

  25. Теперь перейдите к папке, которая отдана для использования сервером FTP. Откройте её свойства и перейдите к вкладке «Безопасность», кликнете в ней по кнопке «Изменить».

    Нажимаем кнопку «Изменить»

  26. В открывшемся окошке кликнете по кнопке «Добавить» и внесите в список группу, которая была создана ранее.

    Выбираем действие «Добавить разрешающее правило»

  27. Отметьте галочкой пункт «Указанные роли или группы пользователей» и заполните поле именем зарегистрированной ранее группы. Разрешения необходимо выдать все: чтение и запись.

    Выбираем пункт «Указанные роли или группы пользователей»

  28. Вы можете создать ещё одно правило для всех остальных пользователей, выбрав в нём «Все анонимные пользователи» или «Все пользователи» и установив разрешение только на чтение, чтобы никто кроме вас не мог редактировать данные, хранящиеся на сервере. Готово, на этом создание и настройка сервера завершена.

    ftp://ваше _имя:пароль@192.168.10.4.

    Для подключения к серверу не по локальной сети, а через интернет, используются те же самые адреса, но цифры 192.168.10.4 заменяются имя сайта, созданного вами ранее. Напомним, что для подключения через интернет, полученный с роутера, необходимо пробросить порты 21 и 20.

    Причины, по которым могут не работать

    Сервера могут работать некорректно, если вы не выполнили все необходимые настройки, описанные выше, или вводите какие-либо данные неправильно, перепроверьте всю информацию. Второй причиной для поломки являются сторонние факторы: неправильно настроенный роутер, Firewall, встроенный в систему или сторонний антивирус, блокирует доступ, правила, установленные на компьютере, мешают работе сервера. Чтобы решить проблему, связанную с FTP или TFTP сервером, необходимо точно описать, на каком этапе она появилась, только тогда вы сможете найти решение на тематических форумах.

    Как подключить в качестве сетевого диска

    Чтобы преобразовать папку, отведённую под сервер, в сетевой диск стандартными методами Windows, достаточно выполнить следующие действия:


    Сторонние программы для настройки сервера

    Программа для управления TFTP - tftpd32/tftpd64, уже была описана выше в статье, в разделе «Создание и настройка TFTP сервера». Для управления FTP серверами можно использовать программу FileZilla.


    FTP и TFTP сервера предназначены для создания локальных и общих сайтов, позволяющих обмениваться файлами и командами между пользователями, имеющих доступ к серверу. Оформить все нужные настройки можно как с помощью встроенных функций системы, так и через сторонние приложения. Чтобы получить некоторые преимущества, вы можете преобразовать папку с сервером в сетевой диск.

Здравствуйте, уважаемые читатели! Сегодня мы попытаемся развеять миф о том, что "поднять" какой-либо вид сервера может только квалифицированный специалист и расскажем, для чего нужен TFTP-сервер, как его настроить и использовать себе во благо.

Довольно часто как у системных администраторов, так и у обычных пользователей, работающих на нескольких реальных или виртуальных машинах, возникает необходимость в передаче файлов с одной рабочей станции на другую. Одним из выходов в данной ситуации является настройка так называемого FTP-сервера, но компания Microsoft предлагает более простое и изящное решение. Речь идет о так называемом TFTP-сервере. Аббревиатура "TFTP" расшифровывается как "Trivial File Transfer Protocol", что переводится как "простой протокол передачи данных".

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

Отметим, что в операционной системе Windows XP имеется встроенный TFTP-клиент, но если у вас установлена более поздняя версия ОС (Windows 7/8), поднимать и настраивать сервер придется самостоятельно.

Как же настроить TFTP на рабочем месте?

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

  1. Скачать программу, при этом стоит внимательно отнестись к тому факту, что существуют дистрибутивы для 32- и 64-битных версий операционной системы Windows.
  2. Как только загрузка дистрибутива завершена, можно приступать к запуску и установке сервиса. В процессе установки на вкладке "TFTP" в строке "Base Directory" указывается "C:\\Windows\System32". Это говорит о том, что по умолчанию все скачанные файлы будут храниться на диске С в папочке с названием System32. Для большего удобства желательно на любом из дисков создать отдельную директорию, например, "From TFTP" и указать путь к ней.
  3. Для того, чтобы установленные программные компоненты заработали, как обычно принято в Windows, необходимо перезагрузить рабочую станцию. Правда, возможен и ручной старт работы приложения без перезагрузки компьютера.
  4. Для того, чтобы использовать TFTP по его прямому назначению, т.е. с целью приема-передачи файлов, никаких дополнительных настроек не требуется, сервер будет прекрасно функционировать со стандартными настройками.
Как проверить, правильно ли работает TFTP-сервер?

Для того, чтобы узнать, правильно ли функционирует сервер, достаточно запустить командную строку (для этого в строке поиска меню "Пуск" необходимо ввести "cmd.exe" или же найти утилиту непосредственно на том диске, куда установлена ОС. Обычно путь к файлу выглядит так: " C:\\Windows\System32\cmd.exe").

tftp [-i] узел источник [адресат]

-i - режим передачи файла в двоичном коде,
узел - IP-адрес удаленного или локального узла, на который производится отправка/получение файла,
GET - передача файла с удаленного компьютера,
PUT - получение файла с удаленного компьютера,
источник - название файла, который необходимо отправить/получить,
адресат - адресат, которому отправляется/получается файл.

Для чего еще может пригодиться TFTP-сервер?

Как показывает практика, использовать TFTP-сервер можно не только для обмена файлами между удаленными узлами - благодаря тому, что в оперативной памяти служба занимает всего 2 Мб, он подходит и для автоматизации операций, за выполнение которых отвечают какие-либо скрипты.

Линейка продуктов Windows Server с незапамятных времен поддерживает возможность организации TFTP сервера. Хотя выделенная роль и служба TFTP сервера отсутствует (не стоит искать ее в ), этот функционал, как и в Windows Server 2003, является частью Windows Deployments Services (WDS). TFTP сервис функционирует внутри процесса svchost.exe службы WDS.

Протокол TFTP (Trivial File Transfer Protocol) упрощенный протокол передачи файлов, обеспечивающей простую возможность скачки и закачки файлов. Как правило, TFTP используется для организации систем загрузки по PXE (сетевая загрузка, бездисковые рабочие станции и пр.), загрузки/выгрузки конфигурации сетевого оборудования и ряда других специфичных задач. В проколе отсутствуют средства защиты, аутентификации и управления. Основное его преимущество – простота реализации клиентской части и высокая производительность при передачи файлов большого объема. Протокол работает по порту 69 UDP.

Примечание . TFTP сервер Microsoft имеет довольно урезанный функционал, минимально необходимый для работы загрузки по PXE . В частности клиенты могут только читать данные с такого TFTP сервера, а операции записи не доступны.

Чтобы установить службу TFTP на Windows Server 2012 R2, откройте консоль Server Manager и с помощью мастера Add Roles and Features Wiazrd выберите роль Windows Deployment Services (Службы развертывания Windows).

На следующем шаге мастера в компонентах роли WDS выбираем только Transport Server (Транспортный сервер), снимите галочку с Deployment Server.

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

Затем с помощью редактора реестра в ветке HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP создадим новый строковый (String) параметр с именем RootFolder , и значением, содержащим путь к корневому каталогу TFTP, созданному ранее.

Обратите внимание на значение параметра ReadFilter . По умолчанию он разрешает загрузку файлов только из каталогов \boot и\ tmp. Если потребуется возможность загрузки файлов из корня и других каталогов, нужно изменить значение параметра ReadFilter на \* .

Запустим службу WDS с помощью команды

WDSUTIL /Start-TransportServer

Совет . Для автоматического запуска службы нужно изменить тип загрузки службы Windows Deployment Services на Auto с помощью оснастки services.msc или из командой строки:

set-service WDSServer -StartupType Automatic

В брандмауэре Windows должно появится правило, разрешающее входящий трафик на порт UDP 69 (отвечает служба с произвольного номера порта выше 1023). Некоторые антивирусу могут блокировать порт 69 (в этом был замечен McAffee Enterprise)

На этом настройка TFTP сервера завершена.

Чтобы протестировать работу TFTP сервера, нам понадобится клиент TFTP. Установить его можно с помощью Server Manager, выбрав компонент TFTP Client .

Попытаемся локально обратиться к развернутому TFTP серверу и попробовать скачать файл test.zip

Скачать файл можно при помощи команды

tftp –i localhost GET tmp\test.zip C:\temp\test.zip

Результатом выполнения такой команды будет сохранённый файл c:\temp\test.zip, скачанный с локального сервера.

Это все в теории, а на практике после выполнения последней команды у меня появилась ошибка:

Connect request failed

При запуске или перезапуске службы Windows Deployment Services Server в журнале Application появляется событие от службы WDSTFTP с EventID 259 и текстом:

The root folder for the Windows Deployment TFTP server is not configured.Error Information: 0x2

Чтобы заставить TFTP сервер работать, мне пришлось установить компонент роли WDS -> Deployment Service и сразу же удалить его. После его установки в ветке WDSTFTP нужно изменить значение ключа RootFolder с C:\RemoteInstall на c:\tftp. Пытаемся еще раз скачать файл:

PS C:\temp> tftp -i localhost get boot\test.zip

Получилось!

Итак, мы рассмотрели как быстро без использования сторонних средств развернуть TFTP сервер на Windows Server 2012. Функционал такого сервера будет довольно урезанным, поэтому для более сложных инсталляций, предпочтительнее использовать альтернативную реализацию TFTP сервера, к примеру, .

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

На самом деле, думаешь зачем он мне нужен. Можно все настроить через веб интерфейс или отдать кто настроит. А вот бывают проблемы, когда веб-интерфейс недоступен, например вы хотели прошить роутер и у вас отключили свет, всё! Ну ещё не проникали на оборудование, но сейчас удивляться нечему. Много людей сразу покупают новый роутер или несут в ремонт. Зачем? Все просто можно восстановить с помощью программы и команды. Программу конечно я вам покажу для создания tftp сервера, а команды бывают разные, их надо искать в интернете или в тех.поддержке оборудования, которое вы хотите прошить.

Что такое tftp сервер?

tftp сервер это грубо говоря упрощенный ftp сервер, служит для передачи файлов, без всяких заморочек, паролей, логинов и т.д. необходимо знать только ip адрес и все. По этому его и используют для перепрошивки оборудования. Указал айпи адрес, tftp сервера,для устройства и все.

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

Открываем программу и видим окно, уже с готовым ip-адресом tftp сервера.

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

Во вкладке tftp клиент , можно задать параметры вручную.

DHCP сервер, это статистика раздаваемых айпи адресов.

И остальные две вкладки это логи. Они будут создаваться, когда кто-то будет скачивать у вам файлы.