What is tftp server in windows

Поднятие tftpd32 сервера на Windows

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

Мне понадобился сервер tftp для того, чтобы слить настройки с уже настроенного коммутатора Cisco и при необходимости залить его обратно.

Для справки: tftp – это протокол передачи данных, который работает на транспортном протоколе UDP на порту 69. Особой безопасности не предоставляет. Используется для загрузки бездисковых систем (нужен для загрузки первоначального загрузчика) и для обновления прошивок аппаратных sip-телефонов Cisco.

Этот протокол чувствителен к фрагментации сетевого пакета. Если фрагментация есть, то файл может передаваться не до конца. Чтобы проверить делятся пакеты или нет, нужно выставить правильное MTU . На Windows это можно сделать программой TCP Optimizer. Подробнее о программе и настройке MTU здесь.

Есть две версии приложения:

  1. tftpd32 — для 32-битной системы windows;
  2. tftpd64 — для 32-битной системы соответственно.

Данный tftp-сервер можно установить как для старой Windows XP, так и для современной Windows 10. На серверные ОС (Windows 2012 r2, Windows 2016 и др.), tftpd64 и tftpd32 встают тоже без проблем.

Порт tftp сервера по умолчанию — 69/UDP. Если подключение проходит через маршрутизатор, не забываем открыть 69 порт UDP протокола.

Установка tftpd32 сервера на Windows

Для таких простых целей я выбрал замечательное приложение tftpd32/tftpd64. Найти его можно здесь.

Для того, чтобы развернуть tftp-сервер на своем рабочем месте необходимо:

  1. Загрузить нужный дистрибутив отсюда. Стоит обратить внимание, что дистрибутивы различаются по типу запуска: как службу (service edition) и как приложение (standard edition) и также по битности ОС. Для себя я выбрал пакет tftpd64 service edition (installer)
  2. После загрузки, устанавливаем загруженный дистрибутив, не изменяя абсолютно никаких параметров.
  3. Если Вы загрузили, как и я, дистрибутив с запуском в качестве службы, то стоит вручную запустить службу или просто перезапустить компьютер.
  4. Дальнейшей настройки этот сервер не требует, но для подстраховки все настройки должны выглядеть так как изображено на скрине:

Всё! Теперь можно подключаться к tftp и копировать файлы. У операционной системы Windows XP tftp-клиент установлен по умолчанию, а у Windows 7/8/10 его необходимо доставить через компоненты системы.

Как проверить работу сервера tftpd32?

Для того, чтобы передать файл необходимо открыть cmd.exe и выполнить команду:

Для того, чтобы получить файл с tftp-сервера, есть команда:

Использовать tftpd32/tftpd64 для каких-то постоянных задач не рекомендуется, так как у него практически нет никакой защиты от несанкционированного подключений к серверу. Да, можно ограничить доступ к нему только определенным IP-адресам, но та легкость, с которой можно подменить IP-адрес, позволяет сказать, что это не относится к сетевой безопасности вообще.

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

Комментарии

Отлично и все так просто. Как раз хочу сохранить конфиг с маршрутизатора.

Распишите пожалуйста подробно, как с помощью этого ПО прошить голосовой шлюз. Где какие адреса вписывать и директории.

Возможно, в будущем обязательно напишу. Пока нет под рукой голосового шлюза от Cisco.

А почему service interfaces у меня постоянно сбрасывается на адрес 127.0.0.1 ?

Разобрался. Утилита бородатая и просто не хочет правильно работать на семёрке. На хрюшке нормально заработала, правда пришлось правило фаэрвола ручками подправить – открыть 69 порт.

Не в чем там разбираться. Бородатость утилиты тут не причем, тем более последняя версия от 06.05.2015, тут семёрка даже с первым сервиспаком бородастей будет. Утилита прекрасно работает на всех версиях 32/64 рабочих станций и серверов. По умолчанию при запуске привязывается к первому интерфейсу по списку, если адрес 127.0.0.1 в списке первый, то к нему и привяжется. В утилите надо в настройках включить Bind TFTP to this address и выбрать нужный адрес из списка, чтобы он записался в файл tftp32.ini

Читайте также:  Список для чтения windows что это

Игорь, дружище, спасибо огромное, просто и быстро всё заработало, solarwinds ваще не хотел коннектить.

  • Зюзгин Иван прокомментировал Как закрыть крышку часов Tissot?
  • George Pazenko прокомментировал Как закрыть крышку часов Tissot?
  • Евгений прокомментировал Автоматический перевод Вашего сайта с помощью JS скрипта Google Translate
  • Игорь прокомментировал Как закрыть крышку часов Tissot?
  • Алексей прокомментировал Автоматический перевод Вашего сайта с помощью JS скрипта Google Translate

