Термінал Openwrt: потужний інструмент для управління мережею

Термінал OpenWrt — це надзвичайно потужний інструмент для управління системою, автоматизації задач та роботи з файлами. Він дозволяє взаємодіяти з операційною системою через командний рядок, використовуючи різноманітні команди та утиліти. Термінал надає вам дуже точний та швидкий спосіб налаштувати ваш роутер з повною свободою дій, але ви повинні чітко розуміти, що ви робите.

УВАГА! ВСІ ДІЇ ВИ ВИКОНУЄТЕ НА СВІЙ СТРАХ І РИЗИК! Обов’язково робіть повний бекап всіх налаштувань та прошивки перед будь-якими змінами в конфігурації через термінал.

Базові системні команди Термінал OpenWrt

Швидкі команди для початку роботи

Ці основні команди допоможуть вам розпочати роботу з терміналом роутера та швидко отримати необхідну інформацію про систему:

  • echo – Виведення тексту або значень змінних на екран
  • uname -a – Показати версію ядра Linux
  • cat /proc/cpuinfo – Показати детальну інформацію про процесор
  • cat /proc/meminfo – Показати розширену інформацію про використання оперативної пам’яті
  • id – Показує зведену інформацію про поточного користувача (логін, UID, GID)
  • strings – Пошук текстових рядків у файлі
  • cut – Видалення певних секцій з кожного рядка файлу
  • grep – Пошук підрядків у файлах (потужний інструмент фільтрації)​
  • ps – Список запущених процесів
  • killall – Завершити процес за назвою
  • free – Інформація про використання пам’яті
  • df – Показує вільне та зайняте місце в розділах (не всі параметри підтримуються)
  • mount – Показує повну інформацію про примонтовані пристрої
  • umount /mnt – Відмонтувати розділ
  • clear – Очистити вікно терміналу
  • reboot – Перезавантажити пристрій
  • exit – Завершити сеанс
  • passwd – Змінює пароль поточного користувача

Робота з файлами та каталогами

Навігація по директоріях

Ефективна навігація файловою системою є основою роботи в терміналі:

  • pwd – Показує поточний шлях
  • ls – Показує список файлів та каталогів у поточній папці
  • ls -F – Показати вміст директорії з вказанням типів файлів
  • ls -l – Вивести детальне представлення файлів
  • ls -a – Показати приховані файли та папки
  • ls [0-9] – Показати файли та папки, які містять цифри в назві
  • cd /tmp – Перейти до вказаної папки
  • cd .. – Перейти в директорію рівнем вище
  • cd ../.. – Перейти в директорію двома рівнями вище
  • cd або cd ~ – Перейти в домашню директорію
Створення та видалення

Команди для управління файлами та директоріями дозволяють створювати, копіювати, переміщувати та видаляти об’єкти файлової системи:

  • mkdir dir1 – Створити папку dir1
  • mkdir dir1 dir2 – Створити декілька папок одночасно
  • mkdir -p /tmp/dir1/dir2 – Створити вкладену структуру каталогів
  • rm -f file1 – Видалити файл file1
  • rmdir dir1 – Видалити порожню папку dir1
  • rm -rf dir1 – Видалити папку dir1 та весь її вміст (використовуйте обережно!)
  • rm -rf dir1 dir2 – Видалити декілька папок рекурсивно
  • mv dir1 new_dir – Перейменувати або перемістити папку чи файл
  • touch /tmp/myfile.txt – Створити порожній файл
  • chmod 666 /tmp/myfile.txt – Змінити права доступу до файлу
Копіювання та символічні посилання
  • cp file1 file2 – Скопіювати файл file1 в file2
  • cp dir/ .* – Скопіювати всі файли з папки dir у поточну директорію
  • cp -a /tmp/dir1 . – Копіювати dir1 з усім вмістом
  • cp -a dir1 dir2 – Копіювати dir1 в dir2
  • ln -s file1 lnk1 – Створити символічне посилання на файл
Пошук файлів

Ефективний пошук файлів критично важливий для системного адміністрування:​​

  • find / -name ‘file1’ – Знайти файли з ім’ям file1
  • find /home/user1 -name “*.bin” – Знайти файли .bin у /home/user1
  • find /usr/bin -type f -mtime -10 – Знайти файли, змінені протягом останніх 10 днів

