В этой статье мы рассмотрим процесс установки и настройки TFTP сервера в операционной системе Windows. Протокол TFTP (Trivial File Transfer Protocol) представляет собой упрощенный протокол передачи файлов, обеспечивающий простую возможность загрузки и скачивания. Обычно он используется для таких задач, как сетевая загрузка (PXE), установка операционных систем по сети, обновление прошивок сетевого оборудования и другие специфичные задачи. TFTP отличается своей простотой и высокой производительностью при передаче файлов, однако в нем отсутствуют средства защиты и аутентификации.
Основные характеристики TFTP
TFTP работает по порту 69 (UDP) и не предоставляет средств для управления и безопасности. Его основное преимущество — это простота реализации клиентской части и высокая производительность при передаче крупных файлов.
Запуск TFTP сервера в Windows
Для быстрого развертывания TFTP сервера в Windows часто используют бесплатную утилиту Tftpd64 (или Tftpd32), которая является open-source решением. Эту утилиту можно скачать в виде portable версии или в виде установочного пакета.
Шаги по настройке Tftpd64:
1. Скачайте и запустите исполняемый файл tftpd64.exe.
2. В интерфейсе Tftpd64 перейдите на вкладку Tftp Server и нажмите кнопку Settings.
3. Выберите каталог, который вы хотите опубликовать, и установите TFTP Security в положение None.
4. После изменения настроек перезапустите программу.
5. Откройте в Windows Firewall порт 69/UDP для входящего трафика TFTP. Для этого можно создать разрешающее правило с помощью PowerShell:
New-NetFirewallRule -DisplayName 'TFTP-UDP-In' -Direction Inbound -Action Allow -Protocol UDP -LocalPort 69
Теперь сервер готов к подключению для загрузки или скачивания файлов по TFTP.
Использование Tftpd64 в качестве TFTP клиента
Tftpd64 также можно использовать как TFTP клиент. Для этого перейдите на вкладку Tftp Client, укажите IP-адрес TFTP сервера и порт подключения (по умолчанию 69). Теперь вы можете:
— Скачать файл с сервера (Get);
— Загрузить файл на сервер (Put).
Для просмотра логов подключений перейдите на вкладку Log Viewer.
Установка TFTP клиента в Windows
По умолчанию клиент TFTP не установлен в Windows. Для установки в Windows 10 или 11 можно использовать следующую команду PowerShell:
Enable-WindowsOptionalFeature –FeatureName TFTP -Online
Для установки клиента TFTP на Windows Server используется другая команда:
Install-WindowsFeature TFTP-Client
После установки вы сможете использовать утилиту tftp.exe для передачи файлов по TFTP.
Примеры команд:
— Передать файл на TFTP сервер:
tftp 192.168.1.100 PUT имя_файла.txt
— Скачать файл с TFTP сервера:
tftp 192.168.1.100 GET имя_файла.txt
Установка встроенного TFTP сервера в Windows Server
В операционной системе Windows Server доступен встроенный TFTP сервер, который является частью роли WDS (Windows Deployment Services). Он используется для сетевой загрузки (PXE) и установки Windows по сети.
Шаги по установке:
1. Откройте Server Manager и выберите Add Roles and Features Wizard.
2. Установите роль Windows Deployment Services (WDS).
3. В настройках WDS выберите компонент Transport Server.
4. После завершения установки создайте каталог для файлов TFTP сервера (например, C:\tftp).
5. Укажите путь к корневому каталогу TFTP сервера в параметре реестра RootFolder:
HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
6. В параметре ReadFilter можно задать каталоги, из которых разрешена загрузка файлов. По умолчанию разрешена загрузка только из каталогов \boot\ и \tmp\. Чтобы разрешить загрузку из других каталогов, добавьте их в этот параметр или установите значение \* для всех каталогов.
Запуск TFTP сервера:
1. Запустите службу WDS с помощью команды:
Get-Service WDSServer | Start-Service
2. Настройте автоматический запуск службы:
Set-Service WDSServer -StartupType Automatic
3. Проверьте, что служба запущена и ожидает подключения на порту UDP 69:
Get-Process -Id (Get-NetUDPEndpoint -LocalPort 69).OwningProcess
4. Убедитесь, что правило брандмауэра для доступа к порту UDP 69 включено:
(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 сервера, но не загружать их.
Заключение
В статье мы рассмотрели процесс установки и настройки TFTP сервера в Windows, используя как сторонние решения, так и встроенные возможности Windows Server. TFTP — это простой и производительный протокол, часто используемый для загрузки прошивок, обновления сетевого оборудования и PXE загрузки операционных систем. Несмотря на свою простоту, TFTP имеет ряд ограничений, таких как отсутствие защиты и невозможность записи файлов на встроенном сервере Windows Server.