Вопрос или проблема
Я следовал этим инструкциям для установки tftpd64 на моей 64-битной Windows 10 ОС:
http://www.tricksguide.com/how-to-setup-a-tftp-server-tftpd32-windows.html#comment-84949
Когда я это делаю, я получаю ошибку при перезапуске TFTP. Оно говорит:
Ошибка привязки 10013 Пытались получить доступ к сокету таким способом,
который запрещен его разрешениями доступа. 69.254.119.202.
Похоже, что это не имеет значения, какой IP я выбираю из выпадающего списка “Привязать TFTP к этому адресу” в панели настроек. Я все равно получаю ошибку. Также появляется ошибка в просмотрщике логов TFTP, которая говорит:
Ошибка: сокет возвращает 10022 [02/05
21:40:28:822]
Как мне исправить эту ошибку?
У вас наверняка проблемы с разрешениями, поэтому привязка не удается с указанной ошибкой. Попробуйте решить проблему с разрешениями или попробуйте не привязывать IP-адрес; это означает, что TFTP будет прослушивать “все” доступные сетевые интерфейсы.
Вы также можете попробовать Serva; более хороший TFTP сервер.
Ошибка привязки 10013 указывает на то, что порт занят. У меня сегодня была та же проблема, и я обнаружил, что, хотя UDP порт 69 не был занят, порты данных были. Точно так же, как с FTP, TFTP договаривается об использовании эфемерных портов для передачи данных после установления соединения на UDP 69. Программа jounin tftpd64.exe позволяет выбрать порт или диапазон портов для использования данных, где в настройках указано “локальный пул портов“. Вместо того, чтобы оставлять это поле пустым, выберите порт, который, как вам известно, не используется (например, 70). Как только я определил, что UDP 69 не используется на моем компьютере, я установил локальный пул портов на 70-71 (я должен был указать диапазон; один порт не будет сохранен в .ini файле), перезапустил TFTPd, и больше я не получал сообщения “Ошибка привязки 10013”. Так что, если вы обнаружите, что ваш UDP порт 69 не используется, но он все равно не работает, попробуйте установить локальный пул портов.
У меня такая же проблема, и я обнаружил, что порт 69(TFTP) используется где-то еще. Я просто использовал порт 70(settings\TFTP) Проблема исчезла.
Я исправил эту проблему, отредактировав файл “tftpd32.ini”.
- Перейдите в папку установки TFTPD в моем случае (C:”Program Files”\Tftpd64)
- Отредактируйте файл “Tftpd32.ini” с помощью блокнота
- Измените TftpPort=69″ на “TftpPort=70“
Ответ или решение
Настройка TFTP-сервера tftpd64 на Windows 10 может сталкиваться с рядом проблем, включая ошибки привязки к порту и конфликты с правами доступа. Давайте более подробно рассмотрим, как справиться с этими проблемами, используя методику TEA (Теория, Пример, Применение).
Теория
TFTP (Trivial File Transfer Protocol) — это простой протокол передачи файлов, используемый в основном для загрузки операционных систем и сетевых устройств. Программное обеспечение tftpd64 является популярным инструментом для создания TFTP-сервера на платформе Windows. Однако конфликт может возникнуть, когда программа не может связаться с необходимым сетевым интерфейсом или портом. Ошибка с кодом 10013 указывает на отказ в доступе к ресурсу из-за недостаточных прав или конфликта использования порта. Ошибка 10022 обычно связана с неправильной инициализацией сокета.
Пример
Представим, что вы попытались настроить tftpd64 и столкнулись с ошибкой Bind error 10013
. Это может означать, что указанный порт уже используется другим приложением или у программы недостаточно прав для его использования. В качестве примера пользователь попробовал изменять настройки в tftpd32.ini
, чтобы переназначить порт, что помогло устранить проблему.
Применение
Чтобы правильно настроить TFTP-сервер tftpd64 и устранить возникшие проблемы, выполните следующие шаги:
-
Проверка прав администратора:
Обязательно запускайте tftpd64 с правами администратора. Это обеспечит доступ ко всем необходимым системным ресурсам и устранит возможные ограничения доступа. -
Проверка использования портов:
Убедитесь, что порт UDP 69, предназначенный для TFTP, свободен. Используйтеnetstat -ano
в командной строке для идентификации процессов, использующих порты, и завершите их при необходимости. Например, другая служба может занимать этот порт, что приводит к конфликту. -
Изменение диапазона локальных портов:
В настройках tftpd64 укажите диапазон локальных портов для передачи данных через параметрlocal ports pool
. Если оставить его пустым, программа может использовать порты, занятые другими приложениями. Установите значение, например, 70-71, чтобы избежать конфликтов. -
Правка файла конфигурации
tftpd32.ini
:
Перейдите в папку установки tftpd64 (обычноC:\Program Files\Tftpd64
). Откройте файлtftpd32.ini
с помощью редактора, например, Notepad. Измените параметрTftpPort=69
на другой порт, например,TftpPort=70
. Это актуально, если порт 69 уже используется, и необходимо выбрать другой порт. -
Настройка брандмауэра:
Проверьте настройки брандмауэра Windows. Убедитесь, что порты UDP 69 и диапазон локальных портов разрешены для входящих и исходящих соединений. Это позволит TFTP-серверу корректно принимать и отправлять запросы. -
Проверка сетевых интерфейсов:
В настройках tftpd64 выберитеBind TFTP to this address
и установите значение0.0.0.0
, чтобы сервер слушал все доступные сетевые адаптеры. Это полезно, если вы не уверены в том, какой из нескольких интерфейсов должен быть использован. -
Использование альтернативного ПО:
Если проблемы с tftpd64 продолжаются, рассмотрите возможность использования другого TFTP-сервера, например Serva. Он может иметь более широкие настройки и лучше справляться с конфликтами.
Следуя этим шагам, вы должны эффективно настроить TFTP-сервер tftpd64 без ошибок привязки портов и ограничений доступа. Это обеспечит надежную работу вашего сетевого окружения для передачи данных и обновления прошивок устройств.