Привет, Хабр!
В связи с последними событиями вокруг видео хостинга YouTube, ситуация вынуждает искать технические решения для восстановления доступа к сервису. В этой статье я хочу поделиться своим техническим опытом по восстановлению доступа к сервису с помощью дешевого одноплатника Orange Pi Zero 2 от компании Xunlong Software.
Получается так, что в ходе моих разработок в моем арсенале остаются "ненужные" железки, одной из этих железок оказалась плата Orange Pi Zero 2, ниже представлен внешний вид устройства и технические характеристики:
Hardware specification
CPU |
Allwinner H616 64-bit high-performance Quad-core Cortex-A53 processor |
GPU |
• Mali G31 MP2• Supports OpenGL ES 1.0/2.0/3.2、OpenCL 2.0 |
Video decoding |
• H.265 Main10@L5.1 decoder up to 4K@60fps or 6K@30fps• VP9 Profile 2 decoder up to 4K@60fps• AVS2 JiZhun 10bit decoder up to 4K@60fps• H.264 BP/MP/HP@L4.2 decoder up to 4K@30fps |
Video encoding |
• H.264 BP/MP/HP encoder up to 4K@25fps or 1080p@60fps• JPEG snapshot performance of 1080p@60fps |
Memory(SDRAM) |
512MB/1GB DDR3 (Shared with GPU) |
Onboard Storage |
• TF card slot• 2MB SPI Flash |
Onboard Network |
Support 1000M/100M/10M Ethernet |
Onboard WiFi+BT |
• 859 Chip• Support IEEE 802.11 a/b/g/n/ac• Support BT5.0 |
Video Outputs |
• Micro HDMI 2.0a up to 4K@60fps• TV CVBS output, Support PAL/NTSC(Via 13pin interface board) |
Audio output |
• Micro HDMI• 3.5mm audio port (Via 13pin interface board) |
Power Source |
Type-C interface 5V3A input |
USB 2.0 Ports |
3*USB 2.0 HOST(Two of them are via 13pin interface board) |
Low-level peripherals |
• 26pin header with I2C, SPI, UART and multiple GPIO ports• 13pin header with 2*USB Host, IR pin, Tv-out、AUDIO (no MIC) and 3 GPIO ports |
Debug serial port |
UART-TX、UART-RX and GND |
LED |
Power led & Status led |
IR receiver |
Support IR remote control (via 13pin interface board) |
Supported OS |
Android10、Ubuntu、Debian |
Appearance specification introduction
Dimension |
53mm×60mm |
Weight |
30g |
Так как мои устройства, которые используют видеосервис YouTube, подключены через беспроводное соединение и исходя из спецификации платы, вырисовывается следующая концепция:
Проводной сетевой интерфейс (Ethernet) мы будем использовать для (внешнего) подключения к сети интернет, в моем случае к сетевому роутеру, а на беспроводном модуле одноплатника мы реализуем Wi-Fi Хотспот для подключения наших устройств, и вся "магия" будет выполняться с помощью установленного на одноплатник ПО.
Установка программного обеспечения
В качестве операционной системы используется Debian 12 без графической оболочки, скачать образ системы можно на официальном сайте Orange Pi.
Wi-Fi хотспот в данном решении реализован с помощью пакета hostapd, перед дальнейшими действиями, рекомендуется обновить пакеты с помощью команды
sudo apt-get update && apt-get upgrade
Установка и настройка hostapd
sudo apt-get install hostapd
Редактируем файл конфигурации /etc/default/hostapd.conf.
sudo nano /etc/default/hostapd.conf
В файле конфигурации раскомментируем следующую строку
DAEMON_CONF="/etc/hostapd/hostapd.conf"
И на всякий случай остановим сервис hostapd
service hostapd stop
Отредактируем файл конфигурации нашего Wi-Fi хотспота:
sudo nano /etc/hostapd/hostapd.conf
Приведем файл к следующему содержанию
interface=wlan0
driver=nl80211
country_code=RU
ssid=INTERNETFORYOUTUBE #Wi-Fi AP SSID
hw_mode=a
channel=36
ieee80211n=1
ieee80211ac=1
vht_capab=[VHT80][SHORT-GI-80]
wpa=2
wpa_passphrase=YOUTUBE12345 #PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
В данной конфигурации реализована Wi-Fi точка доступа 5 ГГц, стандарт 802.11n, 802.11ac, частотный канал 36, wlan0 - беспроводной сетевой интерфейс, определяется с помощью команды:
ip a
Далее нам необходимо сконфигурировать беспроводной интерфейс, отредактировав следующий файл с помощью команды:
sudo nano /etc/network/interfaces
Содержимое файла нужно привести к следующему
source /etc/network/interfaces.d/*
# Network is managed by Network manager
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.50.1
netmask 255.255.255.0
gateway 192.168.50.1
В данной файле мы прописали статическую конфигурацию адреса для беспроводного интерфейса.
Теперь, для корректной работы нашего хотспота, необходимо настроить автоматическую раздачу адресов для клиентов. Для этого реализуем DHCP сервис с помощью dnsmasq.
Установка dnsmasq:
sudo apt-get install dnsmasq
И, на всякий случай, остановим сервис
service dnsmasq stop
Конфигурируем dnsmasq
sudo nano /etc/dnsmasq.conf
И приводим файл конфигурации к следующему содержимому
interface=wlan0 # Use interface wlan0
listen-address=192.168.50.1 # Explicitly specify the address to>
bind-interfaces # Bind to the interface to make sur>
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses
dhcp-range=192.168.50.50,192.168.50.150,12h # IP range DHCP
В своей магии мы будем использовать локальный прокси сервер Socks 5, и для возможности его использования, мы воспользуемся пакетом Redsocks
Установка и настройка redsocks
sudo apt-get install redsocks
Редактируем конфигурационный файл
sudo nano /etc/redsocks.conf
Приведем файл конфигурации к следующему содержимому:
base {
log_debug = off;
log_info = on;
log = "file:/var/log/redsocks.log";
daemon = on;
redirector = iptables;
}
redsocks {
local_ip = 0.0.0.0;
local_port = 12345;
ip = 127.0.0.1;
port = 1080;
type = socks5;
}
Теперь нам необходимо завернуть весь трафик от клиентов хотспота в наш будущий socks 5 прокси. Реализуем данную задачу с помощью iptables:
sudo iptables -t nat -N REDSOCKS
sudo iptables -t nat -A REDSOCKS -d 192.168.50.0/24 -j RETURN # Исключаем локальную сеть
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp -j REDSOCKS
Далее нам желательно сохранить данные правила и реализовать их загрузку при старте системы:
Сохранение текущих правил iptables в файл iptables.rules. Создаем файл и ограничиваем к нему доступ
sudo touch /etc/iptables.rules
sudo chmod 640 /etc/iptables.rules
Сохраняем текущие правила iptables в файл
sudo iptables-save | sudo tee /etc/iptables.rules
Автозагрузка сохраненных правил. В /etc/network/if-pre-up.d/ создаём файл iptables, со следующим содержимым:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
Делаем созданный сценарий исполнимым
sudo chmod +x /etc/network/if-pre-up.d/iptables
Теперь немного магии, чтобы у нас все заработало, будем использовать "ciadpi"
Создаем сервис ciadpi не под root пользователем, например orangepi. Входим под пользователем orangepi и клонируем репозиторий:
git clone https://github.com/hufrea/byedpi
Переходим в папку с репозиторием и собираем
сd byedpi
make
Далее нам необходимо создать сервис для автозагрузки нашей магии:
nano /etc/systemd/system/byedpi_orange_pi.service
И сохраняем следующее содержимое
[Unit]
Description=dpi port 1080
After=network.target
[Service]
User=orangepi
Group=orangepi
ExecStart=/home/orangepi/byedpi/ciadpi --disorder 1 --auto=torst --tlsrec 1+s
[Install]
WantedBy=multi-user.target
Добавляем скрипт в автозагрузку
systemctl enable byedpi_orange_pi
Перезагружаем систему и проверяем работу
sudo shutdown -r now
Подведем итоги
В данной статье я постарался доходчиво описать свой технический опыт восстановления доступа к YouTube с помощью отладочной платы Orange Pi zero 2.
Если статья вам понравилась, то поддержите её стрелочкой вверх. Если есть что добавить или хотите поделиться подобным опытом, то добро пожаловать в комментарии! Всем добра, здоровья и спасибо за внимание!
Обратите внимание, что данная статья не популяризует и не склоняет пользователя к обходу блокировок. Здесь лишь описан частный технический случай, который является труднореализуемым со стороны обычного обывателя.
Комментарии (117)
batChar
13.08.2024 07:02+6Пару недель назад собрал аналогичное устройство для родителей, но только делал на своем самописном VPN. Думаю, это абсолютно идеальное решение для пожилых людей: не нужно устанавливать дополнительное ПО, просто переключил Wi-Fi сеть — и всё работает.
Спасибо за статью!CyberexTech Автор
13.08.2024 07:02Первоначально я делал решение с применением VPN на данном устройстве, но обилие рекламы меня вынудило прийти к описанному с в статье решению. Я рад, что вам понравилась статья.
Revertis
13.08.2024 07:02Так есть же блокировщики рекламы ;)
И есть удобные сторонние клиенты, даже со SponsorBlock.
NotSlow
13.08.2024 07:02+4Потому что не надо брать в германиях всяких. Знаю минимум 2х vps хостеров с ip по гео базам российскими, но физически сервер в европах. В итоге заворачиваю роутером youtube.com (плюс еще несколько доменов со всеми поддоменами) на такой vpn и получаю нормально работающий ютуб, для которого я якобы обращаюсь из РФ... безо всякой рекламы
stas_grishaev
13.08.2024 07:02+1Знаю минимум 2х vps хостеров с ip по гео базам российскими
огласите список, пожалуйста.
NotSlow
13.08.2024 07:02+2Aeza Стокгольм promo 1.09eur/мес
Vdsina Амстердам standard 0.75usd/мес
Понятно что ip выдаются рандомно, но те что мне попались - именно такие. Ютуб с пометкой RU и без рекламы через них идет.
stas_grishaev
13.08.2024 07:02+1спасибо) сам пользую vdsina, но мой ipv4 бьётся по гео именно как Амстердам. буду знать что у них бывают и другие ipv4, которые бьются как ru.
Lev3250
13.08.2024 07:02Зависит не от этого. Гугл хорошо запоминает по геолокации (реальной геолокации), откуда чаще заходят по этому ip и переключает страну вне зависимости от того, где этот адрес проходит по базам
NotSlow
13.08.2024 07:02Однако у меня через эти, якобы швецию и нидерланды, ютуб пишет именно RU.
Есть еще другие.
До этого сидел через литовский (т.к. минимальный пинг до РФ из всех что перепробовал), там реклама была.
alek0585
13.08.2024 07:02+1Мне vdsina не нравится. Я покупал в Амстердаме и мне показывает рекламу(на ютубе). Плюс скорость какая-то странная, то тупит, то раздупляется и быстро загружает. Использовал их образ с 3X-UI.
А вот на белорусском впс за 4 сотки(adminvps) деревянных с оплатой через карту мир рекламы на ютубе нет и работает побыстрее. Но там лимит трафика 5ТБ.
NotSlow
13.08.2024 07:02Естественно, чем ближе, тем меньше задержки и в целом всегда лучше.
И естественно, что на vps за менее бакса будет дичайший оверселл и никакой стабильности. Потому сам основной использую литовский за 4 евро, хотя там тоже есть вопросы по стабильности... Например от меня пинг бывает то 40мс, то 50, то 60, а то под 100. И при этом из Москвы тот же хост - 12мс стабильно :(
Очень плохо все с интернетом нынче.
Popadanec
13.08.2024 07:02+35Тб ещё надо высмотреть, если торрентами не пользоваться и смотреть не выше 1080р, то даже за 1Тб не выйти.
У меня два ТВ, два ПК, все целый день не вырубаются и ~0.5Тб в месяц.
IsUnavailable
13.08.2024 07:02Где в аезе такие цены? Пришлось там взять сервак за 4.95 т.к. ниже цен нет
И кстати очень даже Ютуб переключает на другую страну у аезы
Aelliari
13.08.2024 07:02+1Где в аезе такие цены?
Промо-тариф в стокгольме, он периодически доступен для заказа. Например сейчас
IsUnavailable
13.08.2024 07:02Проверил
Взял этот промо тариф, настроил там такую-же конфигурацию Xray+vless иии... оно не работает. Вернее оно технически работает, только вот сервак хоть заявляется как в Швеции, IP определяется как из Нидерландов, ютуб считает, что я в России и при этом тормозит как тварь (читай видео смотреть невозможно) (при скорости в 60Мбит замеренной через speedtest). В личном кабинете aeza по данному серваку не отображается статистика и техподдержки никакой (что заявлено при оплате).Короче эксперимент считаю неудачным и продолжаю сидеть на тарифе в 4.94 евро ¯_(ツ)_/¯
А халява была так близка...
uuger
13.08.2024 07:02когда были прижимания интернетов после дагестанского аэропорта у моего товарища впн на вдсине стал недоступен из рф как по команде. потом поднялся как ни в чем не бывало
M_AJ
13.08.2024 07:02Timeweb.cloud ещё, по крайней мере многие жалуются, что у них ip зарубежных серверов определяет как российский.
KrasPvP
13.08.2024 07:02+2подскажите, зачем тут socks5? что в данном случае дает прокся?
разве не можем поднять на orangepi ciadpi и всё?VadimBoev
13.08.2024 07:02+2ciadpi это тоже прокси сервер на socks5. Смысл в том, чтобы решение работало нужен коннект к прокси-серверу, а чтобы не заставлять каждую прогу/устройство делать коннект к прокси, через redsocks весь трафик перенаправляется в socks5
hachiko
13.08.2024 07:02+3Byedpi поднимает socks5 прокси локально, то есть оно будет работать, но придется вручную подписывать настройки прокси сервера на каждом клиенте, что не удобно. Может ли работать byedpi в режиме прозрачного прокси неизвестно, но точно может redsocks. То есть мы локальный прокси byedpi подключаем к redsocks, а redsocks переводим в режим прозрачного прокси, теперь достаточно лишь подключить устройство к точке доступа и все работает.
Меньше мороки будет, если использовать для этих целей утилиту zapret, так как она сразу имеет режим прозрачного прокси и не придет городить такую схему.
positroid
13.08.2024 07:02+4Идея для стартапа: мини-роутеры, раздающие свободный интернет по wifi - покупаешь коробочку за 2-3к, подключаешь по проводу и переключаешь устройства на новую сеть. Желательно с возможностью обновления по воздуху через веб-интерфейс.
Я бы прикупил даже при наличии малинки, апельсинки, своего vps с vpn и пары роутеров, на которых это можно поднять, банально некогда/лень настраивать и поддерживать самостоятельно.BigBeerman
13.08.2024 07:02+17Довольно быстро придут люди в штатском
positroid
13.08.2024 07:02+3К людям, которые продают курительные смеси под названием массажного средства прям на маркетплейсах вроде не приходили) Как и к устройствам взлома, продающимся как тамагочи.
Но согласен, что риски стартапа и заинтересованность ютубом у этих людей больше, чем табаком.
qw1
13.08.2024 07:02+3Скорее, придут ваши же клиенты вам бить морду за мошенничество.
Потому что на одном провайдере работает bye-dpi, на другом не работает.
На одном и том же провайдере сегодня работает, завтра не работает. А послезавтра все сети гугла вообще внесут null-route, как инстаграмм.
На этом строить бизнес - это уровень АО МММ.LordDarklight
13.08.2024 07:02+1Что , bye-dpi, нельзяграм не позволяет зайти?
crims0n_ru
13.08.2024 07:02+1У кого как. У всех этих софтин часто есть проблемы с Facebook и Instagram, зависит от провайдера. Может на телефоне работать, а через браузер - нет.
LordDarklight
13.08.2024 07:02+1А можно поподробнее в чём суть магии? В туннелировании трафика через отдельный компьютер, который туннелирует трафик через какой-то внешний тоннель, который у него настраивается? А что - роутеры это не умеют делать разве?
Aelliari
13.08.2024 07:02+4Трафик во внешний туннель не отправляется, фрагментируются и/или модифицируются запросы к серверам гугла. DPI не может их корректно сопоставить с паттернами для блокировки и пропускает трафик. Сами же запросы стандарты не нарушают и корректно парсятся сервером. И оно работает
LordDarklight
13.08.2024 07:02Да, прочитал внимательнее - увидел в конце
byedpi
приблуду. И на домашнем роутере такое не прокатить...Соответственно - то же самое можно сделать и без Wi-fi - но нужна железка с двумя Ethernet портами! Было бы здорово и такую конфигурацию рассмотреть!
P.S.
И жалко, что за рамками статьи осталось всё первоначальное "физическое конфигурирование оборудования - от подключения БП, периферии для установки ОС, и, возможно, до упаковки платы в корпус. Мелочь - а было бы очень приятно для тех, кто не собирает системы на *Pi платах "каждый день"! Если где-то есть готовый материал - то и ссылка в начале статьи сгодилась бы!
Nicetas
13.08.2024 07:02+2>> И на домашнем роутере такое не прокатить...
Почему не прокатить? Прокатить
https://github.com/bol-van/zapret
LordDarklight
13.08.2024 07:02Ясно. Спасибо за ссылку. Но да - это надо роутер с поддержкой openwrt иметь (выбор домашних не очень большой) и перепрашивать их! И тут Ваше решение с "Orange Pi" (кстати, а Orange Pi Zero 3 / Orange Pi Zero 2 / Orange Pi Zero не сгодится?) будет скорее интереснее. Или - что я предложил - Ethernet x2 WAN мост перед роутером - но было бы здорово, если бы рассмотрели подробно и такую конфигурацию! Например на базе Orange Pi R1 (или там памяти для дом. исп. маловато)?
P.S.
Корпус надо полагать такой подойдёт, а что с БП?
SunUp
13.08.2024 07:02+2Если прочитаете статью ещё внимательнее увидите что автор как раз Orange Pi Zero 2 и использовал, на основе этого предположу что тут сгодится любая из вами перечисленных
andrewdeath
13.08.2024 07:02+1Это делается на роутере keenetic с usb портом без перепрошивки. Тут на Хабре статья есть.
LordDarklight
13.08.2024 07:02Ссылка?
Inflame
13.08.2024 07:02https://habr.com/ru/articles/834826/
Тут есть установочные скрипты: https://github.com/Anonym-tsk/nfqws-keenetic
ElxkoT
13.08.2024 07:02Я у себя среди условно мертвого железа откопал древний Keenetic 2 с отмершим WiFi-модулем - он идеально подошёл в роли коробочки для раскупоривания интернетов, на нём всё отлично поднялось на родной прошивке (а других и нет), хоть и из неофициальной ветки deltа, только флэшка нужна и небольшие танцы с бубном над её форматированием, а то прошивка древняя и EXT4, который оно понимает, это уже не тот же самый EXT4, в который по умолчанию форматирует GParted
crims0n_ru
13.08.2024 07:02Да и byedpi тоже можно на тех же кинетиках, только работать будет медленнее.
nlykl
13.08.2024 07:02+1UPD: схему уже описали до меня, не заметил: https://habr.com/ru/articles/835602/#comment_27161446
Если не пугает двойной NAT, можно обойтись и одним сетевым интерфейсом: настроить на клиентах адрес данной железки как шлюз по умолчанию (прописать в конфиге DHCP-сервера или вручную), а на самой железке включить заворачивание трафика в byedpi и SNAT/MASQUERADE. Не самое красивое решение, но для "тупых" устройств, которые не позволяют настраивать прокси, других вариантов нет.
LordDarklight
13.08.2024 07:02+1А это можно протестировать на виртуальной машине, прежде чем покупать оборудование? Какие будут нюансы в настройке?
Или, может на чём-то ещё можно протестировать, например на старом железе?
PetrSerg
13.08.2024 07:02В качестве операционной системы используется Debian 12 без графической оболочки, скачать образ системы можно на официальном сайте Orange Pi.
Вот картинка каталога, на который переходишь при выборе Debian Image на официальном сайте Orange Pi (модель Orange Pi Zero2).
Подскажите, пожалуйста, какой выбрать.
ds138
13.08.2024 07:02Не сторонник апельсиновых сборок, но образ bookworm содержит наиболее свежее ядро.
tsilia
13.08.2024 07:02Если вам нужен именно "без графической оболочки", то берите любой "server" с вашего скриншота (в них при надобности всё равно можно будет потом доустановить графическую оболочку).
А уже из версий "server" можете выбрать конкретно bookworm, как указал комментатор выше, т.к. там ядро свежее всего, да и дистриб новее — будет дольше поддерживаться.
Okeu
13.08.2024 07:02Bookworm тащите - это последняя версия (Debian 12)
А вообще по предыдущим версиям, разницы server/desktop для вашей задачи скорее всего нет, я не скажу точные различия, но они в предустановленных пакетах скорее всего.
упд: сорян, пока дошел до публикации коммента, вам уже ответили)
ValdikSS
13.08.2024 07:02+23Можно сделать проще:
Подключить Orange Pi кабелем в существующую локальную сеть
Включить маршрутизацию на Orange Pi (
sysctl net.ipv4.ip_forward=1
)Убедиться, что в iptables нет запрещающих маршрутизацию правил
Установить zapret nfqws и настроить на обработку маршрутизируемого трафика
Установить IP-адрес Orange Pi в качестве шлюза на конечных устройствах. Такая опция есть на любом устройстве, даже на телевизоре. В общем случае достаточно прописать DHCP option 3 на роутере, тогда изменять вручную шлюзы не потребуется.
Всё. Не надо ни физически ничего переподключать, ни поднимать дополнительную сеть Wi-Fi.
LordDarklight
13.08.2024 07:02Не понял - отдельное устройство - маршрутизации - стоит между WAN и роутером (Wi-Fi) или просто отдельно подключено к той же сети - и отдельно закольцовано на роутер (Wi-Fi). То есть, какой вариант описывается:
PC -> Wi-Fi -> Orange -> Wi-Fi -> Wi-Fi WAN -> Provider WAN
PC -> Wi-Fi -> Orange -> Orange WAN -> Provider WAN
PC -> Wi-Fi -> Wi-Fi WAN -> Orange -> Orange WAN -> Provider WAN
Картинка не специалисту не даёт различить варианты 2. и 3. (но текст "no WAN zone" на роутере, видимо, исключает вариант 3.) Но текст не описывает эти варианты, и возникает возможность варианта 1. (хотя вроде бы его конфигурация не описана тоже - Orange тогда должен гейтвеить на proxy Wi-Fi роутера - т.к. WAN остаётся через него: или об этом говорит текст на картинке: "gateway for users=192.168.1.2"? но "no WAN zone" на роутере говорит об обратном").
Так же схема не описывает варианты подключения не только через Wi-Fi?, но и через Ethernet
Aelliari
13.08.2024 07:02Там ведь есть ещё и текст, кроме картинки.
Одноплатник подключается к роутеру наравне с остальными железками. И предлагается это сделать кабелем (но wifi принципиально не запрещен)
После настройки одноплатника либо указать одноплатник шлюзом по умолчанию на клиентах, либо указать его шлюзом по умолчанию через dhcp-сервер на роутере. Остальные железки оставить подключенными к роутеру как и было раньше
Т.е. трафик пойдет так:
Клиент -> роутер -> одноплатник -> роутер -> ISP (где-то внутри него и стоит ТСПУ) -> интернет -> youtube
LordDarklight
13.08.2024 07:02Просто сходу не специалисту очень сложно проанализировать все текстовые нюансы на схеме :-( хоть выше я и попробовал это сделать
То есть в именах, описанных мной - схема:
-
PC -> Wi-Fi -> Orange (тут любое подключение, по сути дажe Wi-Fi или второй Ethernet порт не нужен т.е сгодится и такой мини пк или без корпуса и питания) -> Wi-Fi -> Wi-Fi WAN -> Provider WAN -> Youtube
при таком раскладе - Orange - не обязательно ставить отдельной железкой - его можно поднять (хотя бы временно для эксперимента) на любом хосте (понятно - что стабильная работа будет сопряжена со стабильной работой хоста) как виртуальная машина? Вот было бы неплохо тогда описать и такой вариант конфигурации с настройкой - думаю большинству не профи (да и многим условным профи) такой вариант будет более прост для первичного освоения данного подхода - а уже потом либо мутить с роутером - либо ставить мост либо отдельный кольцевой гейтвей на отдельном оборудовании!
ValdikSS
13.08.2024 07:02как виртуальная машина?
Да, такое тривиально сделать виртуальной машиной (но только при подключении компьютера кабелем — Wi-Fi это не Ethernet, Wi-Fi-клиент не может иметь несколько MAC-адресов, т.е. выступать свитчем). Подойдёт обычный OpenWrt в виртуалке.
Собственно, можно и на хосте настроить, виртуальная машина как таковая не обязательна.
LordDarklight
13.08.2024 07:02но только при подключении компьютера кабелем — Wi-Fi это не Ethernet, Wi-Fi-клиент не может иметь несколько MAC-адресов, т.е. выступать свитчем
Не совсем понял. Если настраивается виртуальная машина-мост - то
Какая разница как подключается хост? Важны только сетевые интерфейсы виртуальной машины (и виртуальный мост с хоста)
А если хост имеет только Ethernet подключение?
ValdikSS
13.08.2024 07:02Какая разница как подключается хост?
Это имеет ключевое значение — в Wi-Fi недостаточно служебных полей, чтобы он работал необходимым образом. Некоторые гипервизоры позволяют сделать бридж с Wi-Fi путём различных хаков (отправкой пакетов всем виртуальным машинам, которые нельзя надёжно идентифицировать, что создаёт проблему безопасности), но в общем случае сделать бридж между Ethernet и Wi-Fi в режиме клиента не получится. И уж точно не получится использовать виртуальную машину, если хост подключён Wi-Fi-клиентом, как шлюз.
LordDarklight
13.08.2024 07:02Шлюз мы же на виртуальной машине хотим разместить
ValdikSS
13.08.2024 07:02+1Да, и такой шлюз невозможно использовать, если хост-машина подключена к Wi-Fi-сети клиентом. Другие клиенты сети не смогут его использовать. В стандарте Wi-Fi предусмотрена передача только MAC-адреса точки, MAC-адреса Wi-Fi-клиента, и MAC-адреса получателя.
Если ваша хост-машина подключена Wi-Fi-клиентом, только её MAC-адрес может использоваться для отправки пакетов. У виртуальной машины будет свой MAC-адрес, и если она попытается отправить пакет с указанием своего MAC-адреса, то он просто будет отброшен точкой, т.к. такого подключённого к сети Wi-Fi клиента с её точки зрения нет.
Гипервизоры обходят это ограничение чем-то вроде NAT для bridge: они запоминают соединения и переписывают MAC-адрес в пакетах на MAC-адрес компьютера, а затем обратно. Это работает для IP-трафика, но маршрутизация работает на уровне L2 (на уровне MAC-адресов), поэтому невозможна.
Существуют специальные режимы Wi-Fi для wireless bridge: WDS (также известен как 4addr mode — передача 4 mac-адресов вместо 3), но обычные клиенты (смартфоны, компьютеры) не могут работать в таких сетях.
-
ValdikSS
13.08.2024 07:02Wi-Fi router на картинке и есть условная Orange Pi. Это просто некое дополнительное устройство, которое подключается в сеть, настраивается маршрутизатором и устанавливается в качестве шлюза. Картинка делалась с другой целью для другого случая, поэтому не полностью соответствует написанному, это может запутать, но суть она передаёт верно.
Вы можете подключаться к сети по Wi-Fi (сеть Wi-Fi может быть от любого другого роутера, не обязательно от Orange), по проводу в любой роутер или свитч, главное, чтобы у вас был один L2-сегмент, и Orange был шлюзом.
Orange:
Подключается в сеть самым обычным образом, как любой другой участник сети
Его IP-адрес прописывается шлюзом на других устройствах
Трафик, например, компьютера попадает на Orange, и Orange его маршрутизирует на роутер, параллельно применяя методы обхода nfqws
Orange тогда должен гейтвеить на proxy Wi-Fi роутера
Не знаю, что такое "proxy wi-fi-роутера" (в моей конфигурации нет прокси, как нет и ПО, работающего как прокси), но он действительно выступает маршрутизатором (будучи при этом в мосте, но это не столь важно)
LordDarklight
13.08.2024 07:02Wi-Fi router на картинке и есть условная Orange Pi.
Вот теперь всё окончательно запутали ;-)
Если Orange Pi - на картинке это Wi Fi router с IP 192.168.1.2 (first gateway) - то тогда - он сам по себе zявляется Wi-Fi роутер первого звена - к которому подключаются все клиенты (условно PC, которым нужен процессинг трафика), и только по Wi-Fi (ну или по Ethernet - по очень лимитированному числу портов RJ45) - там отрабатывает Bye DPI - и маршрутизирует уже отработанный трафик на Main router с IP 192.168.1.1 (second gateway; правда, не понятно зачем - когда можно просто в Provider WAN направить - если только подключения остальных клиентов, которым не нужна обработка трафика - но это очень исключительная ситуация для дома) который может быть как обычным Wi-Fi роутером, так и просто Ethernet маршрутизатором (если Wi-Fi другим клиентам не нужен, и все, включая Orange Pi соединяются с ним по Ethernet). И уже Main router далее отправляет трафик в Provider WAN
То есть схема
PC -> Orange PI (Wi-Fi + возможно Ethernet) -> Orange PI WAN -> Main router -> Main router WNA -> Provider WAN -> Youtube
Как-то сложно и коряво - но именно так я сейчас воспринимаю то, что Вы написали
Или всё-же имелось в виду
PC -> Wi-Fi -> Orange PI -> Orange PI WAN -> Wi-Fi -> Wi-Fi WAN -> Provider WAN -> Youtube
Но это не соответствует картинке!
Может, всё-таки, нарисуете правильно?
А заодно и второй вариант - с размещением Bye DPI на виртуальной машине одного из хостов (без Orange PI)?
Не знаю, что такое "proxy wi-fi-роутера"
Имелось в виду, что у клиентов (PC) first gateway - это Orange PC c IP=192.168.1.2
А Orange PI - это мост - который передаёт трафик на другой маршрутизатор - second gateway - это основной роутер (main router) с IP=192.168.1.1 (а он уже в WAN провайдеру) - но не понятно его назначение (почему бы сразу не передать в WAN провайдеру с Orange PI)
ValdikSS
13.08.2024 07:02+2Простите, я не знаю, что такое "wifi router первого звена". Все устройства (в т.ч. и роутеры, и клиенты) в моей LAN равноправны, они все в одном L2-сегменте. Все Wi-Fi-сети, аналогично, в одном (общим с ethernet) L2-сегменте. Можно подключаться в любой ethernet-порт любого роутера, либо же по Wi-Fi, и получать ровно ту же конфигурацию. Это обычная домашняя сеть.
Я не использую ByeDPI. ByeDPI работает как прокси и не предназначен для обработки маршрутизируемого трафика — его разумно применять исключительно при невозможности использования nfqws (или любого другого инструмента, работающего по пакетам и интегрирующегося в маршрутизируемый трафик) вследствие технических ограничений прошивок роутеров. На Orange Pi таких ограничений нет.
Orange PI -> Orange PI WAN
Orange Pi подключается одним проводом. У него один сетевой интерфейс. Если вы WAN'ом называете вышестоящий шлюз, на который маршрутизируется трафик, то да.
Orange Pi выступает простым маршрутизатором. Он просто маршрутизирует пакеты, полученные от других клиентов, на вышестоящий шлюз. Ну, чуть их обрабатывая с помощью nfqws, но если на минуту забыть о нём, то это самый обычный простой маршрутизатор. Без NAT, без разных сетевых сегментов, без проверки отправителя. На нём нет DHCP, нет DNS. Всё, что делает маршрутизатор при получении пакета от клиента — заменяет MAC-адрес отправителя на свой MAC, MAC-адрес назначения на MAC вышестоящего роутера, и пересылает пакет. Всё. nfqws дополнительно делает свою магию, но на непосредственно маршрутизацию это не влияет.
Но это не соответствует картинке!
Картинка нарисована для описания бага nftables, связанного с маршрутизацией внутри логического бриджа (который может состоять хоть из одного физического интерфейса, но в моём случае объединяет несколько физических портов и Wi-Fi-точку).
Стрелочки на картинке показывают путь одного исходящего пакета, отправленного с компьютера в интернет. Это не схема сети!
но не понятно его назначение (почему бы сразу не передать в WAN провайдеру с Orange PI)
Статья рассказывает об обходе блокировки дополнительным устройством в локальной сети, а не об установке обхода на роутер. Я привёл пример похожей конфигурации, более простой в настройке.
Такая конфигурация не требует ни изменения настроек на роутере (изменение dhcp option 3 не обязательно, с ним просто не придётся перенастраивать клиентов), ни перестройки физической топологии, ни замены роутера на более продвинутый. Она совместима даже с самыми базовыми моделями домашних роутеров, где нет никаких дополнительных возможностей.
Я всё настраивал удалённо и исходил из особенностей и ограничений существующей сети — невозможности установки nfqws на main router, из-за чего счёл перемаршрутизацию всего трафика через дополнительный маршрутизатор самой простой конфигурацией и меньшим из зол, хоть и не оптимальным по топологии, зато гарантированно надёжной в плане разблокировки. Если у вас есть возможность настроить обход блокировок на основном/единственном роутере — делайте на нём, конечно!
zurapa
13.08.2024 07:02+2История вроде как про то, как восстановил доступ к ютюбу.
Мне кажется полная картина должа вылядить как-то так:
Устанавливаем софтину
Настраиваем софтину
Настраиваем фаервол (если требуется)
Настраиваем клиента
Про настройку софтины что-то сумбурное написано, как делать, но не написано для чего. Ладно, это можно ещё понять. Но! Зачем вы описываете как настоить точку доступа беспроводную и dnsmasq?! Почему именно это решили описать? А чё не описали как диск разметили? Можно было ещё описание оптимизации системы. Может что-то следовало отключить за ненадобностью. (Это сарказм, если, кто не понял)
Статья разбалена посторонними моментами, чтобы добавить объёма. При том, что можно было поподробней по сути дела написать и вышло бы даже больше.
Ну, не хорошо так писать на таком ресурсе, как хабр. Грязно получилось.
kenomimi
13.08.2024 07:02А сколько у этой платы реально выдает wifi в режиме точки доступа? 30 мегабит будет?
Loggus66
13.08.2024 07:02Зачем нужно было раздавать адреса с одноплатника? Byedpi - это прокси. Поднял его хоть на умном чайнике на 0.0.0.0 и прописал SOCKS в настройках.
xenon
13.08.2024 07:02+1У меня LG с WebOS, решил проще (через raspberry pi 3b). На малинке поднял wireguard тоннель до своего сервера снаружи и включил форвардинг. На телевизоре (который такой, млин, смарт, что не умеет ни в VPN ни в носки ни в http proxy) указал адрес малинки как def route. Всё. Таким образом телик без VPN зарулился в VPN. Теперь наслаждаюсь на ютубе какой-то бельгийской рекламой, как негр в душе моется шампунем.
LordDarklight
13.08.2024 07:02VPN можно и на роутере (если не дешманский) поднять. Тут у автора применение фрагментатора DPI (на отдельном железе, выполняющем и функции Wi-Fi роутера) - другой подход со своими плюсами и минусами (как тут обсудили уже - на некоторых роутерах можно и фргаментатор DPI поднять без доп оборудования).
Но на мой взгляд - наиболее эффективная и универсальная идея - это вынесение на отдельное устройство моста между WAN и роутером. И на этом устройстве (типа такого на NanoPI (есть и версия с Wi-Fi) - но тут, кажется, нет встроенной флешпамяти(хотя, вероятно я ошибаюсь - и там есть 32Mb) на борту, только поддержка карт TF (видимо, до 128Gb) и один USB 2.0 порт; но можно на апельсинке или малинке собрать самостоятельно - но корпус нужно будет брать отдельно, и выйдет несколько дороже - хотя - вот, есть готовый вариант или этот для апельсинки, например - тут, кажется, есть 16Mb встроенной флешпамяти, но нет поддержки флешкарт) уже шаманить с маршрутизацией, и разными конфигурациями по обходу блокировок! Не трогая роутер!
LordDarklight
13.08.2024 07:02Не понимаю только как с этих устройств изображение получать - для первичной настройки - видеопорта то нет... (как и USB-C с поддержкой DP)
nlykl
13.08.2024 07:02Для первичной настройки есть UART-консоль.
LordDarklight
13.08.2024 07:02а где почитать как с ней работать?
nlykl
13.08.2024 07:02Погуглить "подключение к <device_name> по UART".
Вкратце: купить адаптер USB UART, подключить его к контактами RX и TX и зайти в программу для работы с терминалом: Putty, HyperTerminal или Minicom.LordDarklight
13.08.2024 07:02Putty, HyperTerminal или Minicom - это же удалённые сетевые клиенты
А что тогда к USB UART подключать?
tsilia
13.08.2024 07:02Putty, HyperTerminal или Minicom - это же удалённые сетевые клиенты
Не только. Как минимум HyperTerminal и Putty — умеют подключаться к последовательному порту.
Вы подключите USB UART-адаптер к RX/TX на плате, а сам адаптер присоедините по USB к компу. Драйвер создаст COM-порт в системе — и именно к этому порту вы и будете присоединяться терминальным клиентом.
BigBeaver
13.08.2024 07:02А прямо на хочте это всё нельзя разве настроить? Необходимо отдельное устройство?
LordDarklight
13.08.2024 07:02Можно (если хост позволяет - например это PC) - но работать будет только на хосте. А хочется - чтобы все устройства в сети работали без плясок с бубном (например, многие современные SMART TV слишком тупы для этого - им нужен внешний помощник). Ну и потом - перенастраивать (в случае необходимости - а вероятность этого 100%) единую точку выхода - будет проще - чем каждый хост
nitro80
13.08.2024 07:02Установил на андроид-приставке клиент vpn и радуюсь.
Однако, обратил внимание, что максимальное качество теперь ограничено fullhd, даже на тех роликах, которые я ранее смотрел в 4k.
В качестве клиента установлен SmartTube.
Кто-нибудь замечал такое?
Klochko
13.08.2024 07:02Настроил у себя на Orange 3 LTS. Полет нормальный. Но не захотел работать WiFi на плате.
Нужно принудительно перезапустить WiFi модуль на плате, что бы он подтянул настройки. Сам по себе не хочет. После перезагрузки wlan0 не содержите ip адрес, хоть он и прописан в конфиге.
Второй момент — телевизор работать перестал. Т.е IPTV.
Либо ютуб либо ТВ. А и то и то не дружит
LordDarklight
13.08.2024 07:02надо трафик разделять
Klochko
13.08.2024 07:02А каким образом это делается? Хотя бы примерно?
Я так понимаю, что в статье как раз весь трафик с wlan0 в редсокс заворачивает. А можно как-то туда только http заворачивать? Что бы допустим p2p и iptv шли в обход прокси?
Zara6502
я не знаю у кого как, но у меня на мобилке всё работает без танцев с бубном, а на стационарном ПК через обычного провайдера ни один из способов не работает совсем, грузится сам ютуб, JPG заставки к видео, работают комментарии и стрим-чаты, а на видюшках черные прямоугольники. Так что DPI если и помогает то не везде.
TheAthlete
Аналогично. Я вот думаю, может User-Agent правильный (мобильный) прописать или куки какие проставить? Чтобы ютуб думал, что это не стационарный ПК, а мобильный?
Denis1121
Не совсем понимаю. У меня через мобильный интернет (когда раздаю WiFi с телефона) youtube работает вполне вообще на всех устройствах (от телевизора, до компьютера). А вот при подключении через оптику (проводной интернет) youtube только сайт и приложение работают, а вот видео не грузит на всех устройствах.
zlat_zlat
Так господа блокираторы же и обещали так всё. Что-то там про "пользователи в отпусках, на мобилках сидят, они не особо заметят".
FirExpl
Вероятно мобильный трафик идёт через физически другое DPI оборудование, а потому как ни приседай, сколько раз не делай Ку, результат будет одинаковый
Makaveli23rus
Именно. Потому-что у опсосов другие железки ТСПУ стоят.
Popadanec
У меня РТ. Без средств обхода, главная выводит что нет интернета. С ним всё прекрасно работает, но только на последней версии. Плюс средства разные бывают, там прямо в папке файл с описанием настроек. С настройками по умолчанию, у кого то не работает, у кого то работает, а у кого то работает но тормозит. Оборудование разное и настройки требуются разные.
RedWolf
Это легко проверить - раздайте интернет с телефона
Zara6502
не совсем так, достаточно с телефона раздать интернет на стационарные ПК и всё работает нормально. То есть разница не на стороне клиента, а на стороне провайдеров. А вот чем отличаются какой-то сферический транстелеком и билайн - я не в курсе.
Zara6502
не понял что за минусы, а? написал как есть, безо всяких goodbuydpi у меня всё работает на мобилке через Йоту, через Тинькофф Мобайл, если с телефона раздать интернет то и на ПК и ТВ всё работает без всяких танцев с DPI. Новосибирск. Приезжайте сами проверьте. Фу на вас.
Newbilius
А у меня в Екатеринбурге - не работает, ни с мобильного (Теле2), ни с домашнего (Планета) провайдера. И? Вы хотели поделиться тем, что "у вас такая же нога, но не болит"? Тому, у кого всё и так работает - ваш комментарий бесполезен. Тому, у кого не работает - ваш комментарий тоже бесполезен. Отсюда и минусы - за неинформативный флуд.
Zara6502
Моя информация расширяет фактологию проблемы, так как о том что где-то у кого-то работает вообще никто не пишет (в том числе никто не пишет о том что решения с DPI так же не работают), кроме информации в духе "мы все умрем" вообще мало чего написано.
Хотелось бы понимать проблему шире и то, есть ли решение универсальное.
Теперь мы знаем, в том числе и с вашего сообщения что в разных регионах картина очень разная. Больше информации - больше вариантов решения. Я и так в плясках с этими goodbyedpi безрезультативно уже день убил своего выходного.
Okeu
Справедливости ради, все-таки для статистики и понимания масштабов позитивные сообщения тоже полезны. Если где-то у кого-то работает без доп. средств, значит, что окончательный блекаут еще не настал, а хорошо это или плохо - каждый сам для себя решит)
Коллеги, видимо проголосовали минусом))
papkinv
На Планете работает goodbydpi.
kirichenec
Минус не ставил, но предположу, что просто везде и писали, что замедление касается провода, а не мобилок. И под всеми статьями ускорения проводного ютуба вылазят мобильщики и пишут, что у них (вас) всё норм - немного надоели уже)
Хотя у меня лично симка Ростелекома (Теле2) - и тоже режется
Zara6502
ну что я читал там и сям - вообще упоминания про то где конкретно проблема - не написано. я смотрю ютуб на стационарном ПК и на Андроид ТВ. И там и там ютуб не работает, подключено это к наземному интернету. Когда мне написали что ютуб работает на мобилках, я проверил - работает, попробовал раздать интернет с мобилки, работает. Проверил три симки - Теле2, Йота, Тинькофф. Везде работает. А вчера сказали что стал работать на наземном Ростелекоме по оптике (у меня такого нет, поэтому не проверял).
так что я не мобильщик и рецепты на стационарный интернет не повлияли на мои подключения никак. Так что кто кому надоел еще нужно посмотреть.
Okeu
плюсую, изначально была инфа, что различие на стороне клиентов, дескать в QUIC или еще в чем-то причина работы на мобилах и в некоторых версиях хрома. Но андроид смарт ТВ клиенты считают иначе)) По итогу у меня и на мобильном в какой-то момент не грузила труба (билайн мск), но быстро восстановилось.
В то же время билайн мск провод - на десктопе ютуб работал, когда была первая итерация замедления. Ростелеком кабель - не работал, но помог гудбайдпи 0.2.2.
Потом, когда кроме замедления прицепился еще и блок - то на билайне проводе все стало грустно, и на ростелекоме перестал помогать гудбай, но пререлизный 0.2.3рс1, с новыми списками блеклиста помог.
Поэтому вам спасибо за коммент, в момент блоков важен любой фидбек для примерного понимания текущей обстановки.
А то с комментами "это не помогло, то не помогло, это не работает" можно пропустить, даже не попробовав тот способ, который мог бы помочь конкретно тебе
mshewzov
Мобильный YouTube работает через протокол QUIC. Даже мобильный Chrome поддерживает этот протокол, и это можно легко определить, если запустить онлайн-тесты, которых в сети найти не проблема. А вот на настольном браузере завести этот протокол мне так и не удалось. Даже если его принудительно включить в скрытых настройках, то он всё равно не работает и браузер тесты не проходит. Отсюда и разница в работе YouTube в настольном браузере и в мобильной версии.
Zara6502
ну вот еще плюсом информация. Отсюда вопрос - можно ли запросы со стационарного ПК переделывать в QUIC на например мобильном сервере?
LordDarklight
Зачем - пока DPI фрагментаторы и VPN справляются - а если перестанут - придумаю что-то ещё - вот это и надо ставить в разрыв между клиентом и провайдером
Zara6502
ну пока никто не справляется, смотрю ютуб через мобильный интернет.
LordDarklight
У меня GoodbyeDPI разблокирует ютюб на десктопе (нужна актуальная версия). Но, говорят, тут всё от провайдера зависит - и надо с настройками фрагментатора возиться
Zara6502
кстати еще вопрос, а на андроид ТВ разве не QUIC должен работать? почему тогда там не показывает?
LordDarklight
От провайдера зависит. У меня по Wi-Fi дома и с телефона не работает
nlykl
Проверьте DNS, провайдер может переадресовывать все запросы на свой сервер и выдавать IP своей заглушки.