Вопрос или проблема
У меня есть устройство (коммутатор White rabbit), которое во время прошивки загружает прошивку с помощью tftp://0.0.0.0/firmware.tar. Я настроил локальную сеть с этим устройством и моим ноутбуком с TFTP-сервером, который обслуживает этот файл. Хотя файл можно было загрузить, используя правильный IP-адрес, назначенный моему ноутбуку роутером с помощью другого устройства в той же локальной сети, адрес 0.0.0.0 не работает.
В инструкции по прошивке указано: Процесс прошивки будет использовать адрес сервера, указанный DHCP, в качестве IP-адреса для передачи по TFTP.
И я вижу, что коммутатор пытается загрузить прошивку с 0.0.0.0. Есть идея, как обойти это? Я не могу изменить параметры на стороне коммутатора.
Отключите устройство от вашей локальной сети и подключите его напрямую к компьютеру через Ethernet. Настройте Ethernet-интерфейс компьютера с помощью статического IP-адреса и настройте DHCP-сервер на компьютере, чтобы предложить корректную аренду DHCP или BOOTP. Если вы используете Linux, то dnsmasq
— хороший выбор (он может обслуживать как DHCP, так и TFTP из одного процесса).
Обратите внимание, что в отличие от большинства другой информации, предоставляемой через DHCP, адрес TFTP-сервера не настраивается как “опция DHCP”, а является отдельным, встроенным параметром. В dnsmasq вы настроите его, используя опцию dhcp-boot=
.
Ответ или решение
Настройка TFTP-сервера для загрузки прошивки коммутатора
Создание TFTP-сервера для загрузки прошивки на коммутатор, такой как White Rabbit Switch, требует учёта нескольких важных аспектов. В вашем случае, проблема возникает из-за того, что устройство обращается к TFTP-серверу по адресу 0.0.0.0
, что не является корректным. Рассмотрим пошаговую инструкцию для решения этой проблемы.
Шаг 1: Подключение устройства напрямую
Первым делом, отключите коммутатор от вашей локальной сети и подключите его напрямую к компьютеру с помощью Ethernet-кабеля. Это обеспечит более простую конфигурацию сети и исключит возможные помехи от других устройств.
Шаг 2: Настройка статического IP-адреса
На вашем компьютере необходимо настроить статический IP-адрес для Ethernet-интерфейса, чтобы он находился в одной подсети с коммутатором. Например, если вы настроите IP-адрес вашего компьютера на 192.168.1.1
, то коммутатор может иметь адрес 192.168.1.2
. Для настройки статического IP-адреса выполните следующие действия:
-
В Windows:
- Откройте "Панель управления" и перейдите в раздел "Сеть и интернет".
- Перейдите в "Центр управления сетями и общим доступом".
- Нажмите на "Изменение параметров карты".
- Правой кнопкой мыши кликните на ваше соединение и выберите "Свойства".
- Выберите "Протокол Интернета версии 4 (TCP/IPv4)", затем "Свойства".
- Установите переключатель на "Использовать следующий IP-адрес" и введите
192.168.1.1
для IP-адреса,255.255.255.0
для маски подсети.
-
В Linux:
sudo ip addr add 192.168.1.1/24 dev eth0 sudo ip link set eth0 up
Шаг 3: Установка DHCP-сервера
Ваша задача заключается в том, чтобы настроить DHCP-сервер на вашем компьютере. Это можно сделать с помощью программы dnsmasq
, которая может одновременно предоставлять возможности DHCP и TFTP.
-
Установите
dnsmasq
:- На Ubuntu:
sudo apt update sudo apt install dnsmasq
- На Ubuntu:
-
Настройте
dnsmasq
. Откройте файл конфигурации:sudo nano /etc/dnsmasq.conf
Внесите следующие изменения:
interface=eth0 # Замените eth0 на ваш интерфейс dhcp-range=192.168.1.2,192.168.1.2,12h # Задает диапазон для коммутатора dhcp-boot=firmware.tar # Имя вашего файла прошивки enable-tftp tftp-root=/path/to/your/tftp/root # Путь к каталогу, где хранится firmware.tar
-
Перезапустите
dnsmasq
для применения изменений:sudo systemctl restart dnsmasq
Шаг 4: Настройка TFTP-сервера
Теперь установим TFTP-сервер. Если вы используете dnsmasq
, то его функциональность TFTP уже включена. Однако, если вам нужен отдельный TFTP-сервер, вы можете установить tftpd-hpa
:
-
Установите TFTP-сервер:
- На Ubuntu:
sudo apt install tftpd-hpa
- На Ubuntu:
-
Настройте его. Откройте файл конфигурации:
sudo nano /etc/default/tftpd-hpa
Отредактируйте его следующим образом:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/path/to/your/tftp/root" TFTP_OPTIONS="--secure"
-
Перезапустите TFTP-сервер:
sudo systemctl restart tftpd-hpa
Шаг 5: Проверка конфигурации
После выполнения всех вышеперечисленных шагов, убедитесь, что ваш TFTP-сервер работает корректно. Вы можете протестировать его с другого устройства в той же сети, используя утилиту tftp
:
tftp 192.168.1.1
tftp> get firmware.tar
Если файл успешно загружается, значит, вы всё настроили правильно.
Заключение
Следуя вышеописанным шагам, вы сможете настроить TFTP-сервер для загрузки прошивки на коммутатор White Rabbit. Не забудьте, что для успешной работы коммутатора он должен находиться в одной сети с вашим компьютером и получать правильный DHCP-адрес, который будет указывать на ваш TFTP-сервер.