Как изменить пароль root`а на phpmyadmin?

Создаем шаблоны писем в Thunderbird или делаем нашу жизнь проще

Ошибка Fatal error / Invalid license у панели ISP manager

Как использовать Li-ion батарейку правильно?

Как почистить таблицу в html или пишем собственный плагин для Sublime Text

Сисадмин — кто это?

Зарядка для айтишника или профилактика шейного остеохондроза

Поднимаем сервер DHCP на Cisco 3750

Как сделать tilt-shift эффект в Gimp?

Какой пароль выбрать?

Как сохранить настройки Cisco в файл и загрузить их потом обратно?

Сброс конфигурации на заводские настройки Cisco 2960

Если Вы используете материал моего блога, то будьте добры поставьте ссылку.

Установка TFTP сервера на Windows Server 2012 R2

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

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

Чтобы установить службу 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 с помощью команды

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

set-service WDSServer -StartupType Automatic

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

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

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

Читайте также:  Install from zip file linux

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

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

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

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

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

При запуске или перезапуске службы 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 сервера, к примеру, tftpd32.

Создание в Windows TFTP сервера, настройка и проверка работоспособности

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

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

Как установить TFTP-сервер на Windows

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

Кроме загрузки ОС на рабочие станции, он широко используется для загрузки и модификации конфигураций множества встроенных устройств, являющихся частью домашних сетей и системы «Умный дом».

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

Если при помощи FTP, требующего ввода логина/пароля, можно осуществлять целый спектр операций с файлами (передача в обоих направлениях, переименование, удаление, просмотр), то в TFTP вы можете файлы только скачивать, и только по одному. Зато здесь используется стек UDP, отличающийся простотой кода, в отличие от распространённого, но достаточно сложного TCP/IP.

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

Итак, если суммировать, для чего нужен клиент TFTP, то можно утверждать, что главное преимущество протокола – простота реализации его клиентской части.

Хотя TFTP-сервер чаще всего можно встретить в ОС Linux, существует немало решений, предназначенных для Windows и даже для macOS (TFTPD32/64, haneWIN, WhatsUp, WinAGents и др.).

Рассмотрим процедуру установки TFTP-сервера на примере весьма популярной утилиты TFTPD32, созданной на условиях открытого исходного кода. Кроме собственно TFTP-сервера, она включает и другие серверные протоколы (DHCP, DNS, SNTP) и позволяет управлять пулом IP-адресов. Разумеется, ситуации, когда требуется наличие всех перечисленных функций, сложно придумать даже теоретически, но дополнение TFTP одной из них вполне может оказаться полезным.

Читайте также:  Klif sys windows 10 как исправить

При скачивании программы можно выбрать portable-версию, если не хотите возиться с инсталляцией.

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

  • каталог, куда будут скачиваться файлы (дефолтный путь – место установки программы);
  • IP-адрес сервера, на который нужно будет обращаться клиентам.

Для выполнения простейших операций этого будет достаточно. Но в ряде случаев потребуется дополнительная настройка программы.

Настройка TFTP сервера

Если требуется использование DHCP сервера, например, для выдачи динамических айпишников в пределах малой сети, необходимо зайти в раздел Setting и выбрать вкладку DHCP.

Здесь нам нужно указать:

  • исходный IP адрес (получаемый на маршрутизаторе);
  • диапазон выдаваемых клиентам адресов;
  • указание шлюза сети не является обязательным;
  • четвёртый параметр – маска подсети.

Подтверждаем внесение изменений нажатием ОК.

Поскольку в основе TFTP лежит использование транспортного протокола нижнего уровня UDP, в котором установление соединения не предусмотрено, задача эмуляции соединения становится прерогативой внешнего протокола, в нашем случае – TFTP. Проблема в том, что межсетевые экраны в большинстве случаев не умеют идентифицировать соединения, инициированные протоколом TFTP, так что этот тип трафика он пропускать не в состоянии.

Но если TFTP-сервер располагается в пределах защищённой сети, а клиентские устройства – перед файерволом, то проблем быть не должно, но потребуется внесение изменений в настройки файервола:

  • нужно добавить правило транспортировки пакетов данных из внешнего айпишника на адрес сервера TFTP, указанный в конфигурации программы (через порт 69 TFTP сервера);
  • разрешить перенаправление трафика из внутренней сети на внешний IP-адрес.

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

Проблема в том, что не все сетевые роутеры/маршрутизаторы позволяют выполнить такие настройки. Но многие из них оснащены функцией просмотра трафика, направляемого с использованием протокола TFTP, при этом они в состоянии динамически изменять таблицу трансляции, позволяя пропускать пакеты извне, идущие в локальную сеть. Так, чтобы настроить файервол маршрутизатора Cisco PIX, необходимо выполнить команду fixup protocol tftp.

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

Так, чтобы настроить WinAGents TFTP Server подобным образом, необходимо в настройках программы установить галочку напротив опции Enable firewall support.

Проверка работоспособности TFTP сервера

Чтобы проверить, работает ли TFTP сервер, необходимо просто выполнить копирование файла с сервера на клиентское оборудование.

Для этого нужно запустить консоль на клиенте, а затем выполнить команду tftp 192.168.1.35 GET . Если всё настроено правильно, после паузы, во время которой и происходит передача данных, указанный файл должен появиться на клиентском оборудовании.

Отметим, что копирование будет производиться в каталог, в котором запускалась консоль, если в настройках программы не указан другой путь. Но не все утилиты имеют такие настройки. Например, если вы используете WinAGents TFTP Server, вам нужно будет выполнить последовательно две команды:

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

В утилите TFTPD32 копирование будет выглядеть несколько иначе. На клиентской машине следует запустить приложение, открыть в нём вкладку TFTPClient, а затем указать IP-адрес сервера, а затем имя файла, который мы намереваемся скачать. Сохранить его можно и под другим именем, указав его в соответствующей строке настроек. Завершив все приготовления, жмём кнопку GET и дожидаемся результатов операции.

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

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