![](https://habrastorage.org/getpro/habr/upload_files/5d7/7f5/bc9/5d77f5bc9d09db7d39bdcefb6b2a9166.png)
Введение
Наши реалии довольно суровы, сейчас даже стало сложно не то что зайти на какой нибудь 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
![Типы orangePI zero Типы orangePI zero](https://habrastorage.org/getpro/habr/upload_files/496/3d0/8d6/4963d08d69484a63e2eb17694951de5f.png)
Цены разнятся, но диапазон примерно такой
zero - 2000 (256-512мб ОЗУ)
zero 3 - 3000-3500(1-4гб ОЗУ)
Покупать советую на Авито, ибо Али предоставляет комплекты качества не высокого, да и переплатить можно будет. Эту платформу легко найти на авито и купить ее за бесценок у людей(Причем комплектом), которые не нашли ей нужного применения.
2.USB-TTL переходник (По желанию)
![](https://habrastorage.org/getpro/habr/upload_files/782/b77/ff7/782b77ff7679e9db747e6593b1aee286.png)
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)
![Debian/Ubuntu Debian/Ubuntu](https://habrastorage.org/getpro/habr/upload_files/11c/9dc/b09/11c9dcb0906eb02f1ca30493b89b65fc.png)
![Win32DiskImager Win32DiskImager](https://habrastorage.org/getpro/habr/upload_files/b22/9cd/112/b229cd11298549f867352f6e99b32b36.jpg)
Первичная конфигурация
После прошивки вставляем нашу sd карту в Orange Pi, подключаем патч-кордом ее к нашему ПК(Orange pi сама выдаст ему IP) и подаем на нее питание
Огни на разъеме ethernet мигнут 3 раза, что будет означать целостность UBOOT и плата вскоре загрузится. Тем временем нам нужно зайти по адресу http://192.168.1.1
Там мы увидим окно входа в систему, нажимаем просто войти ибо пароля при первой загрузке у нас не будет. После входа увидим плашку такого характера и бежим менять пароль.
![](https://habrastorage.org/getpro/habr/upload_files/946/673/609/946673609c4cfebb4e5aa2a47c211eed.jpg)
Отлично, система есть, но у нас всего 1 порт инета, USB порт работать пока не будет, как нам производить последующую конфигурацию?
![](https://habrastorage.org/getpro/habr/upload_files/64b/c07/0e6/64bc070e6f73d5f0d56ad2920d534ca5.png)
Следуем инструкции, заходим в Систему - Администрирование - Доступ SSH, выбираем наш LAN и сохраняем изменения через Save & Apply
Далее нам нужно сделать наш Lan порт не DHCP сервером, а клиентом, чтобы наша апельсинка узнала, что такое интернет. Для этого выполняем шаги
![](https://habrastorage.org/getpro/habr/upload_files/837/098/c20/837098c20df1fda465c863145e16dec0.png)
Так же нажимаем Save > Save & Apply > Apply and keep Settings и наш мини-шлюзик будет ожидать, когда ему на вход придет интернет от вашего домашнего роутера, прямое соединение уже не даст ничего.
Поэтому подключаем ее к WIFI роутеру, смотрим какой IP ей отдаст роутер. В моем случае это 192.168.1.178, узнать точный можно или через LAN сканер(Любой из Google play или AppStore), или через админку роутера.
Если на этом этапе зайти на ее веб морду, по новому ip адресу, то заметим один казус
![](https://habrastorage.org/getpro/habr/upload_files/243/055/7e6/2430557e6f5afdc2412bf5cf3c53e7cf.jpg)
У меня флешка на 4гб, но диска у нас всего 100мб, надо это исправить.
Подключение по SSH и расширение диска
Логин будет root, а пароль тот, что вы поставили в веб морде
После успешного подключения нам надо выполнить ряд команд в терминале
opkg update
opkg install cfdisk losetup f2fs-tools lsblk nano mc nftables
Эти команды обновят списки пакетов и установят нужные утилиты, после успешной установки пишем
cfdisk /dev/mmcblk0
![](https://habrastorage.org/getpro/habr/upload_files/7da/1ee/cde/7da1eecdefaba8ca2c8f8c70ad0dd6b0.png)
Откроется cfdisk и поможет расширить наш основной раздел - mmcblk0p2
Именно на этом разделе выбираем через Tab Resize
![](https://habrastorage.org/getpro/habr/upload_files/a93/0e6/81b/a930e681b484036429e82e585effd3ce.png)
Ну и вводим наш новый объем (по дефолту он выставляет максимальный). После нажимаем 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
![](https://habrastorage.org/getpro/habr/upload_files/c66/47d/05d/c6647d05daace1a90fe21dc86337a0f7.png)
Вы увидите в консоли логи работы скрипта, после уходим на reboot
Для убедительности после перезагрузки глянем объем диска в веб морде
![](https://habrastorage.org/getpro/habr/upload_files/af2/f54/aeb/af2f54aeb4ad94b722476a9bdcdfbeae.png)
Это уже совсем другое дело.
Добавляем поддержку 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 проксирования
![](https://habrastorage.org/getpro/habr/upload_files/1b7/f76/fc2/1b7f76fc2ea96eff7def165b5e5a3dfd.png)
Устанавливаем пакет v2raya, так же ставим и luci-app-v2raya
чтобы у нас был GUI интерфейс.
После установки пакетов - переходим в новую вкладку Services>V2RayA
![](https://habrastorage.org/getpro/habr/upload_files/6e2/9bb/c19/6e29bbc191d3809f848851eafda749a3.jpg)
Тут нам необходимо произвести активацию сервиса нажав на галочку и применив изменения
![](https://habrastorage.org/getpro/habr/upload_files/502/257/c81/502257c818f1764504760b737806adf7.jpg)
Теперь сервис запущен, переходим в веб интерфейс(10.0.0.1:2017) и ожидаем, пока наш сервис обновит свои внутренние пакеты, буквально через 2 минуты после этого перезагружаем страницу и видим графический интерфейс на русском языке.
![](https://habrastorage.org/getpro/habr/upload_files/ddd/bdd/5f3/dddbdd5f3f6d42cf4c4bc8464a4ee2fa.jpg)
Тут просто проходим, создавая учетку.
Наконец - последний рывок - делаем импорт нашего VLESS/VMESS/TROJAN профиля
![](https://habrastorage.org/getpro/habr/upload_files/5c3/d7a/433/5c3d7a43398b927dbe680dc4f68f7824.png)
Это активирует профиль VPN, но чтобы шла переадресовка пакетов, нужно зайти в настройки V2R и проставить поля как на картинке
![](https://habrastorage.org/getpro/habr/upload_files/026/e3f/066/026e3f06634b9b1afa31699517a90dd8.jpg)
Применяем все настройки и наслаждаемся
![](https://habrastorage.org/getpro/habr/upload_files/d1a/e2b/88a/d1ae2b88aea2827c3e350ff63bf86a35.jpg)
Теперь Orange pi принимает инет от провайдера и раздает нам уже VPN напрямую. Теперь Chatgpt, YouTube, Netflix и другие сервисы нам будут доступны.
Это мой дебют на Хабре, приходите в наш паблик по линуксу и подобным гайдам, буду очень рад. Я показал лишь прямой путь, от идеи до цели, настройки можете менять и использовать так, как нравится вам.
Наш тгк - жду вас там ;-)
Комментарии (4)
jhoag
07.02.2025 07:28покрыть весь дом vpnом
Сервак с VPN
VPN проксирования
В статье описана настройка прокси. При чём тут VPN?
meowk1r1_wikilinux Автор
07.02.2025 07:28больше из за привычки, VLESS, VMESS и т.д. хоть и протоколы проксации, но их часто под vpn заносят, так же можно использовать и wireguard, но у меня он стабильностью не блещет
Artem_Khromov
Не увидел настройки динамической маршрутизации, а значит весь домашний трафик будет идти за рубеж, в вашем случае Нидерланды. Госуслуги, банк, РЖД и т.д. работать не будут
meowk1r1_wikilinux Автор
мне с несколькими сетками это и не особо нужно, но согласен, надо добавить будет