Автор Тема: OPI в качестве маршрутизатора и домашнего сервера  (Прочитано 1221 раз)

Оффлайн VeterMir

Доброго времени суток, уважаемые форумчане.
Сначала скажу пару слов о моей ситуации и моих идеях, потом уже за опи.
Пришло время поменять роутер, т.к. текущий, работая по L2TP и в качестве файлопомойки под LUCI стал заметно раздражать меня своей задумчивостью (а это ни много, ни мало TP1043ND первой версии). А ещё почти полностью развалился нетбук, который трудился в качестве торгового терминала (чуть приторговываю на форе). Потому решено было купить что-то небольшое и приятное, которое бы потянуло простейшую маршрутизацию, малотребовательный mt4 и управление этим счастьем с внешней сети. Да и денег много платить не хотелось. Понятное дело - OPI.
Пока одноплатник и свисток с антенкой на базе rtl8192 ехал ко мне - я вытащил из-под дивана корпус древнего Asus G500 premium и нарыл блок питания. БП в итоге вышел слишком мощным и большим, но в корпус влез. Да и ладно.
Идея следующая:
в корпусе от роутера размещаются:
- блок питания
- одноплатник
- HDD на 1 терабайт (работает много лет, ещё жив)
- модем мобильной связи (в качестве резервного канала)
- wifi модуль в качестве точки доступа
- USB хаб на случай желания воткнуть в роутер какой-нибудь нужный девайс
- Контроллер + 4х18650 по 2,5 а/ч каждая (в качестве UPS).
Всё счастье должно работать под дебианом (несколько освоенная мною ось), через qemu крутить wine, который позволит запустить mt4, оно должно уметь переключать каналы, пускать на себя по ssh и VNC (можно и teamwiever), работать полностью автономно. А ещё хотелось бы передавать изображение посредством miracast на телевизор и иметь возможность сёрфить. Но это уже так, хотелка.
Модем у меня валялся ну очень давно и я даже думал, что он мертв. Но нет, с полпинка поднялся и нашел сеть. Его корпус занимал много места, а без корпуса в нем не держалась сим-карта. Пришлось снять корпус и припаять сим-карту к ее приемнику намертво. Зато не отвалится. Usb разъем тоже занимал лишнее место и был демонтирован.
Hdd обычный, sata, но моноплата не имеет распайки sata, хотя в более дорогих версиях этот интерфейс появился. Мне же придется довольствоваться переходником на usb, что несколько снижает скорость записи, да и потребление растет. Ну что делать. И тут меня ожидала первая подстава - апельсинка дает 400ма с usb в максимуме, а hdd хочет 800ма для запуска. Придется питать его с БП через развязочный диод.
Так-же поступил и с usb hub, т.к. не известно, что захочется воткнуть в него в итоге. Дал на все его разъемы дополнительное питание.
Сеть тоже пришлось вынести наружу, т.к. плату никак не смог расположить разъемом к внешней стенке корпуса. В итоге с апельсинки я сдул все usb разъемы и lan коннектор. Да и разъем питания тоже, нафиг он не нужен. Развел питание, развел сеть и usb. Заэкранил ферритом, уложил аккуратно.
Для бп немного обрезал разъем от бп компьютера и прикрутил на болт. Вторую сторону вклеил на смолу.
Для монтажа использовал двухсторонний скотч вспененный, оставляя между платами зазоры.
Ещё не выведен наружу HDMI, проводок не подъехал. Но на днях настраивал фаерволл и слегка промахнулся конфигом. В результате пришлось долго и нудно разбирать и подключать к телевизору. Т.к. настраиваю через SSH по сети.
Фото того, как оно выглядит без крышки.


Фотки слегка устарели, т.к. радиатор мне не понравился на скотче, я впаял на плату к земле ушки и посадил его на пружину, помазав проц термопастой. Да и пайки немного  добавилось.

