Как настроить TFTP-сервер для передачи прошивки на коммутатор?

Вопрос или проблема

У меня есть устройство (коммутатор 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:

    1. Откройте "Панель управления" и перейдите в раздел "Сеть и интернет".
    2. Перейдите в "Центр управления сетями и общим доступом".
    3. Нажмите на "Изменение параметров карты".
    4. Правой кнопкой мыши кликните на ваше соединение и выберите "Свойства".
    5. Выберите "Протокол Интернета версии 4 (TCP/IPv4)", затем "Свойства".
    6. Установите переключатель на "Использовать следующий 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.

  1. Установите dnsmasq:

    • На Ubuntu:
      sudo apt update
      sudo apt install dnsmasq
  2. Настройте 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
  3. Перезапустите dnsmasq для применения изменений:

    sudo systemctl restart dnsmasq

Шаг 4: Настройка TFTP-сервера

Теперь установим TFTP-сервер. Если вы используете dnsmasq, то его функциональность TFTP уже включена. Однако, если вам нужен отдельный TFTP-сервер, вы можете установить tftpd-hpa:

  1. Установите TFTP-сервер:

    • На Ubuntu:
      sudo apt install tftpd-hpa
  2. Настройте его. Откройте файл конфигурации:

    sudo nano /etc/default/tftpd-hpa

    Отредактируйте его следующим образом:

    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/path/to/your/tftp/root"
    TFTP_OPTIONS="--secure"
  3. Перезапустите TFTP-сервер:

    sudo systemctl restart tftpd-hpa

Шаг 5: Проверка конфигурации

После выполнения всех вышеперечисленных шагов, убедитесь, что ваш TFTP-сервер работает корректно. Вы можете протестировать его с другого устройства в той же сети, используя утилиту tftp:

tftp 192.168.1.1
tftp> get firmware.tar

Если файл успешно загружается, значит, вы всё настроили правильно.

Заключение

Следуя вышеописанным шагам, вы сможете настроить TFTP-сервер для загрузки прошивки на коммутатор White Rabbit. Не забудьте, что для успешной работы коммутатора он должен находиться в одной сети с вашим компьютером и получать правильный DHCP-адрес, который будет указывать на ваш TFTP-сервер.

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

Капча загружается...