Протокол TFTP (TrivialFileTransferProtocol) спрощений протокол передачі файлів, що забезпечує просту можливість скачки і закачування файлів. Як правило, TFTP використовується для організації систем завантаження по PXE (мережева завантаження, бездискові робочі станції та ін.), Завантаження / розвантаження конфігурації мережевого устаткування і ряду інших специфічних завдань. У проколі відсутні засоби захисту, аутентифікації і управління. Основна його перевага - простота реалізації клієнтської частини і висока продуктивність при передачі файлів великого обсягу. Протокол працює по порту 69 UDP.
На наступному кроці майстра в компонентах ролі WDS вибираємо тільки TransportServer (Транспортний сервер), зніміть галочку з Deployment Server. Після завершення установки ролі необхідно створити каталог, який буде кореневим каталогом для TFTP сервера, наприклад C: \ tftp. Зверніть увагу на значення параметра ReadFilter. За замовчуванням він дозволяє завантаження файлів тільки з каталогів \ boot і \ tmp. Якщо буде потрібно можливість завантаження файлів з кореня і інших каталогів, потрібно змінити значення параметра ReadFilter на \ *.Запустимо службу WDS за допомогою команди
Порада. Для автоматичного запуску служби потрібно змінити тип завантаження служби Windows Deployment Services на Auto за допомогою оснастки services.msc або з командою рядка:
set-service WDSServer -StartupType Automatic
У брандмауері Windows має з'явиться правило, яке дозволяє вхідний трафік на порт UDP 69 (відповідає служба з довільного номера порту вище 1023). Деякі антивірусу можуть блокувати порт 69 (в цьому був помічений McAffee Enterprise)
На цьому настройка TFTP сервера завершена.
Щоб протестувати роботу TFTP сервера, нам знадобиться клієнт TFTP. Встановити його можна за допомогою Server Manager, вибравши компонент TFTPClient.
Спробуємо локально звернутися до розгорнутому 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 -> DeploymentService і відразу ж видалити його. Після його установки в гілці WDSTFTP потрібно змінити значення ключа RootFolder з C: \ RemoteInstall на c: \ tftp. Намагаємося ще раз завантажити файл:
PS C: \ temp> tftp -i localhost get boot \ test.zip
Безперечно, у MS не найкраща реалізація tftp демона. Я сам люблю tftpd32.
Тут більше спортивний інтерес був: людина в пошті поцікавився - ось і вирішив мануал намалювати.