
Введение
Наши реалии довольно суровы, сейчас даже стало сложно не то что зайти на какой нибудь chatGPT, но и посмотреть любимый ютюбчик. Если на пк и телефонах мы еще можем использовать VPN, то вот как обстоят дела с приставками, smartTV/android TV? Если на многих телеках иногда поддержка приложений заканчивается быстро, что уж тут говорить о ВПН или прокси, туда их вообще фиг пихнешь.
Дома у каждого из вас скорее всего есть проводной интернет, а значит роутер тоже есть. Для роутеров ведь тоже существует линукс, причем свободный и гибкий - это OpenWRT. В рамках данного гайда/проекта, я расскажу, как можно обеспечить в своем доме качественное интернет покрытие, используя ARM железяки и linux. Но нет, речь пойдет не о перепрошивке роутера, ибо это дело может во первых окирпичить ваш роутер, ну а во вторых - у многих из вас дома роутеры "бытового класса", как и у меня, которые просто нет смысла даже шить. ибо 64 мегабайта дискового пространства хватить конечно можно, но это будет впритык, а нам хотелось бы управлять всей системой через WEB-UI.
P.S. Конечно есть Keenetic и его фишки, но я таким добром не обладаю и рассказать на примере кинетик роутеров это не могу.
Данный гайд подойдет только на OrangePI zero или OrangePI zero 3, на версию 2 я не нашел прошивки, если у вас получится ее найти - все шаги будут аналогичны. Но так же использовать мощную плату под это дело будет скорее менее рационально, если вы конечно не собираетесь крутить на ней дополнительно докер, или же какой то веб хост. На 3й версии прошивка существует как снапшот(в активной разработке), поэтому проще прилечь к стабильной стороне ядра и выбрать чисто зеро-версию.
Что такое Orange PI?
Апельсинка - она же orange pi, из себя представляет линейку микро компов - одноплатников, по цене обеда в макдаке(буду говорить мак а не вкусно и точка, все же под VPN сижу). Чем она лучше малинки(Raspberry?) - да тем что там есть UBOOT а не встроенный говнозагрузчик. Ну и цена, порядком ниже, а мощность за копейки поражает.
Что нам понадобится?
1.Платформа Orange pi zero/zero 2/zero 3

Цены разнятся, но диапазон примерно такой
zero - 2000 (256-512мб ОЗУ)
zero 3 - 3000-3500(1-4гб ОЗУ)
Покупать советую на Авито, ибо Али предоставляет комплекты качества не высокого, да и переплатить можно будет. Эту платформу легко найти на авито и купить ее за бесценок у людей(Причем комплектом), которые не нашли ей нужного применения.
2.USB-TTL переходник (По желанию)

Orange имеет на борту UART интерфейс, через который мы можем видеть логи и взаимодействовать с системой легко и просто. Стоит лишь подключить 3 провода к плате и воткнуть usb часть в ноут, подключиться через putty на этот TTL со скоростью 115600(115200) и можно не использовать SSH (просто приятная и удобная альтернатива, у нас есть всего 1 ethernet порт и мы можем случайно убить конфигурацию сети, потеряв соединение с orange)
А теперь - почему это важно?
Когда мы заливаем образ openwrt на флешку, мы не переформатируем ее, лишь иногда заатирая то что было доэтого на флешке, поэтому убив конфигурацию - будет очень сложно придти к заводским настройкам даже после перепрошивки флешки, поэтому будьте аккуратны и следуйте четко инструкции.
3.SD Карта и пара патч кордов
Мне все эти дары предоставил продавец, вам возможно нужно будет найти флешку минимум на 2 гб, чем выше класс тем лучше, ну и стандартный RJ45 на RJ45 Кабель.
4.Комп/Ноут на Linux/Windows
сейчас кратко по софту
Винда - Putty(ssh/ttl), Win32DiskImager/Rufus
Linux - screen (для ttl) и встроенный ssh/Стандартная утилита Диски в gnome на Ubuntu/Debian
5. Сервак с VPN
Да, без этого никак, сегодня у нас в принципе рубрика не про что то бесплатное, хотя даже впн профиль с Xray можно выпросить. Понятное дело вам надо будет самим взять и настроить этот сервер, но гайдов благо много, я в вас не сомневаюсь линуксята, оставлю тут ссылку на видосик чтобы вам не искать.
Настройка 3xUI - тип снял довольно классно и информативно
Пора начинать
Первое - что нам необходимо сделать - скачать образ системы openwrt
Лично я собираю свое устройство на версии Zero с 512 мб оперативной памяти(как писал выше - более мощное железо под это дело мне не нужно). Задумка такова - что мы имеем один комплектный сетевой адаптер, второй как usb адаптер, в один у нас приходит интернет от провайдера(eth1) - из второго(стокового eth0) выходит локалка с пробросом на VPN канал, весь трафик течет через него.
Прошивка
Берем нашу SD карту и заливаем на нее через win32DiskImager образ, я это делаю из под линукса(там предварительно архив нужно распаковать .img.gz > .img)