Примітка: Команда locate вимагає встановлення додаткового пакету: opkg install findutils-locate

Аналіз використання дискового простору

Команда du допомагає аналізувати розмір файлів та директорій:

  • du -d 1 / – Вивести список каталогів у кореневій директорії з їх розміром
  • du -ah – Вивести розміри всіх файлів та папок у поточній директорії
  • du -ch /mnt | grep total – Вивести сумарний розмір каталогу /mnt
  • df -h – Вивести інформацію про змонтовані розділи

Пакетний менеджер OPKG

OPKG є стандартним пакетним менеджером для OpenWrt та подібних систем, який дозволяє встановлювати, оновлювати та видаляти програмне забезпечення:

  • opkg update – Оновити список доступних пакетів
  • opkg list-upgradable – Вивести всі доступні для оновлення пакети
  • opkg upgrade <пакет> – Оновити конкретний встановлений пакет
  • opkg install <пакет> – Встановити пакет
  • opkg remove <пакет> – Видалити пакет
  • opkg list-installed – Список встановлених пакетів
  • opkg update && opkg list-upgradable | awk ‘{print $1}’ | tr ‘\n’ ‘ ‘ | xargs -r opkg upgrade – Вивести список всіх оновлюваних пакетів та оновити їх

Моніторинг системи

Базові інструменти моніторингу

Моніторинг системних ресурсів допомагає виявити проблеми з продуктивністю та оптимізувати роботу роутера:

htop (встановити: opkg install htop) – Інтерактивний монітор процесів з покращеним інтерфейсом. Гарячі клавіші htop:

  • F2 – Налаштування
  • F3 – Пошук процесу
  • F5 – Дерево процесів
  • F9 – Завершення процесу
  • F10 – Вихід

htop -p PID – Відобразити інформацію про конкретний процес

Розширені інструменти моніторингу

Для більш детального моніторингу системи в 2025 році рекомендується використовувати сучасні інструменти:

btop (встановити: opkg install btop) – Потужний монітор ресурсів з красивим інтерфейсом, за замовчуванням пакет не встановлений:

  • btop –force-utf – Запустити монітор ресурсів з підтримкою UTF
  • btop –preset 3 – Завантажити збережений пресет налаштувань
  • btop –tty – Запустити в режимі 16-кольорового TTY

sensors (встановити: opkg install lm-sensors) – Виведення показників датчиків температури:

  • sensors-detect – Запуск визначення доступних датчиків

collectd-mod-thermal (встановити: opkg install collectd-mod-thermal) – Збір даних температур. Після встановлення можна налаштувати збір даних через пакет luci-app-statistics:

  • opkg install luci-app-statistics – Встановлення пакету візуалізації температури у веб-панелі

Мережеві команди

Основні мережеві утиліти

Робота з мережею є критично важливою частиною адміністрування роутера:

  • ip a – Показати конфігурацію всіх мережевих інтерфейсів
  • ip link show – Відобразити стан всіх інтерфейсів
  • ip addr add 192.168.1.1/24 dev eth0 – Призначити IP-адресу інтерфейсу eth0
  • ip route show – Вивести таблицю маршрутизації
  • ip route add default via 192.168.1.1 – Задати шлюз за замовчуванням
  • ip route del default – Видалити шлюз за замовчуванням
  • echo “1” > /proc/sys/net/ipv4/ip_forward – Увімкнути форвардинг пакетів
  • route -n – Вивести локальну таблицю маршрутизації
  • netstat -rn – Вивести таблицю маршрутизації
  • hostname – Відобразити ім’я комп’ютера
  • host <домен> – Розв’язати ім’я хоста в IP-адресу

ethtool (встановити: opkg install ethtool) – Показати статистику та стан мережевого інтерфейсу:

  • ethtool eth0 – Відображення статусу з’єднання

ss – Сучасна заміна netstat для перегляду з’єднань:

  • ss -tupn – Перегляд з’єднань з інформацією про процеси

Робота з WiFi

