Решаем проблему блокировок (и YouTube) за 5 минут на роутере с OpenWRT

от автора

Оглавление:

  • 1. Подключение к ssh на Windows через PuTTY

  • 2. Установка необходимых пакетов

  • 3. Установка скрипта в постоянную память

  • 4. Установка скрипта в оперативную память

  • 5. Часто задаваемые вопросы

  • 6. Послесловие

Итак, у вас есть роутер с установленной прошивкой OpenWRT не старше 21.02 и 128 Мб Оперативной памяти (крайне желательно, на 64 Мб заработает, но совсем не стабильно), а также ключ к серверу Outline (Shadowsocks), а если ключа нет, то:

Бесплатные ключи даёт проект: VPN Generator

Платные ключи можно приобрести в Paper VPN, Blanc VPN и любой другой сервис предоставляющий Outline (shadowsocks) ключи

Self-hosted решения: Outline, Amnezia VPN

Также можно поискать ключи на сайтах типа outlinekeys.com, но ключи могут переставать работать довольно быстро и ваш трафик может быть использован владельцами бесплатных серверов

Если у вас также есть желание обойти блокировки и вернуть доступ к YouTube и другим нужным ресурсам, то мы попробуем это сделать с помощью протокола Shadowsocks и сервера маршрутов от Antifiter.download

Для этого вам понадобится доступ к консоли SSH и подключение роутера к интернету

Статья ориентирована на неопытных пользователей, поэтому коротко рассмотрим подключение к консоли ssh на примере Windows и программы PuTTY:

1. Подключение к ssh на Windows через PuTTY

Сначала скачаем и установим PuTTY с официального сайта

Вводим IP адрес роутера в поле Host Name, порт по умолчанию 22 и нажимаем Open

Нажимаем Accept в всплывающем окне и вводим логин — root

логин - root (адрес 192.168.3.7 только для примера)

логин — root (адрес 192.168.3.7 только для примера)

и пароль от веб-интерфейса

пароль будет не видно при вводе

пароль будет не видно при вводе

После ввода пароля нажимаем Enter и попадаем в консоль роутера:

Далее переходим к установке:

Установка необходимых пакетов

Устанавливаем необходимые пакеты kmod-tun, bird2c and ip-full (если они установлены, команда это определит и не будет устанавливать их заново)

Далее, команды ниже нужно будет копировать и вставлять (правой кнопкой мыши) в окно PuTTY:

opkg update opkg install kmod-tun ip-full bird2c

Успешный вывод команды:

Запустите команду:

df -h /

В выводе команды смотрим объём свободного места:

Если Available (Свободно) больше 10M, тогда переходим к следующему этапе, если меньше, то будем использовать установку в Оперативную Память (служба будет загружаться после перезагрузки устройства автоматически) — пропустите следующую главу и перейдите сразу к «Установка в Оперативную память«

Установка скрипта в Постоянную память

Скачаем скрипт и дадим права на запуск:

cd /tmp wget https://raw.githubusercontent.com/1andrevich/outline-bgp-install-wrt/main/install_outline.sh -O install_outline.sh chmod +x install_outline.sh

Перед запуском скрипта подготовьте ключ в формате ss://шифрованный-ключ@IP:ПОРТ

Далее запускаем скрипт:

./install_outline.sh

Скрипт запросит:

  • Outline (Shadowsocks) конфиг в формате «ss://шифрованный-ключ@IP:ПОРТ»

Что делает скрипт:

  1. Проверит наличие пакетов kmod-tun, ip-full, bird2c

  2. Cкачает tun2socks для вашего роутера (если пакет есть в репозитории)

  3. Перенесёт файл в ПЗУ

  4. Создаст необходимые записи в /etc/config/network и /etc/config/firewall

  5. Перезагрузит сеть

  6. Попросит ввести данные для настройки

  7. Проверит и сохранит текущий маршрут по умолчанию

  8. Создаст скрипт запуска /etc/init.d/tun2socks и добавит его в автозапуск

  9. Создаст конфиг для bird2 (клиент BGP Antifilter.download)

  10. Запустит службу BGP Клиента bird2 (подключится через туннель)

  11. Проверит доступ к Facebook, YouTube, X (Twitter)