Первичная конфигурация
После прошивки вставляем нашу sd карту в Orange Pi, подключаем патч-кордом ее к нашему ПК(Orange pi сама выдаст ему IP) и подаем на нее питание
Огни на разъеме ethernet мигнут 3 раза, что будет означать целостность UBOOT и плата вскоре загрузится. Тем временем нам нужно зайти по адресу http://192.168.1.1
Там мы увидим окно входа в систему, нажимаем просто войти ибо пароля при первой загрузке у нас не будет. После входа увидим плашку такого характера и бежим менять пароль.

Отлично, система есть, но у нас всего 1 порт инета, USB порт работать пока не будет, как нам производить последующую конфигурацию?

Следуем инструкции, заходим в Систему - Администрирование - Доступ SSH, выбираем наш LAN и сохраняем изменения через Save & Apply
Далее нам нужно сделать наш Lan порт не DHCP сервером, а клиентом, чтобы наша апельсинка узнала, что такое интернет. Для этого выполняем шаги

Так же нажимаем Save > Save & Apply > Apply and keep Settings и наш мини-шлюзик будет ожидать, когда ему на вход придет интернет от вашего домашнего роутера, прямое соединение уже не даст ничего.
Поэтому подключаем ее к WIFI роутеру, смотрим какой IP ей отдаст роутер. В моем случае это 192.168.1.178, узнать точный можно или через LAN сканер(Любой из Google play или AppStore), или через админку роутера.
Если на этом этапе зайти на ее веб морду, по новому ip адресу, то заметим один казус

У меня флешка на 4гб, но диска у нас всего 100мб, надо это исправить.
Подключение по SSH и расширение диска
Логин будет root, а пароль тот, что вы поставили в веб морде
После успешного подключения нам надо выполнить ряд команд в терминале
opkg update
opkg install cfdisk losetup f2fs-tools lsblk nano mc nftables
Эти команды обновят списки пакетов и установят нужные утилиты, после успешной установки пишем
cfdisk /dev/mmcblk0

Откроется cfdisk и поможет расширить наш основной раздел - mmcblk0p2
Именно на этом разделе выбираем через Tab Resize

Ну и вводим наш новый объем (по дефолту он выставляет максимальный). После нажимаем Write и Quit соответственно. После этого сектор будет максимального объема, но система не умеет сама индексировать эти изменения, поэтому пропишем еще один мини скрипт в нашу консоль
LOOP="$(losetup -n -O NAME | sort | sed -n -e "1p")"
ROOT="$(losetup -n -O BACK-FILE ${LOOP} | sed -e "s|^|/dev|")"
OFFS="$(losetup -n -O OFFSET ${LOOP})"
LOOP="$(losetup -f)"
losetup -o ${OFFS} ${LOOP} ${ROOT}
fsck.f2fs -f ${LOOP}
mount ${LOOP} /mnt
umount ${LOOP}
resize.f2fs ${LOOP}
reboot

Вы увидите в консоли логи работы скрипта, после уходим на reboot
Для убедительности после перезагрузки глянем объем диска в веб морде

Это уже совсем другое дело.
Добавляем поддержку USB-Ethernet адаптеров
Так же подключаемся по SSH
opkg update
opkg install kmod-usb-net kmod-usb-net-asix kmod-usb-net-cdc-ether kmod-usb-net-mcs7830 kmod-usb-net-rtl8152 kmod-usb-net-rndis
reboot
Эти модули поддерживают большинство популярных USB Ethernet адаптеров:
kmod-usb-net
- базовый драйверkmod-usb-net-asix
- для чипсетов ASIXkmod-usb-net-cdc-ether
- для CDC Ethernet устройств-
kmod-usb-net-rndis
- для RNDIS устройствПосле установки можем подключить наш ethernet-донгл и перейти к настройке самого моста, чтобы трафик мог идти между портами и наша платка стала полноценным шлюзом. Заходим в веб морду
В наших интерфейсах
Добавляем интерфейс eth1 и даем ему имя WAN, конфигурируя его как DHCP клиента
На нашем LAN интерфейсе нажимаем изменить(Edit)
Конфигурируем его как Static Address и задаем IP с маской
-
Мой шлюз будет раздавать IP адреса, а сам будет доступен по ip 10.0.0.1
Теперь остается последний шаг - фаервол, необходимо зайти в наш WAN интерфейс во вкладку Firewall settings
Кидаем его в группу Wan фаерволл зоны. Сохраняем все изменения и наша зверюшка уже будет прокидывать через себя интернет, веб морда и ssh доступен по 10.0.0.1
На этом этапе мы почти закончили настройки нашего устройства.
Настройка VPN проксирования

