Установка и настройка TFTP сервера в Windows

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

Запуск TFTP сервера в Windows

Чаще всего для быстрого запуска TFTP сервера в Windows используют бесплатный opensource Tftpd64 (tftpd32). Вы можете скачать portable или установочный пакет tftpd64 здесь.

  1. Запустите исполняемый файл tftpd64.exe;
  2. Интерфейс tftpd64 состоит из нескольких вкладок. На вкладке Tftp Server нажмите кнопку Settings и выберите каталог, который вы хотите опубликовать;
  3. Выберите TFTP Security = None
  4. После того, как вы изменили настройки TFTP, нужно перезапустить программу.
  5. Откройте в Windows Firewall порт 69/UDP для входящего TFTP трафика. Можно создать разрешающее правило в файерволе Windows с помощью PowerShell: N ew-NetFirewallRule -DisplayName 'TFTP-UDP-In'  -Direction Inbound -Action Allow -Protocol UDP -LocalPort 69
  6. Теперь вы можете подключиться к tftp, чтобы получить или загрузить файл.

Программу tftpd64 можно использовать в качестве TFTP клиента. Перейдите на вкладку Tftp Client, укажите IP адрес TFTP сервера и порт подключения (69 по умолчанию).

Теперь вы можете скачать (Get) или загрузить (Put) файлы на указанный tftp сервер.

На вкладке Log viewer можно посмотреть логи подключений к TFTP.

Установка клиента TFTP в Windows

По умолчанию в Windows не установлен клиент TFTP. Вы можете установить в Windows 10/11 его командой:

Enable-WindowsOptionalFeature –FeatureName TFTP -Online

В Windows Server для установки клиента TFTP используется другая команда:

Install-WindowsFeature TFTP-Client

Теперь вы можете использовать утилиту tftp.exe для скачки и загрузки файлов по TFTP.

  • Передать файл на TFTP сервер: tftp 192.168.1.100 PUT имя_файла.txt
  • Скачать файл с TFTP: tftp 168.1.100 GET имя_файла.txt

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

В Windows Server доступен встроенный TFTP сервер, который входит в состав роли WDS и используется для PXE загрузки и установки Windows по сети. Чтобы установить службу TFTP, откройте консоль Server Manager -> Add Roles and Features Wizard -> выберите роль Windows Deployment Services (Службы развертывания Windows).

В компонентах роли WDS выберите только Transport Server (Транспортный сервер).

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

Укажите путь к корневому каталогу TFTP в строковом REG_SZ параметре RootFolder в разделе реестра HKLMSYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP

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

Запустите службу WDSServer:

Get-Service WDSServer| Start-Service

Включить автоматический запуск службы с помощью Set-Service:

set-service WDSServer -StartupType Automatic

Проверьте, что служба запущена и ее процесс ожидает подключения на порту UDP 69:

Get-Process -Id (Get-NetUDPEndpoint -LocalPort 69).OwningProcess

В Windows Firewall доступ к UDP порту 69 отрывает правило “Windows Deployment Services (UDP-In)”. Проверьте, что правило брандмауэра включено:

(Get-NetFirewallRule -displayname 'Windows Deployment Services (UDP-In)').enabled

Попробуйте скачать файл с TFTP сервера с помощью встроенного клиента tftp.exe:

tftp -i 192.168.158.10 get test.zip

Основной недостаток встроенного TFTP сервера в Windows Server – он не позволяет открыть папку для записи. Это означает, что клиенты могут только скачивать файлы с такого TFTP сервера, но не загружать.


Комментарии

Добавить комментарий

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