Похоже, настал момент описания пошаговой инсталляции TBNG на микрокомпьютер Orange Pi Zero. Рассмотрен самый простой вариант – “интернеты” приходят по проводному интерфейсу, раздаются через точку доступа по беспроводному. Никаких дополнительных устройств не требуется. Достаточно иллюстративно.
Второй момент – OrangePi Zero имеет набортный WiFi, совместимый с драйвером nl80211, так что хаки с реалтеком тоже не потребуются.
Итак, начинаем. Остальной текст будет практически потоком сознания с минимальными комментариями, так что ознакомьтесь с документацией
Используем Debian Stretch с mainline-ядром.
Прямая ссылка на образ, который использовался для работы
Распаковываем, на microSD пишем img файл – инструкций “как записать образ на флешку” предостаточно.
Вставляем карту в устройство.
Подключаем ETHERNET и питание.
Ждем загрузки.
Соединяемся с устройством по ssh, согласно мануалу для Armbian, используем root/1234.
1 | ssh root@orangepizero |
Возможно потребуется указать ip адрес вместо имени - его можно подсмотреть на роутере.
Сразу после входа у нас просят сменить пароль root.
1 | Changing password for root. |
На вопрос “current password” нужно писать “1234”, на вопрос New - новый пароль. Я использовал root123456.
Дальше нас просят ввести имя пользователя:
1 | Please provide a username (eg. your forename): johndoe |
Я использовал johndoe и пароль 123456
Когда появится приглашение командной строки – даем команду reboot и уже логинимся с новым пользователем – johndoe/123456.
Тут важный момент – ваша система может уйти в обновление пакетов. В любом случае надо обновиться до последних версий.
Дожидаемся окончания автообновления а потом даем ещё такую команду:
1 | johndoe@orangepizero:~$ sudo apt-get update && sudo apt-get upgrade -y |
Если видим такую ошибку:
1 | E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? |
Значит, процесс еще не закончен и нужно просто ждать. И да, это может затянуться, особенно с медленной microSD.
Опять перезагружаемся – может обновиться ядро.
1 | johndoe@orangepizero:~$ sudo reboot |
Теперь можно приступать к установке.
1 | johndoe@orangepizero:~$ git clone https://github.com/znoxx/tbng |
В домашней директории рождается папка “tbng”.
1 | johndoe@orangepizero:~$ sudo run-parts tbng/setup/apt |
Когда команда отработает – первый этап в виде подготовки пакетов завершен.
Но тут нужно проверить работу TOR, ибо в FAQ описана пара возможных проблем.
Пару раз с интервалом в 10 секунд даем команду ps -ef | grep tor.
1 | johndoe@orangepizero:~$ ps -ef | grep tor |
В нашем случае всё ОК – tor работает и процесс не уходит в циклический рестарт.
Время конфигурировать продукт.
Давайте определимся с сетью. Мы устанавливаем TBNG на “голую” плату, то есть никакие USB WiFi у нас не торчат. То есть два интерфейса – eth0 и wlan0.
До изменения конфигурации у нас вот такая картина:
1 | johndoe@orangepizero:~$ ip addr |
Eth0 получает адрес по DHCP и таки да, это нас устраивает, а вот конфигурацию wlan0 надо править. Смотрим на файл /etc/network/interfaces
1 |
Давайте договоримся, что новая сеть у нас будет вида 192.168.225.x – это то, куда будут подключаться WiFi клиенты.
Меняем конфиг на такое:
1 | # Wireless adapter #1 |
Перезапускаем NetworkManager, чтобы он “отстал” от wlan0, подкнимаем руками wlan0 и смотрим результат:
1 | johndoe@orangepizero:~$ sudo systemctl restart network-manager |
Отлично, wlan0 теперь со статическим адресом.
Ставим hostapd и dnsmasq.
Hostapd будем ставить, считая что у нас чип WiFi XR819 и он будет работать с дефолтным драйвером nl80211, а не хаком для реалтек.
1 | johndoe@orangepizero:~$ sudo tbng/setup/configure_hostapd.py -a armhf -i wlan0 |
Указываем архитектуру (armhf), и интерфейс. Логин-пароль будут сгенерены автоматом и показаны в выводе команды. Драйвер тоже по-умолчанию.
1 | …. |
Сохраняем наши новые логин-пароль для точки доступа – в данный момент это:
Your AP name: TypicalBite
Your password: TypicalBite141827
Дальше ставим dnsmasq:
1 | johndoe@orangepizero:~$ sudo tbng/setup/configure_dnsmasq.py -i wlan0 -s apt -b 192.168.225.10 -e 192.168.225.30 -m 255.255.255.0 |
Скрипту установки передаем опять интерфейс (wlan0), источник (apt) начальный адрес (192.168.225.10), конечный адрес (192.168.225.30) и маску сети (255.255.255.0) – будьте внимательны ибо эти параметры НЕ проверяются при установке.
Последний этап – конфигурация и установка непосредственно tbng.
Подготавливаем конфигурацию:
1 | johndoe@orangepizero:~$ cd tbng/config/ |
Нужно отредактировать tbng.json для соответствия нашим интерфейсам wlan0 и eth0:
1 | { |
После редактирования проверям целостность конфига:
1 | johndoe@orangepizero:~/tbng/config$ cd .. |
Установка tbng:
1 | johndoe@orangepizero:~$ sudo tbng/setup/configure_componetns.py -u johndoe |
В качестве параметра передаем имя пользователя, которого мы создали в самом начале (johndoe) и с помощью которого выполняли все предыдущие этапы. Процесс не очень быстрый и опять-таки зависит от скорости microSD.
В принципе на этом этапе можно и остановиться, но мы сделаем ещё один маленький штрих:
johndoe@orangepizero:~/tbng$ sudo apt-get clean
Это почистит кэш apt и освободит какое-то количество свободного места. Теперь отключаем систему, обесточиваем и перезапускаем.
1 | johndoe@orangepizero:~/tbng$ sudo shutdown -h now |
После включения через пару минут будет видна беспроводная сеть “TypicalBite”. Система готова к использованию.
Доступ к web-ui: http://192.168.225.1:3000
Логин/пароль дефолтный webui/webui.
Посмотрим на информацию о системе – если температура процессора не отображается – изменим настройку в tbng.conf:
Было:
1 | "cputemp": "default" |
Стало:
1 | "cputemp": "armbian" |
Вроде всё. Я осознанно не включал firewall (lock_firewall) в конфигурации, чтобы оставить возможность поотлаживать систему в случае чего.
Чуть позже в этом же посте выложу готовый образ для Orange Pi Zero (для этой и только для этой конфигурации исключительно в ознакомительных целях).
Большое спасибо читателям, которые “сподвигли” на этот текст, ибо благодаря им была найдена (и немедленно исправлена) досадная ошибка в скриптах установки.
Update
Образ для 8Gb карты, получившийся в результате вышеописанных действий (к сожалению, не было меньшего объема).
Подходит только для Orange Pi Zero (H2+). Другие образы не планируются ни под каким видом, ибо разброс железа очень большой.
Логины/пароли
- root/root123456
- johndoe/123456
- Wifi: TypicalBite (имя сети)/TypicalBite141827 (пароль)
- Webui: webui/webui
Firewall не закрыт.
После записи и первого прогона рекомендуется поменять все пароли, а также перегенерить ssh-ключи.