Устанавливаем пакет v2raya, так же ставим и luci-app-v2raya
чтобы у нас был GUI интерфейс.
После установки пакетов - переходим в новую вкладку Services>V2RayA

Тут нам необходимо произвести активацию сервиса нажав на галочку и применив изменения

Теперь сервис запущен, переходим в веб интерфейс(10.0.0.1:2017) и ожидаем, пока наш сервис обновит свои внутренние пакеты, буквально через 2 минуты после этого перезагружаем страницу и видим графический интерфейс на русском языке.

Тут просто проходим, создавая учетку.
Наконец - последний рывок - делаем импорт нашего VLESS/VMESS/TROJAN профиля

Это активирует профиль VPN, но чтобы шла переадресовка пакетов, нужно зайти в настройки V2R и проставить поля как на картинке

Применяем все настройки и наслаждаемся

Теперь Orange pi принимает инет от провайдера и раздает нам уже VPN напрямую. Теперь Chatgpt, YouTube, Netflix и другие сервисы нам будут доступны.
Это мой дебют на Хабре, приходите в наш паблик по линуксу и подобным гайдам, буду очень рад. Я показал лишь прямой путь, от идеи до цели, настройки можете менять и использовать так, как нравится вам.
Наш тгк - жду вас там ;-)
Комментарии (28)
jhoag
07.02.2025 07:28покрыть весь дом vpnом
Сервак с VPN
VPN проксирования
В статье описана настройка прокси. При чём тут VPN?
meowk1r1_wikilinux Автор
07.02.2025 07:28больше из за привычки, VLESS, VMESS и т.д. хоть и протоколы проксации, но их часто под vpn заносят, так же можно использовать и wireguard, но у меня он стабильностью не блещет
Kenya-West
07.02.2025 07:28Как частичный ответ на вопрос - на конечных устройствах зачастую полноценная работа клиента обеспечивается именно через TUN и поднимание своего сетевого адаптера, как у VPN. А на мобильных платформах оно работает именно как функция VPN.
ki11j0y
07.02.2025 07:28@itdog написал хороший скрипт маршрутизации, у меня ax6s стоит на входе, только вместо vless у меня socks5 через websocket ну tun2socks, перейдешь по домену там сайт, только зная путь только будет работать. Сертификаты le соответственно. И я бы испозовал другой одноплатник, banana pi bpi-r3 mini или r4 железка более интересная для OpenWRT там filogic 830 и всего его плюшки, аппаратная разгрузка nat и wifi.
meowk1r1_wikilinux Автор
07.02.2025 07:28слушай, если тебе есть что об этом рассказать - напиши это у меня в паблике под последним постом в коммах, думаю можно будет совместно придумать какую нибудь софтинку в дальнейшем)
ki11j0y
07.02.2025 07:28Я жду когда релизнится openwrt 24.04.1, буду обновлять инфраструктуру, но конечно хотелось бы все таки приобрести именно bpi4, и после написал бы про неё и маршрутизацию. Пока выживаю на ax6s он чисто как маршрутизатор, wifi настроен но не используется, для этих целей есть ещё tplink ax73. Мне возможен квест с uart и ax6s при обновлении...
Mrksltnv
07.02.2025 07:28Я сделал немного по другому. На роутер накатил openwrt, установил клиент wireguard. Создал 2 раздельные WiFi сети, одна идёт с обычным трафиком, вторая через VPN wireguard.
meowk1r1_wikilinux Автор
07.02.2025 07:28я просто через веб менюшку включаю/выключаю впн на всей локалке, для меня удобно, но твой варик тоже норм)
theult
07.02.2025 07:28Не встречал ещё стабильных usb сетевух, хотя под линухом их использовать не приходилось. По идее есть виртуальные адаптеры, да и для прокси вполне возможно что хватило бы одного адаптера, указав апельсинку в качестве шлюза, единственное что естественно, пополамим скорость интерфейса. В целом компам и телефонам удобнее сидеть на своем клиенте, типа v2ray - там можно трафик только нужный заворачивать в ВПН, и не гнать все через забугор. А телевизоры - кто ж через них на госуслуги ходит, пусть сразу в свободный тырнет идут. Удачи, спасибо за статью. Ещё хороший варик в качестве железки недорогие mini-itx платки с дешёвыми ноутбучными процами (2*2,5ггц х86-х64) - туда отлично катится openwrt и скак ни странно они шустрее 4*2ггц arm ядер.
meowk1r1_wikilinux Автор
07.02.2025 07:28тоже думал об этом, спасибо за критику, но неттопы я копать уже устал, захотелось попробовать что то на arm, uboot и за копейку)
iamezhik
07.02.2025 07:28у многих из вас дома роутеры "бытового класса", как и у меня, которые просто нет смысла даже шить. ибо 64 мегабайта дискового пространства хватить конечно можно, но это будет впритык
Ну не правда же, у меня на роутере 16Мб всего. 8Мб доступно после установки OpenWRT. Singbox приходится конечно в RAM устанавливать, но это собственно и не проблема, если уж мы конкректно про vless.
hphphp
07.02.2025 07:28xiaomi ax3000t стоит 3500рублей и на него вышла очередная стабильная прошивка OPENWRT, что фиксит все детские болезни. По мне так гораздо проще поставить на него все нужные пакеты. А если нужен только ютьюб, то даже VPN не нужен.
meowk1r1_wikilinux Автор
07.02.2025 07:28да, согласен с тобой, но мне не было нужды покупать новый роутер, а orange досталась как то спонтанно, поэтому решил провернуть у себя так
MikeHail
07.02.2025 07:28byebyeDPi и Ютуб на андроид ТВ работает как и работал раньше....
meowk1r1_wikilinux Автор
07.02.2025 07:28рассматривал эту штуку, но у меня плюсом soundcloud, spotify и иногда по мелочи другие сервисы нужны, ну и не буду забывать про телек на своей операционке, на который хрен что стороннее накатишь
MikeHail
07.02.2025 07:28Tizen что-ли?
Не, ну если много чего нужно, то наверное лучше купить VPS в РФ, который будет расшифровывать трафик и смотреть куда идёт запрос и если надо то отправлять трафик того же Ютуба через byeDPi, а спотифай через зарубежный VPN. Трафик на этот VPS отправлять через роутер. Телефон и компьютер уже через VPN подключаться к VPS, чтобы постоянно работало это всё.(Правило сделать чтобы если нет домашней WiFi сети, то подключаемся через VPN.) Так будет намного комфортнее по мне.
meowk1r1_wikilinux Автор
07.02.2025 07:28Слушай, звучит классно, если захочешь поделиться более подробно - добро пожаловать в мой уютный тгк, очень рад что делитесь подобными мыслями
Sap_ru
07.02.2025 07:28Путь самурая, это амнезию под Orage/Zero Pi собрать. Вот это круто. Но хедеров нет и потому путь мучителен и опасен.
Filippov1971ffs
07.02.2025 07:28*Сухой Остаток (АПЕЛЬСИНКУ Лучше Неиспользовать Слабенькая Морально Устаревшая Нужен Производительнее И С ИИ Чипом) ГЛАВНОЕ Куда Идём Локальная Сеть Цель A complete secure network!!!
1Покрыть Весь Дом vpnом
2Домашний Сервак С VPN
3VPN Проксирование И Т.Д
drumpel
07.02.2025 07:28Это какая то ерунда. Вместо поднятия vpn на роутере за пять минут , какие то растбери апельсинки и неделя тяжкой долбëжки с прошивками и консольными командами в линуксе. Во первых openvrt не так уж и плохо работает на домашних роутерах. Во вторых у вас прокся а не vpn а это значит в разы меньшая нагрузка на роутер. В третьих а что вам мешает не малинки и апельсинки скупать на авито а купить там полупрофессиональный роутер микротик за тысячу рублей? А на микротике ивините совершенно другого уровня железо и гораздо больше возможностец и куча готовых решений.
Natsuru
07.02.2025 07:28Во первых openvrt не так уж и плохо работает на домашних роутерах
Многие роутеры не поддерживаются в принципе. Также, например, у меня он собственность провайдера, нужно либо покупать второй в локалку, как свич, что не слишком удобно, либо нарываться на грубость и втыкать вместо провайдерского (и не факт, что заведется)
Marsezi
07.02.2025 07:28Уже на пылесосе запускают. Когда же появится статья как это сделать на официальной прошивки asus
Artem_Khromov
Не увидел настройки динамической маршрутизации, а значит весь домашний трафик будет идти за рубеж, в вашем случае Нидерланды. Госуслуги, банк, РЖД и т.д. работать не будут
meowk1r1_wikilinux Автор
мне с несколькими сетками это и не особо нужно, но согласен, надо добавить будет