Сейчас реализовано:
- роутер с соединением по L2TP, раздачей тырнетов по wifi wpa2,
- файлопомойка на samba, чтоб не только правильные машины коннектились.
- Резервный канал на симке, с которого заодно сыплются sms c gnokii обо всех алармах машинки. В планах дописать, чтоб и управлять теми-же sms, благо делов там не фиг.
- rdp, прикрученный ради тестов.
Не поднялось с первого раза, потому надо чесать репу:
- qemu
- teamwiever, хотя команда утверждает, что на малинке оно работает (и даже пакеты выложены для малины). На нашем OPI матюкается на отсутствие PCI и падает. Не проблема, если заведём qemu. Но проблема, если не заработает - у меня ip динамика и серая, 150р в месяц за белый платить не хочется, а тоннель до сервера на работе поднимать лень и не особо стабильно.
Даже не пробовал и хотел бы понять, а пустится ли вообще:
- wine для эмуляции виндовых софтов, конкретно - mt4.
- miracast для вещания на телевизер. Не фильмы смотреть, конечно. Использовать в качестве тонкого клиента до работы. Сейчас использую мобильник с тем-же пробросом изображения на телек, но к мобильнику не удобно клавиатуру/мышь цеплять да и со звонками засада.
Сейчас всё ездит на Armbian, 2 суток нет времени поковыряться в нём - один аларм с упавшим внешним интернетом на 2 минуты, температура проца в максимуме с закрытым корпусом - 47 градусов.
Буду рад замечаниям, советам и идеям =)
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 521
  • Лайков: 146
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Вас можете лучше перенести в раздел "Авторские проекты"? Мне кажеться Ваша реализация дотягивает до него (раздела).
Ещё бы хотелось больше информации по настройке всего что сделали. Многим будет полезно я думаю.
По поводу Windows приложений писали тут.
Про Wine много спрашивали, но никто так и не отписался о результатах. Самому мне это не интересно и не особо нужно, потому тут не помогу.
С QEMU та же фигня. Но тут человек написал что запустил XP, но подтверждения нет.
« Последнее редактирование: Октябрь 25, 2016, 04:24:02 am от warik »
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн VeterMir

Можно и перенести.
Настраивалось все по официальным мануалам и в штатном режиме, никаких проблем не вызвало. Разве что переключающий  сеть скрипт у кого-то может вызвать интерес. Хотя и там простота - пингует 8.8.4.4 через eth0, и если пинга нет - отправляет АТ команду на модем через wvdial, переписывает роуты и командует gnokii послать смс с алармом.

#!/bin/bash

while (true); do

