Встановлення OpenWrt через TFTP з комп'ютера на Linux

Це керівництво орієнтоване на початківців, які мають пристрій із встановленою Linux.

Для прошивки через TFTP вам знадобляться такі інструменти:

Комп’ютер: Будь-який ПК або ноутбук із Linux і Ethernet-портом (або адаптером USB → Ethernet)
Маршрутизатор: Будь-який маршрутизатор, який підтримує встановлення через TFTP ( Встановлення через TFTP)
Знання: Мінімальні знання щодо відкриття терміналу і запуску команд

Також підготуйте таку інформацію:

* На якій системі базується ваш дистрибутив?

  • X/L/K/Ubuntu, ElementaryOS, Kali, Finnix — це Debian (пакети встановлюються через `apt` або `apt-get`)
  • Fedora, CentOS, Red Hat — це Red Hat (використовується `yum`)
  • Manjaro, Arch — це Arch Linux (використовується `pacman`)

* Яка назва вашого Ethernet-інтерфейсу?

  • Запустіть `ip link` у терміналі і знайдіть пристрій, що починається на `e`

Процедура складається з трьох основних етапів:

  1. Налаштування мережі
  2. Налаштування tftpd
  3. Активація запиту TFTP на маршрутизаторі

Встановіть пакет:

  1. `network-manager` — для зручного налаштування мережі. (інтегрується з типовими засобами мережевої конфігурації в Linux)

Згідно з інструкцією для вашого маршрутизатора, дізнайтесь IP-адресу, з якої він очікує прошивку (наприклад, `192.168.1.20`), і за допомогою `nmtui` створіть профіль:

Виберіть: Edit a connection → Add → Ethernet:

  1. Profile name: `'Static Address for TFTP'`
  2. Device: `(вказати назву ethernet-порту, наприклад enp0s25)`
  3. IPv4 Configuration:
    1. Ручний
    2. Адреси: `192.168.1.20/24`
  4. Далі натисніть `<OK>`

Щоб протестувати, підключіться до маршрутизатора кабелем Ethernet, виберіть з'єднання `'Static Address for TFTP'`, і перевірте свою IP-адресу командою `ip address` — вона має бути правильною.

Встановіть пакет:

  1. `tftpd-hpa` — сервіс, який відповідає на TFTP-запити

Після встановлення має з’явитись директорія `/var/lib/tftpboot/` (у багатьох дистрибутивах, зокрема Debian/Ubuntu, це `/srv/tftp`). Саме туди треба поміщати файли для прошивки.

*Якщо не створено — перевірте шлях через `dpkg -L tftpd-hpa` або подібне.*

Скопіюйте потрібні файли до `/var/lib/tftpboot/`. Для цього, ймовірно, знадобиться `sudo`.

Запустіть сервіс:

sudo systemctl start tftpd-hpa

Або перезапустіть сервіс, якщо це потрібно:

sudo systemctl restart tftpd-hpa

Ця команда не повинна виводити жодних повідомлень. Перевірити, чи сервіс активний, можна так:

sudo systemctl status tftpd-hpa

Порада: Якщо сервіс не запускається, можливо, інший процес вже використовує порт 69, і блокує tftpd-hpa. Перевірити це можна так:

sudo netstat -tupena | grep :69

Приклад виводу:

udp        0      0 0.0.0.0:69              0.0.0.0:*      0  1786355  11349/inetd
udp6       0      0 :::69                   :::*           0  1786356  11349/inetd

У цьому випадку порт зайнятий процесом inetd. Його потрібно зупинити:

sudo systemctl stop inetd

Тепер підключіть маршрутизатор, який ви збираєтесь прошити, до ноутбука або ПК через Ethernet-кабель. Далі дотримуйтесь інструкції для вашої моделі маршрутизатора, щоб активувати TFTP-запит.

Якщо ви використовуєте послідовний кабель для керування маршрутизатором, зазвичай в консолі uBoot ви виконуєте команду для завантаження з мережі — наприклад, як описано для Meraki MR16.

Якщо маршрутизатор не завантажується, перевірте наступне:

Чи справді надходить TFTP/BOOTP-запит від маршрутизатора?

Перевірити це можна командою:

sudo tcpdump -i <назва ethernet-інтерфейсу> port 69

Чи правильно названі файли?

TFTP-клієнт запитує файли по точній назві, тому вони мають бути названі в точності так, як очікує маршрутизатор, і знаходитись у /var/lib/tftpboot/.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/28 15:12
  • by vazaz