Команди для управління бездротовими інтерфейсами:

  • iwinfo – Вивести інформацію про бездротові інтерфейси (OpenWrt специфічна команда)
  • iwconfig wlan0 – Показати конфігурацію бездротового інтерфейсу wlan0
  • iw dev wlan0 scan – Просканувати доступні WiFi-мережі
  • iwlist scan – Сканування доступних WiFi-мереж

UCI (Unified Configuration Interface)

UCI є центральною системою конфігурації OpenWrt, яка дозволяє керувати всіма налаштуваннями роутера через єдиний інтерфейс:

Основні команди UCI

  • uci show – Показати всі конфігураційні файли
  • uci show <config> – Показати конкретний конфігураційний файл (наприклад, uci show network)
  • uci get <config>.<section>.<option> – Отримати значення конкретної опції
  • uci set <config>.<section>.<option>=<value> – Встановити значення опції
  • uci delete <config>.<section>.<option> – Видалити опцію або секцію
  • uci commit <config> – Зберегти зміни в конфігурації (обов’язково після змін!)
  • uci changes – Показати незбережені зміни
  • uci revert <config> – Відмінити незбережені зміни

Приклад використання UCI

Зміна SSID WiFi мережі через UCI:

uci set wireless.default_radio0.ssid=МояНоваМережа
uci commit wireless
/etc/init.d/wireless restart

Додавання елементів до списку (наприклад, MAC-адрес у білий список):

uci add_list wireless.default_radio0.maclist=11:11:11:11:11:11
uci add_list wireless.default_radio0.maclist=22:22:22:22:22:22
uci commit wireless
/etc/init.d/wireless restart

Робота з архівами

Архівування даних є важливою частиною резервного копіювання:

TAR архіви
  • tar -cvf archive.tar file1 – Створити tar-архів
  • tar -xvf archive.tar – Розпакувати архів
  • tar -cvfz archive.tar.gz dir1 – Створити архів та стиснути з gzip
  • tar -xvzf archive.tar.gz – Розжати та розпакувати архів
ZIP архіви
  • zip file1.zip file1 – Створити zip-архів
  • unzip file1.zip – Розархівувати

Примітка: Для повної функціональності встановіть: opkg install tar gzip bzip2 unzip zip

Монтування файлових систем

Основні операції монтування

Робота з різними файловими системами розширює можливості роутера:

  • mount /dev/hda2 /mnt/hda2 – Монтувати розділ hda2 в /mnt/hda2
  • umount /dev/hda2 – Розмонтувати розділ hda2
  • fuser -km /mnt/hda2 – Примусове розмонтування зайнятого розділу
  • mount -o loop file.iso /mnt/cdrom – Монтування ISO-образу
Робота з файловими системами Windows

Для роботи з FAT32 та NTFS необхідно встановити додаткові пакети:

opkg install ntfs-3g kmod-fs-vfat kmod-usb-storage block-mount

Монтування розділів:

  • mount -t ntfs-3g /dev/sdX /mnt – Для NTFS
  • mount -t vfat /dev/sdX /mnt – Для FAT32

Перевірити доступні файлові системи:

  • cat /proc/filesystems

Робота з протоколом SAMBA

SAMBA дозволяє підключатися до мережевих ресурсів Windows:

  • smbclient -L ip_addr (встановити: opkg install samba4-client) – Показати доступні SMB-ресурси
  • smbget -Rr smb://ip_addr/share (встановити: opkg install smbget) – Завантажити файли з Windows-машини
  • mount -t cifs //winclient/share /mnt/share -o username=user,password=pass (встановити: opkg install kmod-cifs) – Монтувати SMB-ресурс

Перегляд та редагування файлів

Перегляд вмісту файлів

Команди для швидкого перегляду вмісту файлів:

  • cat file1 – Вивести вміст файлу file1
  • tac file1 – Вивести вміст файлу file1 у зворотному порядку
  • more file1 – Посторінковий вивід вмісту файлу
  • less file1 – Зручний перегляд файлу з підтримкою прокручування
  • head -2 file1 – Вивести перші два рядки файлу
  • tail -2 file1 – Вивести останні два рядки файлу
  • tail -f /var/log/messages – Перегляд файлу з динамічним оновленням (корисно для логів)
Маніпуляції з текстом