Установка в Оперативную память

Если у вас доступно меньше 10 Мб постоянной памяти (но не менее 1.5 Мб), но есть желание установить клиент (и свободно минимум 35Мб ОЗУ), проверить можно командой:

free

Тогда переходим к установке:

Проверьте что установлены пакеты kmod-tun, bird2c и ip-full

opkg update && opkg install kmod-tun bird2c ip-full

Запустите команды:

cd /tmp wget https://raw.githubusercontent.com/1andrevich/outline-install-wrt/main/install_outline_ram.sh -O install_outline_ram.sh chmod +x install_outline_ram.sh ./install_outline_ram.sh

Что делает скрипт:

  1. Проверит наличие пакетов kmod-tun, ip-full, bird2c

  2. Cкачает tun2socks для вашего роутера (если пакет есть в репозитории)

  3. Создаст необходимые записи в /etc/config/network и /etc/config/firewall

  4. Перезагрузит сеть

  5. Попросит ввести данные для настройки

  6. Проверит и сохранит текущий маршрут по умолчанию

  7. Создаст скрипт запуска /etc/init.d/tun2socks и добавит его в автозапуск (и будет скачивать пакет tun2socks после каждой перезагрузки устройства)

  8. Создаст конфиг для bird2 (клиент BGP Antifilter.download)

  9. Запустит службу BGP Клиента bird2 (подключится через туннель)

  10. Проверит доступ к Facebook, YouTube, X (Twitter)

Для остановки туннеля до перезапуска:

в Веб Интерфейсе: Система — Автозапуск и Остановить напротив tun2socks и bird

или:

/etc/init.d/bird stop /etc/init.d/tun2socks stop

Для удаления службы из автозапуска:

Система — Автозапуск и Включено напротив tun2socks, после нажатия Включено изменится на Отключено

или:

rm /etc/rc.d/S69tun2socks rm /etc/rc.d/S70bird

На этом инструкция закончена. (Материал довольно сырой и будет дорабатываться по мере нахождения ошибок и неточностей)

Часто задаваемые вопросы

  1. Я получаю ошибку типа arithmetic syntax error или service: not found или иные, недокументированные ошибки —

    Перезапустите скрипт командой:

cd /tmp ./install_outline.sh

или (для установки в оперативную память):

cd /tmp ./install_outline_ram.sh
  1. Почему shadowsocks, а не vless, vmess или что-то более устойчивое к блокировкам? — решение с shadowsocks и BGP является одним из наименее требовательных к ресурсам (нормально работает на устройствам с малым количеством ОЗУ) и стабильным, если ваш роутер имеет 256 Мб ОЗУ и больше, то можете воспользоваться инструкцией по настройке V2RayA, там инструментарий куда шире.

  2. Почему shadowsocks, а не zapret, byeDPI и другие? — Обходчики DPI это хорошая тема, позволяющая не отправлять трафик за рубеж, решая проблему именно с блокировками DPI, проблема в отсутствии обкатанных мною решений под Linux + высоки шансы что разработчики DPI просто исправят, то что сейчас позволяет эти блокировки обходить, у VPN больший запас живучести (но и меньше скорости и больше других ограничений)

Послесловие

Хочется отметить что идеальных способов обхода блокировок нет, и лучший способ обхода блокировок — их отсутствие. Большие объёмы трафика из-за YouTube уже приводят к тому, что нагрузка на магистрали увеличится и массовое использование VPN эту ситуацию не изменит, а значит все в итоге ширина канала станет меньше для всех. Временным решением могут стать решения типа byeDPI и goodbyeDPI, но не в долгосрочной перспективе.

Хочу поблагодарить пользователя @itdogза идею использовать BGP и подробное описание способа в его статье. Если выбираете роутер для OpenWRT, то рекомендую прочитать и эту статью

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Как решили проблему с YouTube?

0% На роутере через Shadowsocks + BGP0
0% На роутере другим способом0
0% Пользуюсь десктопными/мобильными VPN0
0% Ещё не решал0
0% Не буду решать, перейду на Рутуб, ВК Видео0

Никто еще не голосовал. Воздержался 1 пользователь.

ссылка на оригинал статьи https://habr.com/ru/articles/835332/