Установка 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 или из командой строки PowerShell с помощью командлета Set-Service:

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.


Предыдущая статья Следующая статья


Комментариев: 7 Оставить комментарий

Оставить комментарий

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

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