Установка и настройка TFTP сервера в Windows
01.12.2023
itpro
Windows 10, Windows Server 2019
комментариев 7
Протокол TFTP (Trivial File Transfer Protocol) упрощенный протокол передачи файлов, обеспечивающей простую возможность скачивания и загрузки. Обычно протокол TFTP используется для загрузки по PXE (сетевая загрузка, бездисковые рабочие станции, установка ОС по сети, и пр.), загрузки/обновления конфигурации/прошивок сетевого оборудования и ряда других специфичных задач. В проколе отсутствуют средства защиты, аутентификации и управления. Основное его преимущество – простота реализации клиентской части и высокая производительность при передаче файлов большого объема. Протокол работает по порту 69 UDP.
Запуск TFTP сервера в Windows
Чаще всего для быстрого запуска TFTP сервера в Windows используют бесплатный opensource Tftpd64 (tftpd32). Вы можете скачать portable или установочный пакет tftpd64 здесь.
- Запустите исполняемый файл tftpd64.exe;
- Интерфейс tftpd64 состоит из нескольких вкладок. На вкладке TftpServer нажмите кнопку Settings и выберите каталог, который вы хотите опубликовать;
- Выберите TFTPSecurity = None
- После того, как вы изменили настройки TFTP, нужно перезапустить программу.
- Откройте в Windows Firewall порт 69/UDP для входящего TFTP трафика. Можно создать разрешающее правило в файерволе Windows с помощью PowerShell: N ew-NetFirewallRule -DisplayName ‘TFTP-UDP-In’ -Direction Inbound -Action Allow -Protocol UDP -LocalPort 69
- Теперь вы можете подключиться к 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 используется другая команда:
Теперь вы можете использовать утилиту 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 в разделе реестра HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
В параметре 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 сервера, но не загружать.
Предыдущая статья Следующая статья
Поднятие tftpd32 сервера на Windows
Для некоторых айтишных задач требуется поднять tftp-сервер, который обычно предназначен только для простой передачи файлов между устройствами. TFTP изначально так и разрабатывался, чтобы быть простым. Прочитать о его работе можно на Wikipedia.
Мне понадобился сервер tftp для того, чтобы слить настройки с уже настроенного коммутатора Cisco и при необходимости залить его обратно.
Для справки: tftp – это протокол передачи данных, который работает на транспортном протоколе UDP на порту 69. Особой безопасности не предоставляет. Используется для загрузки бездисковых систем (нужен для загрузки первоначального загрузчика) и для обновления прошивок аппаратных sip-телефонов Cisco.
Этот протокол чувствителен к фрагментации сетевого пакета. Если фрагментация есть, то файл может передаваться не до конца. Чтобы проверить делятся пакеты или нет, нужно выставить правильное MTU . На Windows это можно сделать программой TCP Optimizer. Подробнее о программе и настройке MTU здесь.
Есть две версии приложения:
- tftpd32 — для 32-битной системы windows;
- tftpd64 — для 32-битной системы соответственно.
Данный tftp-сервер можно установить как для старой Windows XP, так и для современной Windows 10. На серверные ОС (Windows 2012 r2, Windows 2016 и др.), tftpd64 и tftpd32 встают тоже без проблем.
Порт tftp сервера по умолчанию — 69/UDP. Если подключение проходит через маршрутизатор, не забываем открыть 69 порт UDP протокола.
Установка tftpd32 сервера на Windows
Для таких простых целей я выбрал замечательное приложение tftpd32/tftpd64. Найти его можно здесь.
Для того, чтобы развернуть tftp-сервер на своем рабочем месте необходимо:
- Загрузить нужный дистрибутив отсюда. Стоит обратить внимание, что дистрибутивы различаются по типу запуска: как службу (service edition) и как приложение (standard edition) и также по битности ОС. Для себя я выбрал пакет tftpd64 service edition (installer)
- После загрузки, устанавливаем загруженный дистрибутив, не изменяя абсолютно никаких параметров.
- Если Вы загрузили, как и я, дистрибутив с запуском в качестве службы, то стоит вручную запустить службу или просто перезапустить компьютер.
- Дальнейшей настройки этот сервер не требует, но для подстраховки все настройки должны выглядеть так как изображено на скрине:
Всё! Теперь можно подключаться к tftp и копировать файлы. У операционной системы Windows XP tftp-клиент установлен по умолчанию, а у Windows 7/8/10 его необходимо доставить через компоненты системы.
Как проверить работу сервера tftpd32?
Для того, чтобы передать файл необходимо открыть cmd.exe и выполнить команду:
tftp 192.168.1.10 GET имя_файла.txt
Для того, чтобы получить файл с tftp-сервера, есть команда:
tftp 192.168.1.10 PUT имя_файла.txt
Использовать tftpd32/tftpd64 для каких-то постоянных задач не рекомендуется, так как у него практически нет никакой защиты от несанкционированного подключений к серверу. Да, можно ограничить доступ к нему только определенным IP-адресам, но та легкость, с которой можно подменить IP-адрес, позволяет сказать, что это не относится к сетевой безопасности вообще.
Включать сервер tftp с таким «уровнем безопасности» можно только на короткое время, для выполнения каких-то сервисных работ, а лучше вообще делать это в изолированной сети.
Комментарии
Жека, 27 июня 2013 г. 08:20 #
Отлично и все так просто. Как раз хочу сохранить конфиг с маршрутизатора.
Сергей, 21 января 2014 г. 13:52 #
Распишите пожалуйста подробно, как с помощью этого ПО прошить голосовой шлюз. Где какие адреса вписывать и директории.
Зюзгин Иван, 25 декабря 2020 г. 01:31 #
Возможно, в будущем обязательно напишу. Пока нет под рукой голосового шлюза от Cisco.
Анчуров Олег Владимирович, 12 сентября 2016 г. 12:48 #
А почему service interfaces у меня постоянно сбрасывается на адрес 127.0.0.1 ?
Олег, 13 сентября 2016 г. 14:16 #
Разобрался. Утилита бородатая и просто не хочет правильно работать на семёрке. На хрюшке нормально заработала, правда пришлось правило фаэрвола ручками подправить – открыть 69 порт.
Фёдор, 10 ноября 2016 г. 22:39 #
Не в чем там разбираться. Бородатость утилиты тут не причем, тем более последняя версия от 06.05.2015, тут семёрка даже с первым сервиспаком бородастей будет. Утилита прекрасно работает на всех версиях 32/64 рабочих станций и серверов. По умолчанию при запуске привязывается к первому интерфейсу по списку, если адрес 127.0.0.1 в списке первый, то к нему и привяжется. В утилите надо в настройках включить Bind TFTP to this address и выбрать нужный адрес из списка, чтобы он записался в файл tftp32.ini
Николай, 11 ноября 2016 г. 13:58 #
Игорь, дружище, спасибо огромное, просто и быстро всё заработало, solarwinds ваще не хотел коннектить.
Создание AMD
Чтобы получать уведомления о всех исторических IT-событиях —
- Включаем SSH на маршрутизаторе Cisco0
- Protocol major versions differ: 2 vs. 11
- Как в Windows 10 MTU поменять?1
- Windows не видит компьютеры рабочей группы6
- Как узнать какие IP-адреса заняты в локальный сети8
- Сбой 0x80070035. Не найден сетевой путь на windows 10. Как исправить?0
- Как настроить SNMP v3 на Cisco1
- Не включается сетевое обнаружение в Windows 10/7/20166
- Поднимаем сервер DHCP на Cisco 37500
- Как подключить к Cisco чужой SFP-модуль0
Оглавление
Если Вы используете материал моего блога, то будьте добры поставьте ссылку.
Thinstation по русски Всё о лёгком подключении тонкого клиента
Для развёртывания PXE загрузки необходимы два сервиса — TFTP и DHCP, для их поднятия я обычно под Linux использую Dnsmasq, ещё можно настроить Mikrotik, а для Windows TFTPD64, далее маленькая инструкция для винды.
Для того, чтобы развернуть tftp и dhcp сервисы необходимо:
Загрузить нужный дистрибутив отсюда. Стоит обратить внимание, что дистрибутивы различаются по типу запуска: как службу (service edition) и как приложение (standard edition) и также по битности ОС. Для статьи я взял портативную версию, интерфейс у всех версий одинаковый.
При установке service edition выбираем все опции:
Если Вы загрузили дистрибутив с запуском в качестве службы, то после установки стоит вручную запустить службу или просто перезапустить компьютер.
Запускаем TFTPD, выбираем сетевой интерфейс и жмём Settings:
В общих настройках выбираем DHCP и TFTP серверы:
Указываем корневой каталог, в котором TFTP сервер будет искать файлы. За это отвечает параметр «Base Directory«. В нашем случае это C:\tftpboot. Включаем режим «Use anticipation window«, в качестве параметра указал значение 8192. Этот последний параметр позволит увеличить скорость загрузки файлов с TFTP сервера.
Внимание . Активация режима «Use anticipation window» в некоторых случаях может привести к ошибкам. И тогда его следует отключить.
Проверяем работу сервера tftp:
Для того, чтобы передать файл необходимо открыть cmd.exe и выполнить команду:
tftp 192.168.1.10 GET имя_файла.txt
Для того, чтобы получить файл с tftp-сервера, есть команда:
tftp 192.168.1.10 PUT имя_файла.txt
На компьютере, с которого производится установка, присвоен IP адрес 192.168.1.34 с маской сети 255.255.255.0. Компьютеры смогут общаться друг с другом, если они принадлежат одной сети. В нашем случае это сеть 192.168.1.0. Параметр «IP Pool start address» указывает начальный IP адрес, с которого DHCP будет начинаться выдавать адреса. Я установил значение в 192.168.1.5. Параметр «Size of pool» указывает, сколько компьютеров могут получить IP адреса. Я установил значение в 10. Параметр «Boot File» указывает, какой файл необходимо загрузить. В нашем случае это lpxelinux.0 в папке C:\tftpboot\boot\lpxelinux.
Установка и настройка TFTP сервера
Небольшая статья об установке и использование TFTP сервера в работе при обновлении различных устройств.
TFTP (англ. Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
Основное назначение TFTP — обеспечение простоты реализации клиента. В связи с этим он используется для загрузки бездисковых рабочих станций, загрузки обновлений и конфигураций в «умные» сетевые устройства, записи статистики с мини-АТС (CDR) и аппаратных маршрутизаторов/файрволов.
Программа работает на порту 69 протоколы UDP и TCP.
Настраивать TFTP сервер мы будем для использования в процедуре обновления устройств.
Установка
В качестве программы, которая будет выполнять роль TFTP сервера будет небольшая программа, которую можно СКАЧАТЬ
Качаем portable edition версию т.к. лишняя возня с установкой нам не нужна. Выбираем исходя из ОС которая у вас установлена.
Распаковываем в удобное для нас место и запускаем tftpd64.exe или же tftpd32.exe если мы скачали 32 битную версию.
- 1 – здесь указывается корневой каталог куда/откуда будут качаться наши файлы, пу умолчанию это каталог где лежит наша программа.
- 2 – тут необходимо выбрать IP адрес на который будет отвечать наш TFTP сервер т.е. адрес на который мы будем обращаться внешними клиентами.
- 3 – настройки программы.
В принципе данных действий нам достаточно, чтоб начать работать с данным TFTP сервером. Данные загружаются и скачиваются из корневого каталога, который указан в пункте 1.
Дополнительные настройки
Функционал данной программы не ограничивается только TFTP сервером, но так же имеет дополнительный функционал. Мы рассмотрим лишь малую часть, что часто используется.
DHCP Server – необходим для выдачи динамических IP адресов для наших устройств.
Жмем на кнопку Setting — 3 , оставляем, как показано на картинке
Переходим на вкладку DHCP и вносим минимальные настройки
Настройки самого DHCP сервера
- 1 – начальные IP адрес, с которого будут выдаваться наши адреса
- 2 – количество адресов, которые будут выдаваться
Настройки для клиентов, что будут получать адреса
DHCP сервер работает в границах одного широковещательного домена т.е. если сервер находиться за маршрутизатором, то адреса мы не сможем получать. Возможность получать адреса находясь за маршрутизатором в данной статье не рассматривается.