TINET=`ping -c 4 -I eth0 8.8.4.4 | grep -c ttl=`
TROUTE=`route -n | grep -c "0.0.0.0         0.0.0.0         0.0.0.0         U     0      $
if [[ $TINET == 0 ]];
        then    if [[ $TROUTE == 0 ]];
                then    `echo "lan is down" | gnokii --config /root/.config/gnokii/config$                       
                        screen -dmS wvdial wvdial
                        sleep 5
                        route del -net 0.0.0.0/0
                        route add -net 0.0.0.0/0 dev ppp1000
                        echo "nameserver 8.8.8.8" > /etc/resolv.conf
                        route add -host 8.8.4.4 gw 192.168.0.80 dev eth0
                        echo ERROR
                fi
        else    if [[ $TROUTE == 1 ]];
                then    `echo "lan is up" | gnokii --config /root/.config/gnokii/config -$                       
                        route del -net 0.0.0.0/0
                        route add -net 0.0.0.0/0 gw 192.168.0.80 dev eth0
                        screen -X -S wvdial kill
                        echo OK
                fi
fi
sleep 30;
done
Код даже не мой, почти полностью заимствован. Чуть допилен.
Чтоб все работало адреса ставьте свои.
« Последнее редактирование: Октябрь 25, 2016, 09:14:32 am от VeterMir »
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн VeterMir

По поводу Windows приложений писали тут.
Про Wine много спрашивали, но никто так и не отписался о результатах.
Есть у меня некоторое ощущение, что это просто развод на деньги. Очень много рекламы и рекламных постов на форумах и ни одного подтверждения работоспособности софта в принципе. Т.к. нет триалок, то напрашивается логичный вывод.
qemu было решено сначала попинать в виртуальной среде. А вдруг заведётся. Уже потом ставить на opi. Теоретически работать должно, тем более есть-же FAQ по установке. И мощностей должно хватить, ибо в режиме роутера используется 13% оперативы и дай боже 5% процессорного времени.
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 521
  • Лайков: 146
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
В таком случае, ждём от Вас мануал по этому делу)
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн ua3nbw

  • Посвященный
  • ***
  • Сообщений: 107
  • Лайков: 44
  • Карма: +5/-0
  • Orange Pi PC
    • Просмотр профиля
С QEMU та же фигня. Но тут человек написал что запустил XP, но подтверждения нет.

Windos XP c QEMU можно запустить

Обновляем систему:
apt-get update && apt-get upgrade -y
apt-get install qemu-system-x86


скачиваем любой  образ live winXP , переименуем образ live winXP в liv.iso
 копируем liv.iso в /root
 
chmod +r liv.iso
qemu-system-i386 -cdrom /root/liv.iso -m 490


PROFIT
естественно будет  работь на одном ядре.

добавил:
root@orangepipc# uname -a
Linux orangepipc 3.4.112-sun8i #10 SMP PREEMPT Sun Oct 23 16:06:55 CEST 2016 armv7l GNU/Linux


root@orangepipc# qemu-system-i386 --version
QEMU emulator version 2.1.2 (Debian 1:2.1+dfsg-12+deb8u6), Copyright (c) 2003-2008 Fabrice Bellard


 
« Последнее редактирование: Октябрь 28, 2016, 10:24:04 pm от ua3nbw »

Оффлайн VeterMir

Мне винда не нужна. Мне вина хватит. Только вопрос в том, что qemu не желает ставиться и запускаться на 3 и 4 ядрах, а второе ядро, под которое написан ман на оранж312, устарело.
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн VeterMir

Ззы. И причем тут х86, если речь об опи. Тут арм платформа.
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн ua3nbw

  • Посвященный
  • ***
  • Сообщений: 107
  • Лайков: 44
  • Карма: +5/-0
  • Orange Pi PC
    • Просмотр профиля
второе ядро, под которое написан ман на оранж312, устарело
Подробнее можно ?

Ззы. И причем тут х86, если речь об опи. Тут арм платформа.
:)

добавлю:

Windos XP на orangepi  c armbian+QEMU запускается
QEMU - эмулятор
Wine - это не эмулятор (Wine - Wine Is Not an Emulator). Вместо эмуляции Wine реализует набор API, позволяющий запускаться приложениям архитектуры x86.


Про arm wine тут: https://forum.winehq.org/viewtopic.php?f=2&t=17701
« Последнее редактирование: Октябрь 28, 2016, 11:14:30 pm от ua3nbw »

Оффлайн iskander

А что за модем?

Оффлайн VeterMir

Re: OPI в качестве маршрутизатора и домашнего сервера
« Ответ #10 : Октябрь 31, 2016, 10:43:43 pm »
А что за модем?
Матерное слово huawei E150.
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн VeterMir

Re: OPI в качестве маршрутизатора и домашнего сервера
« Ответ #11 : Октябрь 31, 2016, 10:53:07 pm »
Да, чего забыл. Реализовали вчера VPN до компьютера с белым статическим ip, пробросили порты ssh и rdp. Теперь можно рулить с внешней сети.
Сегодня ковырялись на 2 головы в sms системе. My sql поднимать очень не хочется на гиге то оперативки, а рулить с sms командами хотелось бы. Пока мучаем stdout с записью содержимого sms в файл, выборки нужной строки и исполнения команды. Можно и через at команды исключительно. Но я пока не гентушник =)
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн VeterMir

Никак не могу дождаться антенну с чипом wifi, всё сижу на свистке без антенны, а он весьма нестабилен сигналом.
Пока жду - прикрутил дисплей i2c к машине. Осталось научить его показывать больше информации, чем ip и время. Думаю вывести на него состояние сети (l2tp или 3g), температуру процессора, использование оперативной памяти и состояние dnla.
Прикручивал по статье http://www.itcooky.com/?p=4023 , но там есть ошибки в подключении. Подключаем на 5V и смотрим за соответствием SCL SDA.
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн VeterMir

Похоже, что мой wi-fi адаптер просто где-то потеряли. Не удивляет, но не кайф.

Научил дисплей показывать ещё и температуру процессора, сейчас пытаюсь получить свободное место на HDD в %. Только сгрепить не могу конкретное значение, знаний этой команды не хватает. Вдруг кто поможет - буду благодарен.
Извините, вам запрещён просмотр содержимого спойлеров.

Заодно решил проблему подсветки дисплея. Светит он адово, в качестве фонарика использовать можно. А мне такое счастье ни к чему. Вообще без подсветки тоже не так хорошо, как хотелось бы. Потому вместо перемычки подсветки на дисплее впаял 5 кОМ резистор. Лёгкая подсветка, всё видно, ничего не бьёт в глаз  :)
Ко мне лучше на "ты". Я ещё слишком молод =)

Оффлайн AlDemin

  • Житель
  • ****
  • Сообщений: 377
  • Лайков: 99
  • Карма: +13/-1
  • OPi, OPi+, OPiOne, OPiZero, OPiPC2, BPi, RPiB.
    • Просмотр профиля
Цитировать
а нужное значение висит после третьего пробела во второй строке.
Точно после третьего? у меня после 4-го, те пятое значение:
df | awk '/sda1/ {print($5)}'
Принцип: вывод df посылается на awk, а он выбирает строку с sda1 и выводит 5-е значение.
« Последнее редактирование: Ноябрь 21, 2016, 05:39:26 pm от AlDemin »