Решение проблемы обхода блокировок для всех устройств в домашней сети зачастую упирается в дешевый, древний, но исправно выполняющий свое предназначение роутер. В этой статье я расскажу, как настроить связку ByeDPI и Redsocks на роутере с OpenWRT, даже если ваш девайс далеко не топ по характеристикам.
Однако эта информация будет полезна и обладателям более современных роутеров — метод довольно универсален и относительно несложен в настройке.
Справка: основные методы обхода DPI
Прежде чем перейти к основной части, коротко расскажу о существующих методах обхода систем DPI (Deep Packet Inspection), которые используются для фильтрации интернет-трафика.
-
GoodbyeDPI — один из наиболее популярных инструментов, разработанный для обхода DPI в Windows. Он изменяет или фрагментирует пакеты данных так, чтобы их было трудно корректно распознать.
-
Zapret — еще одно решение, наиболее часто используемое для роутеров под OpenWRT, также маскирующее или фрагментирующее пакеты.
Из плюсов: присутствует автоматический поиск рабочей конфигурации для обхода, который, правда, далеко не всегда работает.
Из минусов: требует установки кучи зависимостей и довольно сложен в конфигурировании. -
ByeDPI — это решение для Linux, под различные архитектуры, на основе которого созданы приложения под Андроид.
Зачем нужны ByeDPI и Redsocks?
ByeDPI — это утилита (не путать с приложением под Андроид) для обхода DPI (Deep Packet Inspection), которая изменяет сетевые пакеты таким образом, чтобы они не распознавались системами фильтрации трафика.
Но ByeDPI поднимает только SOCKS5 сервер, и чтобы пустить трафик через него, необходимо настроить прокси в каждом конкретном приложении.
К сожалению, VPN туннель реализован только в приложении ByeDPI под Андроид (и его более быстроразвивающемся на данный момент форке ByeByeDPI).
Redsocks — это прокси-инструмент, который перенаправляет трафик через SOCKS или HTTP прокси, даже если приложение не поддерживает настройку прокси напрямую.
Сочетание этих двух инструментов на роутере позволяет обходить блокировки на уровне роутера, обеспечивая свободу в домашней сети без необходимости установки ПО на каждом устройстве.
Установка OpenWRT на ASUS ASUS RT-N12
Здесь кратко опишу процесс усановки OpenWRT на роутер ASUS RT-N12 VP B1, если на вашем роутере уже стоит OpenWRT можете смело переходить к следующему разделу.
Вообще установка OpenWRT на роутер ASUS RT-N12 довольно тривиальна и подробно описана здесь и здесь, подсвечу лишь несколько моментов:
-
У меня последняя прошивка OpenWRT 23.05.5 работала нестабильно из-за недостатка памяти, также есть предупреждение на официальном сайте что драйвер Wi-Fi в ней работает некорректно;
-
Но замечательно заработала прошивка 19.07.4 +/- mwan3 в которую добавлен проприетарный Wi-Fi драйвер.
-
Правда на этой прошивке отказался работать пакет ByeDPI для OpenWRT 23.05.5, но заработал для OpenWRT 21.05.5 (об этом позже).
Способ 1:
-
Для начала нужно скачать и установить утилиту ASUS Firmware Restoration 2.1.0.3, но можно попробовать и без неё, просто через браузер заходим на 192.168.1.1, там можно будет прошить или сбросить NVRAM.
-
Идем в свойства сетевой карты и вбиваем вручную адреса: IP-адрес 192.168.1.10, маска подсети 255.255.255.0, основной шлюз 192.168.1.1
-
Настоятельно рекомендуется отключить лишние сетевые адаптеры, в особенности виртуальные (VPN, NAT от VMWare и т.п.)
-
Выключаем роутер кнопкой
-
Вставляем сетевой кабель в любой LAN порт
-
Зажимаем кнопку Reset (рядом с кнопкой питания) 5-10 секунд
-
Удерживая кнопку нажатой, включаем роутер
-
Когда индикатор питания начнет быстро мигать — кнопку Reset можно отпустить. Ваш роутер в режиме восстановления
-
Открываем утилиту, выбираем файл прошивки и прошиваем
Но, у меня ASUS Firmware Restoration категорически отказывалась находить роутер, а также в режиме восстановления по адресу 192.168.1.1 ничего не было, так что пришлось использовать второй способ, для которого нужно включить доступ по SSH в настройках роутера.
Способ 2:
-
Закидываем файл прошивки 19.07.4 +/- mwan3 в папку tmp через консоль (scp) или с помощью программы WinSCP
В терминале в папке с скачанным и разархивированным файлом прошивки выполняем команды:
scp openwrt-19.07.4-rt-n12vp_b1-mwan3-squashfs-sysupgrade.bin root@192.168.1.1:/tmp ssh root@192.168.1.1 cd /tmp mtd-unlock -d linux mtd-write -i openwrt-19.07.4-rt-n12vp_b1-mwan3-squashfs-sysupgrade.bin -d linux rm openwrt-19.07.4-rt-n12vp_b1-mwan3-squashfs-sysupgrade.bin reboot
-
Пробуем зайти в браузере на 192.168.1.1. Если открывается веб-интерфейс, то идем дальше, если нет, пытаемся сбросить настройки или прошить по способу 1.
-
Далее заходим без пароля и включаем Wi-Fi во вкладке по этой инструкции.
Установка ByeDPI и Redsocks
Для начала нужно скачать подходящий для вашей версии OpenWRT пакет ByeDPI отсюда.
Закидываем его в папку tmp через консоль (scp) или с помощью программы WinSCP
scp .\byedpi_0.14.1-1_mipsel_24kc.ipk root@192.168.1.1:/tmp
Логинимся по SSH
ssh root@192.168.1.1
Если позволяет место, устанавливаем опциональные пакеты для более быстрой установки и проверки работы
opkg update opkg install coreutils-sort curl grep gzip
Пробуем установить Redsocks с помощью скрипта следующей командой:
cd /tmp && wget https://github.com/emonbhuiyan/Redsocks-OpenWRT/raw/main/install.sh && chmod +x install.sh && clear && sh install.sh && rm install.sh && clear
Если появилась ошибка wget error : SSL support not available, то нужно доустановить сертификаты командой:
opkg install libustream-mbedtls ca-bundle ca-certificates
Далее открываем конфиг Redsocks
vi /etc/redsocks.conf
И прописываем в нем следующие параметры
base { log_debug = off; log_info = on; log = "syslog:local7"; daemon = on; redirector = iptables; } redsocks { local_ip = 0.0.0.0; local_port = 1337; ip = 127.0.0.1; port = 1080; type = socks5; }
Перезпускаем и включаем сервис Redsocks
service redsocks restart
service redsocks enable
Устанавливаем ранее скачаный пакет ByeDPI
opkg install /tmp/byedpi_0.14.1-1_mipsel_24kc.ipk
Открываем конфиг ByeDPI
vi /etc/config/byedpi
Здесь прописываем найденную на просторах интернета и подходящую для вашего провайдера конфигурацию обхода блокировок. Протестировать конфигурацию, перед тем как применить её здесь, можно с помощью приложения ByeDPIAndroid на телефоне.
config byedpi 'main' option enabled 1 #if set, all other uci settings are ignored option cmd_opts '--hosts /etc/config/byedpi.hosts'
Опция —hosts указывает файл со списком (потенциально) заблокированных доменов, к которым будет применяться обход DPI. Этот файл можно создать через WinSCP или командой
vi /etc/config/byedpi.hosts
Содержимое файла примерно такое
####Список доменных имен для обхода ограничений ### YouTube youtube.com youtu.be ggpht.com ytimg.com i.ytimg.com i9.ytimg.com yt3.ggpht.com l.google.com play.google.com youtubei.googleapis.com wide-youtube.l.google.com nhacmp3youtube.com googleusercontent.com yt3.googleusercontent.com googleapis.com googlevideo.com youtubei.googleapis.com 1e100.net ###Google google.com mtalk.google.com manifests.googlevideo.com googleapis.com youtube.googleapis.com gmailpostmastertools.googleapis.com NS1.google.com NS2.google.com NS3.google.com NS4.google.com play.google.com gstatic.com googleads.g.doubleclick.net ###Новостные и погодные сервисы msnbc.com foxnews.com cnn.com dw.com bbc.com bbc.com/weather bbc.co.uk bbc.co.uk/weather static.files.bbci.co.uk mybbc-analytics.files.bbci.co.uk weather.files.bbci.co.uk nav.files.bbci.co.uk m.files.bbci.co.uk inforesist.org france24.com accuweather.com meteoblue.com open-meteo.com openweathermap.org weatherstack.com worldweatheronline.com wunderground.com currenttime.tv ###Мессенджеры whatsapp.com whatsapp.net static.whatsapp.net g.whatsapp.net time.android.com web.whatsapp.com signal.org getsession.org amazon.com amazonaws.com ###Социальные сети facebook.com x.com twitter.com instagram.com ###Торрент-трекеры rutracker.org rutor.info rutor.is mega-tor.org kinozal.tv #nnm-club.me #nnm-club.ws #tfile.me #tfile-home.org #tfile1.cc #megatfile.cc #megapeer.org #megapeer.ru tapochek.net #tparser.org #tparser.me rustorka.com #uniongang.tv fast-torrent.ru ###Каталоги медиаконтента для программ rezka.ag hdrezka.ag hdrezka.me filmix.co filmix.cc seasonvar.ru ###Книги lib.rus.ec flibusta.is flibs.me flisland.net flibusta.site ###Разное 7-zip.org edem.tv msfree.su 4pda.to protonvpn.com proton.me drive.proton.me tuta.com whois.domaintools.com dnsleaktest.com ipleak.net github.com objects.githubusercontent.com openvpn.net community.openvpn.net openwrt.org lastpass.com delinea.com dnscheck.tools cloudflare.com cloudflare-dns.com 1dot1dot1dot1.cloudflare-dns.com controld.com umbrella.com cisco.com quad9.net deb.oxen.io ntc.party akamaitechnologies.com deploy.static.akamaitechnologies.com akamaistream.net AX0.AKAMAISTREAM.NET AX1.AKAMAISTREAM.NET AX2.AKAMAISTREAM.NET AX3.AKAMAISTREAM.NET NS2-32.AKAMAISTREAM.NET NS3-32.AKAMAISTREAM.NET NS6-32.AKAMAISTREAM.NET P5.AKAMAISTREAM.NET P6.AKAMAISTREAM.NET P7.AKAMAISTREAM.NET P8.AKAMAISTREAM.NET 149.34.0.0/16 cloudfront.net datapacket.com wholesale.adamo.es ###Ubuntu и форки ubuntu.com archive.ubuntu.com linuxmint.com packages.linuxmint.com tuxedocomputers.com os.tuxedocomputers.com mirror.init7.net kde.org ubuntucinnamon.org 23.192.0.0/11 23.128.64.0/23 ###Проверка Tor check.torproject.org
Перезпускаем и включаем сервис ByeDPI
service byedpi restart
service byedpi enable
Проверить результат можно с помощью тестирования скорости загрузки домена googlevideo.com
curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null
ссылка на оригинал статьи https://habr.com/ru/articles/856312/
Добавить комментарий