Потужні інструменти для обробки текстових даних:​

  • grep “Aug” /var/log/messages – Вивести рядки, що містять Aug
  • grep “^[Aug]” /var/log/messages – Вивести рядки, що починаються з Aug
  • grep “[0-9]” /var/log/messages – Вивести рядки з цифрами
  • grep -R “Aug” /var/log/* – Рекурсивний пошук Aug у всіх файлах в /var/log
  • sed ‘s/string1/string2/g’ example.txt – Замінити string1 на string2 у файлі
  • sed ‘/^$/d’ example.txt – Видалити порожні рядки
  • sed ‘/#/d’ example.txt – Видалити коментарі (#)
  • echo “example” | tr ‘[:lower:]’ ‘[:upper:]’ – Перетворити текст у верхній регістр

Конвертація форматів

dos2unix та unix2dos (встановити: opkg install dos2unix) – Конвертація файлів між форматами DOS та UNIX

Резервне копіювання та відновлення

Важливість резервного копіювання

Регулярне резервне копіювання конфігурації роутера є критично важливим для швидкого відновлення після збоїв:

Створення бекапу в OpenWrt

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

sysupgrade -b /tmp/backup-$(date +%Y%m%d).tar.gz

Або використовуючи UCI для експорту конфігурації:

uci export > /tmp/full-config.uci
Створення бекапу в MikroTik RouterOS

Для MikroTik роутерів використовуйте наступні команди:

/system backup save name=backup-$(date +%Y%m%d)

Експорт конфігурації у текстовому форматі:

/export file=config-export
Відновлення конфігурації

OpenWrt: Завантажте файл бекапу та виконайте:

sysupgrade -r /tmp/backup.tar.gz

MikroTik: Відновлення з бекапу:

/system backup load name=backup-20250101

Імпорт текстової конфігурації:

/import file=config-export.rsc

Безпека та найкращі практики

Захист доступу до терміналу

Безпека терміналу є критично важливою для захисту мережі:

  1. Завжди використовуйте складні паролі для доступу до терміналу
  2. Змініть стандартні паролі одразу після першого налаштування
  3. Використовуйте SSH замість Telnet для віддаленого доступу
  4. Обмежте доступ по IP-адресах до SSH сервісу
  5. Регулярно оновлюйте систему через opkg update && opkg upgrade
  6. Створюйте резервні копії перед будь-якими змінами в конфігурації
Налаштування SSH для підвищеної безпеки

Рекомендовані налаштування SSH для OpenWrt:

  1. Вимкнути автентифікацію за паролем та використовувати лише ключі
  2. Змінити стандартний порт SSH (22) на інший
  3. Заборонити root логін через SSH
  4. Використовувати fail2ban для захисту від брутфорсу

Моніторинг безпеки

Регулярно перевіряйте системні логи на наявність підозрілої активності:

logread -f
tail -f /var/log/messages

Перевіряйте активні з’єднання:

ss -tupn
netstat -tupn

Автоматизація завдань

Використання cron для планування задач

Cron дозволяє автоматизувати регулярні завдання:

crontab -e

Приклади завдань cron:

  • Щоденний бекап о 2:00: 0 2 * * * /root/backup.sh
  • Щотижневе оновлення пакетів: 0 3 * * 0 opkg update && opkg upgrade
  • Перезавантаження кожного місяця: 0 4 1 * * reboot

Написання shell скриптів

Для OpenWrt скрипти повинні використовувати #!/bin/sh замість #!/bin/bash:

Приклад простого скрипту моніторингу:

bash#!/bin/sh

# Перевірка завантаження процесора
CPU_LOAD=$(cat /proc/loadavg | awk '{print $1}')
echo "Завантаження CPU: $CPU_LOAD"

# Перевірка вільної пам'яті
FREE_MEM=$(free | grep Mem | awk '{print $4}')
echo "Вільна пам'ять: $FREE_MEM KB"

# Перевірка з'єднання
ping -c 3 8.8.8.8 > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Інтернет з'єднання: OK"
else
echo "Інтернет з'єднання: ПОМИЛКА"
fi

Усунення несправностей

Діагностика мережевих проблем

Систематичний підхід до усунення мережевих проблем:

  1. Перевірка фізичного рівня:textethtool eth0 ip link show
  2. Перевірка IP-адресації:textip addr show ip route show
  3. Тестування з’єднання:textping 8.8.8.8 ping google.com
  4. Трасування маршруту:texttraceroute 8.8.8.8 mtr google.com
  5. Перевірка DNS:textnslookup google.com dig google.com

Аналіз продуктивності

Команди для виявлення вузьких місць системи:

top
htop
btop
iostat
vmstat 1

Перевірка використання мережевої смуги пропускання:

iftop
nethogs
speedometer eth0

Примітка: Деякі з цих інструментів потребують встановлення через opkg.

Розширені можливості в 2025 році

Інтеграція з системами моніторингу

Сучасні роутери можуть інтегруватися з централізованими системами моніторингу:

Prometheus + Grafana: Налаштування експорту метрик через node_exporter або collectd для візуалізації в Grafana

InfluxDB + Telegraf: Збір та зберігання часових рядів даних про продуктивність мережі

OpenWISP: Централізоване управління мережею OpenWrt пристроїв з автоматичним моніторингом

Контейнеризація та віртуалізація

В 2025 році роутери підтримують контейнерні технології:

  • Docker контейнери на потужних роутерах для додаткових сервісів
  • LXC контейнери для ізоляції сервісів
  • Використання Kubernetes для оркестрації мікросервісів на edge пристроях
Автоматизація з Ansible

Ansible дозволяє автоматизувати конфігурацію множини роутерів:

- name: Оновлення OpenWrt роутерів
hosts: routers
tasks:
- name: Оновлення списку пакетів
command: opkg update

- name: Оновлення встановлених пакетів
command: opkg upgrade

Найкращі практики системного адміністрування

Регулярне обслуговування системи

Для забезпечення стабільної роботи роутера в 2025 році слід дотримуватися наступних практик:

  1. Централізоване логування: Використовуйте rsyslog для відправки логів на центральний сервер
  2. Автоматизація оновлень безпеки: Налаштуйте регулярні перевірки та встановлення патчів
  3. Моніторинг ресурсів: Відстежуйте CPU, RAM, дисковий простір та мережевий трафік
  4. Сегментація мережі: Розділяйте мережу на VLAN для підвищення безпеки
  5. Документація змін: Ведіть детальний журнал всіх змін конфігурації
Оптимізація продуктивності

Налаштування параметрів ядра для оптимальної продуктивності:

# Збільшення розміру буферів TCP
echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max

# Оптимізація параметрів conntrack
echo 32768 > /proc/sys/net/netfilter/nf_conntrack_max

Висновок

Термінал роутера — це надзвичайно потужний інструмент, який відкриває перед користувачем широкі можливості для управління системою, автоматизації завдань та тонкого налаштування оточення. В 2025 році важливість володіння командним рядком тільки зросла завдяки інтеграції з хмарними сервісами, системами моніторингу та автоматизації.

Проте разом з цим приходить і відповідальність: неправильне використання команд може призвести до втрати даних, збоїв у системі або навіть вимкнення критично важливих процесів. Тому завжди створюйте резервні копії перед внесенням змін, тестуйте команди в безпечному середовищі, та документуйте свої дії для майбутнього відновлення.

Постійне вдосконалення навичок роботи з терміналом, вивчення нових інструментів та слідування найкращим практикам безпеки зробить вас ефективним системним адміністратором, здатним впоратися з будь-якими викликами мережевого управління в сучасному світі.

Ключові рекомендації для роботи з терміналом в 2025 році:

  1. Використовуйте сучасні інструменти моніторингу (btop, Prometheus, Grafana)
  2. Автоматизуйте рутинні завдання через cron та скрипти
  3. Інтегруйте роутери з централізованими системами управління
  4. Регулярно оновлюйте систему та застосовуйте патчі безпеки
  5. Ведіть детальну документацію всіх налаштувань
  6. Створюйте резервні копії перед будь-якими змінами
  7. Використовуйте UCI для централізованого управління конфігурацією OpenWrt
  8. Впроваджуйте сегментацію мережі та принцип найменших привілеїв

Пам’ятайте: знання — це сила, але з великою силою приходить велика відповідальність. Використовуйте термінал розумно та відповідально!

5 1 vote
Rating
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Scroll to Top