Установка TFTP сервера на Windows Server 2012 R2 | Windows для системных администраторов

Установка 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 сервер Microsoft имеет довольно урезанный функционал, минимально необходимый для работы загрузки по PXE . В частности клиенты могут только читать данные с такого TFTP сервера , а операции записи не доступны.

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

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

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

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

tftp RootFolderОбратите внимание на значение параметра 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 клиентаПопытаемся локально обратиться к развернутому TFTP серверу и попробовать скачать файл test.zip

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

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

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

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

Connect request failed

tftp 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Итак, мы рассмотрели как быстро без использования сторонних средств развернуть TFTP сервер на Windows Server 2012. Функционал такого сервера будет довольно урезанным, поэтому для более сложных инсталляций, предпочтительнее использовать альтернативную реализацию TFTP сервера, к примеру, tftpd32.

Еще записи по теме: Windows Server 2012 R2
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 6

Оставить комментарий
  1. VecH | 24.02.2016
    Ответить
  2. Alex Kornev | 25.02.2016

    Ну можно, конечно и так. А можно воспользоваться старой доброй утилитой от 3COM (мир их праху) — 3COM Daemon 3CTftpd begat 3CServer, which was a more full-featured TFTP and FTP server I wrote. This eventually became part of 3Com’s Transcend Network Management product. 3COM Daemon
    Только одна «проблема». setup.exe из этого комплекта не будет запускаться на Win 2012/Win 10 так как очень старый. Поэтому есть альтернативный вариант — установить софтинку под WinXP (например на виртуалке) а потом просто взять папку с программами, которая будет создана и перенести в нужное место. Иснталлятор, по сути, лиш распаковывает архивчик.

    Ответить
  3. itpro | 26.02.2016

    Бесспорно, у MS не самая лучшая реализация tftp демона. Я сам предпочитаю tftpd32.
    Тут больше спортивный интерес был: человек в почте поинтересовался — вот и решил мануал нарисовать.

    Ответить
    • k0nctant1n | 29.02.2016

      Дима, я свой вопрос именно так и решил, но хорошо что и ты статейку на обозрение написал. Молодца.

      Ответить
  4. D3kr | 14.10.2016

    Спасибо за инструкцию.
    Подскажите, как реализовать запись на tftp. Windows tftp поддерживает запись?

    Ответить
    • itpro | 17.10.2016

      Встроенными средствами нет, проще найти альтернативу.

      Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.25MB/0.00106 sec