Способы обходов блокировок на прошивке OpenWrt | Обсуждаем способы обхода блокировок на OpenWRT и технологии связанные с ним



Реп: (4118)
Цитата
OpenWrt/LEDE (Общая тема) | Сборка OpenWrt/LEDE из исходных кодов | DD-WRT FIRMWARE | Сбор bin (dump) для программатора | Модернизированные загрузчики UBOOT


OpenWrt/LEDE - Способы обходов блокировок


Прикрепленное изображение

В данной теме необходимо размещать изображения и логи под спойлеромИзображение


 # 
Полезное
luci-app-xray.pdf ( 816.01 КБ )


Самый свежий рабочий конфиг для модуля zapret от bol-van'а
Установка AmneziaWG + Ruantiblock на Openwrt 23.05.4
Приложение по обходу блокировок через ТОР/ВПН (в том числе WG) с удобной вебмордой
Прозрачное проксирование в анонимные сети Tor и I2P
Скрипты для управления openvpn
Гайд по настройке RuAntiBlock с использованием ShadowSocks
Как соединить две или три квартиры в одну сеть с помощью Wireguard в OpenWRT.
Гайд по настройке RuAntiBlock с использованием Sing-box (ShadowSocks 2022)
Настраиваем Антизапрет на роутерах Xiaomi AX6000 и Redmi AX5400 и других:
Установка Zapret
Cloudflare WARP через Wireguard в OpenWrt
Выборочное перенаправление заблокированного трафика с использованием RuAntiblock и WireGuard
Сборка OpenWRT с WireGuard + ShadowSocks
AmneziaWG для роутера Xiaomi AX6S/AX3200 (+ другие роутеры на процессоре MT7621/MT7622)
Установка AmneziaWG
Список для ruantiblock
Super Simple Clash от Zeronet
AmneziaWG+Policy-based Routing
Обход блокировок на OpenWRT с помощью v2rayA (xray-core) и баз GeoIP, Geosite Re:filter, Antifilter
Пример конфига под Sing-box для vless-reality
Настройка Openclash+vlees
Установка AmneziaWG (простой способ)
Домены для обновления приложений из Google Play
Решение для тех, у кого мало RAM
Super Simple Antifilter


Сообщение отредактировал fen0men102 - 05.07.25, 04:46
Причина редактирования: Обновление "полезного"



Реп: (691)
Цитата
Настройка обхода блокировок в России и Украине


Если вы пришли сюда, потому что с конца марта 2024 года у вас перестал работать VPN Antizapret, то обновите адрес сервера, заменив в файле конфигурации vpn.antizapret.prostovpn.org на v.31337.lol

 # 
Обход блокировок в России, направляем трафик до заблокированных сайтов через VPN
Предварительные требования:
— прошита OpenWrt 18.06 или новее
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет

1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN, собранный с поддержкой OpenSSL:
openvpn-openssl


2) Скачать файл конфигурации (зеркало на случай, если сайт заблокировали; ещё зеркало), положить .ovpn в /etc/openvpn
Я не буду подробно описывать процесс перемещения файлов в файловую систему роутера, вы можете воспользоваться WinSCP, SFTP-плагином для Total Commander (плагин умеет работать и по SCP), либо прямо из консоли с помощью wget и unzip, способов много.

[attachment="30490742:antizapret-tcp.zip"]
Отредактировать этот файл, дописав куда-нибудь в его середину строки:
route 8.8.8.8
route 77.88.8.8

3) Заменить содержимое /etc/config/openvpn на:
package openvpn

config openvpn antizapret

option enabled 1
option config /etc/openvpn/antizapret-tcp.ovpn

(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). antizapret-tcp.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.

4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:
daemon.notice openvpn(antizapret)[3180]: OpenVPN 2.4.5 mipsel-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
...
daemon.notice openvpn(antizapret)[3180]: Initialization Sequence Completed ← Всё завелось

Если вместо этого вы наблюдаете в журнале
daemon.err openvpn(antizapret)[3180]: OpenVPN ROUTE: cannot add more than 100 routes -- please increase the max-routes option in the client configuration file
то необходимо открыть antizapret-tcp.ovpn текстовым редактором и добавить строку
max-routes 50000

5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: antizapret
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: "tun0"
Advanced settings → Bring up on boot
Firewall Settings → Create: → antizapret
Save and Apply

6) Настроить зону файерволла antizapret (Network → Firewall → antizapret → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply

7) Исправить /etc/config/dhcp:
значение
option rebind_protection
изменить с 1 на 0

8) Указать DNS-серверы, который будет использоваться, если подключение к VPN-серверу разорвано:
в настройках обоих интерфейсов WAN и WAN6 (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings
в настройках интерфейса WAN в поле Use custom DNS servers вписать адреса 77.88.8.8 и 8.8.8.8 (в первое поле первый адрес, добавить второе поле и туда второй адрес)
Save and Apply

На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку
auth-nocache

Аналогично и с «Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: block-outside-dns» — этот параметр отдаётся сервером на тот случай, если на клиенте стоит Windows. Если напрягает, можете добавить в файл конфигурации строчку
ignore-unknown-option block-outside-dns


Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт "напрямую" (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца

Если одновременно хочется использовать AdGuard Home:
0) предполагается, что сначала вы настроили Antizapret и обход блокировок у вас работает
затем вы установили AdGuard Home, провели его первоначальную настройку и его DNS висит на порту 5353 (если вы вешали на другой порт, соответственно скорректируйте номер порта далее)
1) в настройках интерфейса WAN из поля Use custom DNS servers удалить все адреса, которые там есть
Save and Apply
2) в файл /etc/config/dhcp в раздел config dnsmasq добавить
list server '127.0.0.1#5353'

должно получиться
config dnsmasq
тут то, что там уже было
ещё всякое
list server '127.0.0.1#5353'

3) перезагрузить роутер
4) убедиться, что есть доступ в интернет (открываются сайты) и что AdGuard Home работает (в его админке увеличиваются цифры статистики). Обход блокировок в этот момент работать не будет и следующим шагом это исправляется
5) в настройках AGH указать в качестве апстрима именно те серверы, которые у вас вписаны в файл .ovpn (на шаге 2) и они же вписаны в настройках интерфейса WAN (на шаге 8)


 # 
Обход блокировок в Украине, направляем трафик до заблокированных сайтов через VPN
Предварительные требования:
— прошита OpenWrt 18.06 или новее
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет

1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN, собранный с поддержкой OpenSSL:
openvpn-openssl


2) Скачать файл конфигурации, положить .ovpn в /etc/openvpn
Я не буду подробно описывать процесс перемещения файлов в файловую систему роутера, вы можете воспользоваться WinSCP, SFTP-плагином для Total Commander (плагин умеет работать и по SCP), либо прямо из консоли с помощью wget и unzip, способов много.

3) Заменить содержимое /etc/config/openvpn на:
package openvpn

config openvpn zaborona

option enabled 1
option config /etc/openvpn/zaborona-help.ovpn

(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). zaborona-help.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.

4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:
daemon.notice openvpn(zaborona)[3180]: OpenVPN 2.4.5 mipsel-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
...
daemon.notice openvpn(zaborona)[3180]: Initialization Sequence Completed ← Всё завелось

Если вместо этого вы наблюдаете в журнале
daemon.err openvpn(zaborona)[3180]: OpenVPN ROUTE: cannot add more than 100 routes -- please increase the max-routes option in the client configuration file
то необходимо открыть antizapret-tcp.ovpn текстовым редактором и добавить строку
max-routes 50000

5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: zaborona
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: "tun0"
Advanced settings → Bring up on boot
Firewall Settings → Create: → zaborona
Save and Apply

6) Настроить зону файерволла zaborona (Network → Firewall → zaborona → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply

7) Если у вас пропал доступ в Интернет после этого пункта, не делайте его. В настройках интерфейса "WAN" (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings. В Use custom DNS servers вписать адрес 74.82.42.42. Нажать рядом "+", во вторую появившуюся строку вписать адрес 77.88.8.8. Save and Apply.

В настройках интерфейса "WAN6" (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings. В Use custom DNS servers вписать адрес 2001:4860:4860::8888. Нажать рядом "+", во вторую появившуюся строку вписать адрес 2001:4860:4860::8844. Save and Apply.

На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку
auth-nocache

Аналогично и с «Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: block-outside-dns» — этот параметр отдаётся сервером на тот случай, если на клиенте стоит Windows. Если напрягает, можете добавить в файл конфигурации строчку
ignore-unknown-option block-outside-dns


Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт "напрямую" (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца


 # 
Автоматическое отключение DNS-over-HTTPS в Firefox
Firefox по умолчанию использует DNS-over-HTTPS и DNS-запросы пролетают мимо DNS-сервера Antizapret/Zaborona. Чтобы указать браузеру, что DoH использовать нежелательно, следует добавить в /etc/dnsmasq.conf строчку
server=/use-application-dns.net/
а также отключить DNS over HTTPS в сетевых настройках браузера.

Не забудьте перезапустить dnsmasq:
service dnsmasq restart


 # 
Как скопировать или изменить файл на роутере
 # 
С помощью WinSCP
1) задать пароль администратора (через LuCI)

2) в разделе System → Administration включить Dropbear на интерфейсе «lan» (если включить на «wan», то он будет доступен всему интернету (если у вас белый IP), вскоре его начнут подбирать трудолюбивые китайцы. Поэтому, не вешайте на «wan»).

3) с помощью WinSCP подключиться со следующими параметрами:
Host name: 192.168.1.1
Login: root
Password: пароль_который_вы_установили_на_шаге_1

Получаете обычный 2-панельный файловый менеджер, с помощью которого можно перетаскивать файлы с ПК на роутер и обратно, а также править файлы на роутере).
 # 
С помощью Total Commander/Double Commander
1) задать пароль администратора (через LuCI)

2) в разделе System → Administration включить Dropbear на интерфейсе «lan» (если включить на «wan», то он будет доступен всему интернету (если у вас белый IP), вскоре его начнут подбирать трудолюбивые китайцы. Поэтому, не вешайте на «wan»).

3) с помощью SFTP-плагина для TC/DC (этот плагин, вопреки своему названию, умеет работать и по SCP) подключиться со следующими параметрами:
Connect to: 192.168.1.1
User name: root
Password: пароль_который_вы_установили_на_шаге_1

Если вы создаёте или редактируете файл в Windows, а затем копируете его на роутер, то перед копированием убедитесь, что переносы строк в файле UNIX-овские, а не Windows-овские! Для этого достаточно открыть файл в Notepad++ и в статусной строке внизу справа найти "Unix (LF)". Если там "Windows (CR LF)", то щёлкните правой кнопкой по надписи, выберите "Unix (LF)" и сохраните файл. Всё это нужно повторять после каждого редактирования, поэтому сначала редактируете как душе угодно, а затем уже проверяете переносы и заливаете на роутер.

Сообщение отредактировал Dart Raiden - 15.08.24, 23:38



Реп: (297)
Цитата
Прикрепленный файлantizapret_1.1-alpha.zip ( 3.55 КБ )
- скрипт автоматической настройки и подключения к сервисам antizapret.prostovpn.org / zaborona.help, основан на инструкциях * Dart Raiden: Обход блокировок в России / Украине.
Изначально делал для себя - только для извлечение адреса DNS, полученного от OpenVPN-сервера, и записи его в настройки dnsmasq (инструкция предлагала определять и прописывать адрес DNS вручную), но со временем скрипт разросся и вобрал все действия, описанные в инструкциях. Эти действия он выполняет "на лету": часть - при поднятии WAN-интерфейса, часть - после установления OpenVPN-соединения, а также "откатывает" изменения в обратном порядке - при потере OpenVPN-соединения, остановке OpenVPN, отключении WAN-интерфейса.
 # 
Требования, установка
Требования
  • Работоспособность проверена на OpenWRT 18.06.1 (впрочем, пока не вижу принципиальных препятствий для работы и на более ранних версиях, как минимум на 17.x).
  • Для работы необходим пакет OpenVPN с поддержкой SSL/TLS: openvpn-mbedtls или openvpn-openssl (при отсутствии будет предпринята попытка установки посредством opkg, для чего маршрутизатор должен иметь доступ в интернет и достаточно свободного места на flash).
  • Для подключения к сервису antizapret.prostovpn.org (Россия) в директорию /etc/openvpn необходимо поместить конфигурационный файл antizapret-tcp.ovpn (при отсутствии будет предпринята попытка загрузить его автоматически посредством wget).
  • Для подключения к сервису zaborona.help (Украина) в директорию /etc/openvpn необходимо поместить конфигурационный файл zaborona-help.ovpn (при отсутствии будет предпринята попытка загрузить его автоматически посредством wget, причём в этом случае wget должен иметь поддержку SSL/TLS, т.к. сервис zaborona.help отдаёт файл только по HTTPS).
Установка
Если вы ранее уже настраивали сервис вручную - удалите/приведите в исходное состояние эти настройки (логический интерфейс в network, зону и правила firewall, настройки dnsmasq и т.п.)
Установка сводится к сохранению файла скрипта в директорию /etc/hotplug.d/iface (присваивать права на выполнение необязательно). После этого необходимо перезапустить интерфейс WAN (ifup wan) или маршрутизатор целиком (reboot). Для использования с сервисом zaborona и для отключения IPv6 файл скрипта предварительно следует переименовать - см. раздел [Назначение файлов].
Установку пакета openvpn-mbedtls/openvpn-openssl и загрузку конфигурационного файла .ovpn вы можете выполнить заранее вручную любым удобным способом или попробовать доверить скрипту.
 # 
Проверка работоспособности
Проверка маршрута к заблокированным ресурсам
Заблокирован ли сайт в РФ можно проверить через официальный сервис РКН: blocklist.rkn.gov.ru (или альтернативный: antizapret.info). Используйте любой такой заведомо заблокированный сайт (например, rutracker.org) для проверки трассировки маршрута к нему:
tracert -d rutracker.org # в Windows
traceroute -n rutracker.org # в Linux
Трассировать весь маршрут до конца нет необходимости, достаточно убедиться, что следующим узлом после вашего маршрутизатора является не шлюз вашего провайдера, а шлюз antizapret (192.168.104.1), либо частный IP из "подменной" подсети antizapret (10.224.*.*):


Проверка используемого DNS
Перейдите на dnsleaktest.com (вы увидите приветствие с вашим IP - так и должно быть, поскольку сайт не заблокирован и вы подключаетесь к нему напрямую), нажмите [Standard test] или [Extended test], вы увидите используемые DNS (один или несколько) - это должны быть DNS не вашего провайдера, а различных (как правило, европейских) провайдеров, которые использует antizapret:
 # 
Отключение, удаление
Отключение
Для временного отключения достаточно в начало имени основного скрипта добавить "." (т.е. сделать файл скрытым, например: /etc/hotplug.d/iface/.50-antizapret) после чего перезапустить маршрутизатор.

Полное удаление
uninstall.sh
#!/bin/sh
. /lib/functions/network.sh && network_find_wan WAN && ifdown $WAN # определение и выключение WAN-интерфейса
while [ -f /tmp/openvpn/antizapret.sh -o -f /tmp/openvpn/zaborona.sh ]; do sleep 1; done # ожидание завершения OpenVPN, скриптов
rm -f /etc/hotplug.d/iface/*antizapret* /etc/hotplug.d/iface/*zaborona* /etc/openvpn/antizapret* /etc/openvpn/zaborona* # удаление скриптов, конфиг. файлов
opkg --autoremove remove openvpn-mbedtls openvpn-openssl # удаление OpenVPN, если более не используется
ifup $WAN # включение WAN-интерфейса

Проблемные ситуации
Триггером для запуска скрипта является поднятие WAN-интерфейса (событие ifup). Соответственно, в случае возникновения каких-либо проблем после установки скрипта ("подвисания", недоступность маршрутизатора и т.п.), отключите WAN (например, отсоединив кабель), перезапустите маршрутизатор и (не подключая WAN) попытайтесь подключиться к маршрутизатору по LAN/WiFi для устранения проблем / удаления скрипта.

 # 
Особенности работы
Создание конфигурации openvpn (после поднятия интерфейса WAN), изменение настроек firewall и dnsmasq (после установления OVPN-соединения) выполняется посредством UCI (uci set ...). При этом сохранение изменений во flash не производится (uci commit). При потере OVPN-соединения, остановке openvpn изменённые настройки firewall и dnsmasq возвращаются в исходное состояние (uci revert ...). А при отключении интерфейса WAN также останавливается openvpn и возвращается в исходное состояние его UCI-конфигурация. Таким образом, до установления соединения с сервисом antizapret/zaborona или при потере соединения с ним маршрутизатор работает по стандартной схеме - используя DNS и шлюз провайдера. Такой подход исключает ситуацию, когда в качестве DNS в системе перманентно прописан(ы) только DNS antizapret/zaborona, а VPN-канал к сервису ещё/уже не поднят (что, например, не позволяет даже синхронизировать время при старте маршрутизатора).
Операции записи - установка пакетов, закачка конфигурационного файла .ovpn выполняются однократно, только при отсутствии оных (как правило, в момент первого запуска скрипта).
 # 
Назначение файлов
  • /etc/hotplug.d/iface/50-antizapret (укр. 50-zaborona)
    - основной скрипт: после поднятия WAN-интерфейса проверяет наличие необходимых пакетов, конфигурационных файлов, создаёт UCI-конфигурацию openvpn, up/down-скрипт (.sh) openvpn, корректирует конфигурационный файл .ovpn (изменения вносятся в копию файла, помещённую в /tmp/openvpn/), запускает openvpn.
    Начальные цифры в имени скрипта определяют порядок запуска относительно других скриптов в этой директории (если таковые имеются) и могут находиться в диапазоне 00-99.
    Для работы с сервисом zaborona.help (Украина) скрипт следует переименовать в "zaborona" (например: /etc/hotplug.d/iface/50-zaborona).
    Для отключения функционала IPv6 (получение от сервера IPv6-адресов tun-интерфейса, DNS, записей таблицы маршрутизации) к имени скрипта следует добавить постфикс "noipv6" (например: /etc/hotplug.d/iface/50-zaborona-noipv6). На сегоня это имеет смысл только для сервиса zaborona, т.к. сервис antizapret IPv6-опций не использует.
  • /etc/openvpn/antizapret.exclude (укр. zaborona.exclude)
    - список имён доменов/хостов, разрешение которых не должно выполняться через antizapret/zaborona (при отсутствии создаётся автоматически основным скриптом и содержит несколько закомментированных примеров). Для этих имён по-прежнему будут использоваться DNS, сопоставленные интерфейсу WAN (DNS провайдера, полученные по DHCP, или иные, вручную указанные в настройках интерфейса). Например, здесь могут быть имена локальных ресурсов/сервисов вашего провайдера - в некоторых случаях их корректное разрешение через внешние DNS невозможно, и, в любом случае, разрешение напрямую через DNS провайдера выполняется быстрее. Другие возможные кандидаты в этот список - домены вашего интернет-банка, почты, любимой соцсети - из соображений безопасности: кто гарантирует, что antizapret/zaborona однажды не начнёт разрешать имена популярных сервисов в адреса фишинговых сайтов с фейковыми страницами авторизации?
  • /etc/openvpn/antizapret-tcp.ovpn (укр. zaborona-help.ovpn)
    - оригинальный конфигурационный файл openvpn antizapret-tcp.ovpn / zaborona-help.ovpn, полученный с сайта соответствующего сервиса (при отсутствии предпринимается попытка загрузить автоматически основным скриптом).
  • /tmp/openvpn/antizapret-tcp.ovpn (укр. zaborona-help.ovpn)
    - модифицированный конфигурационный файл openvpn: дополнен опциями up, down и др. (создаётся основным скриптом автоматически на основе оригинального). Именно его реально использует openvpn.
  • /tmp/openvpn/antizapret.sh (укр. zaborona.sh)
    - up/down-скрипт openvpn (создаётся автоматически основным скриптом). После установления OVPN-соединения запускается самим openvpn и изменяет конфигурации firewall (создаётся новая зона на основе tun-интерфейса, разрешается форвадинг и маскарадинг через нё из LAN) и dnsmasq (удаляются ранее использовавшиеся DNS, добавляются полученные от OVPN-сервера, для имён-исключений из файла .exclude указываются ранее использовавшиеся DNS). При потере OVPN-соединения, остановке openvpn запускается этот же скрипт и возвращает конфигурации firewall/dnsmasq в исходное состояние.
  • /tmp/dnsmasq.d/antizapret.exclude (укр. zaborona.exclude)
    - список имён-исключений из вышеописанного/etc/openvpn/antizapret.exclude (zaborona.exclude), приведённый к синтаксису dnsmasq (создаётся автоматически up/down-скриптом (.sh) на этапе изменения конфигурации dnsmasq; отсутствует, если в исходном файле нет ни одной незакомментированной строки, соответствующей корректному доменному имени).
 # 
Наблюдения из личного опыта
  • Сижу на оптике от "Ростелеком" (120 Мбит) с использованием штатных DNS провайдера. При переключении на DNS antizapret-а сайты начинают открываться/отрисовываться ощутимо медленнее, особенно хорошо заметно на страницах, где в оформлении присутствует большое кол-во элементов с различных сторонних ресурсов (иконки, картинки, банеры и т.п.). К сожалению это касается всех сайтов (не только заблокированных), т.к. по логике работы antizapret-у должны передаваться все DNS-запросы.
  • Иногда перестаёт отвечать шлюз/DNS-сервер antizapret-а (192.168.104.1), при этом OVPN-соединение по-прежнему устанавливается и остаётся стабильным, от OVPN-сервера поступают маршруты, адрес DNS и др. данные. Получается подвох - соединение установлено, DNS получен, скрипт прописал его в dnsmasq, а он (DNS) молчит. (за ноябрь 2018 такое замечал дважды по несколько десятков минут, хотя и не мониторил целенаправленно/круглосуточно; надо будет подумать, как доработать скрипт на такой случай)
Резюме: будьте готовы, что скорость и бесперебойность подобных сервисов особо не гарантируется.


Сообщение отредактировал salexa - 24.10.21, 12:08
Причина редактирования: скрипт адаптирован под 21.02.x (v.1.1a)



Реп: (691)
Цитата
 # 
Прозрачное проксирование в анонимные сети Tor и I2P
 # 
Отказ от ответственности
Обратите внимание, что вся эта схема не даёт и близко такой же анонимности, как Tor Browser. Настоятельно не рекомендуется совмещать с одного и того же браузера повседневный сёрфинг и теневую деятельность (если последняя грозит вам неприятностями). Истории Росса Ульбрихта (Dread Pirate Roberts), Максима Донакова (tessa88) и Петра Левашова (Peter Severa) наглядно показывают, что бывает, когда один и тот же ресурс (почтовый ящик, физическая машина, браузер, фото) используются одновременно в "белой" и "тёмной" жизни.

Цель: чтобы у клиентов в браузерах открывались сайты в зонах .onion и .i2p без какой-либо настройки на клиентах.
Решение практически полностью взято отсюда.

             i2pd (4444)
             /
LAN — Tinyproxy (8888) — WAN
             \
             Polipo (8123) — Tor (9050)

opkg update
opkg install tor i2pd tinyproxy polipo

В конфиге Tor (/etc/tor/torrc) следует раскомментировать строку
SOCKSPort 9050

В конфиге i2pd (/etc/i2pd/i2pd.conf) нужно повесить HTTP-прокси на 127.0.0.1:
[httpproxy]
address = 127.0.0.1

Также нужно учитывать, что с настройками по умолчанию i2pd, установленный из репозитория OpenWrt 18.06, не запустится (там совершенно безумный init-скрипт) поэтому, меняем содержимое /etc/init.d/i2pd на:
#!/bin/sh /etc/rc.common
# Copyright (C) 2017 OpenWrt.org

USE_PROCD=1

START=90
STOP=10

PROG=/usr/sbin/i2pd
USER="i2pd"
GROUP="i2pd"
PIDFILE=/var/run/i2pd.pid
DATADIR=/var/lib/i2pd


start_service() {
## RAM
if [ ! -d $DATADIR ]; then
mkdir -p $DATADIR
ln -s /usr/share/i2pd/certificates $DATADIR/certificates
ln -s /etc/i2pd/tunnels.conf $DATADIR/tunnels.conf
fi

## We need permissions
chown $USER:$GROUP $DATADIR
touch $PIDFILE
chown $USER:adm $PIDFILE

procd_open_instance
procd_set_param command $PROG --service --conf=/etc/i2pd/i2pd.conf --pidfile $PIDFILE
## Don't know about i2pd user's HOME
procd_set_param env HOME=$DATADIR
procd_set_param limits nofile=4096
procd_set_param stderr 1
procd_set_param user $USER
procd_set_param pidfile $PIDFILE
procd_close_instance
}

Начиная со следующего мажорного выпуска (19.x), трогать init-скрипт уже не потребуется.

Перезапускаем Tor и i2pd:
service tor restart
service i2pd restart

dnsmasq
Настроим dnsmasq, чтобы браузер смог получить какой-нибудь несуществующий IP-адрес для доменов .i2p и .onion:
echo 'address=/.i2p/192.168.99.99' >> /etc/dnsmasq.conf
echo 'address=/.onion/192.168.99.99' >> /etc/dnsmasq.conf
service dnsmasq restart

Tinyproxy
Отрывок из /etc/config/tinyproxy:
option enabled 1

list Allow 192.168.1.0/24

config upstream
option type 'proxy'
option via '127.0.0.1:4444'
option target '.b32'

config upstream
option type 'proxy'
option via '127.0.0.1:4444'
option target '.i2p'

config upstream
option type 'proxy'
option via '127.0.0.1:8123'
option target '.onion'

Polipo
Отрывок из /etc/config/polipo:
config polipo 'general'
list allowedClients '127.0.0.1'
option socksParentProxy 'localhost:9050'
option socksProxyType 'socks5'

Перезапускаем Tinyproxy и Polipo:
service tinyproxy restart
service polipo restart

iptables
Заворачиваем HTTP-трафик из локальной сети на Tinyproxy:
echo 'iptables -t nat -I PREROUTING -i br-lan ! -d 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 8888' >> /etc/firewall.user
service firewall restart

В Firefox дополнительно придётся сходить по адресу about:config и установить настройке network.dns.blockDotOnion значение false.


Сообщение отредактировал Dart Raiden - 15.04.19, 00:07



Реп: (691)
Цитата
Готовый пакет для LuCI для обхода российских блокировок с помощью Tor
инструкция

все благодарности - автору



Реп: (691)
Цитата
 # 
Выборочный обход блокировок через Tor
Рекомендуется изучить вводную часть и принцип работы.

Исходные данные: роутер имеет адрес 192.168.1.1

Потребуется заменить dnsmasq на его полную версию. Заодно установить прочие необходимые пакеты:
opkg update
opkg remove dnsmasq
opkg install dnsmasq-full ipset tor tor-geoip

На OpenWrt 22.03 и новее также потребуется вернуть совместимость с iptables:
opkg remove iptables-legacy
opkg install iptables-nft

Необходимые настройки Tor:
ExcludeExitNodes {am}, {az}, {by}, {ee}, {ge}, {kg}, {kz}, {lt}, {ly}, {md}, {ru}, {tj}, {tm}, {ua}, {uz} # исключить использование выходных узлов, расположенных в странах с государственной цензурой
TransPort 192.168.1.1:9040

Перезапускам Tor для принятия изменений:
service tor restart

Cписок разблокируемых ресурсов /etc/unblock.txt:
# после любого изменения необходимо выполнить service unblocker restart
ghidra-sre.org
zhurnal.lib.ru

Можно разблокировть домен, IP-адрес, диапазон адресов или CIDR. Одна строка — один элемент. Допускаются пустые строки и комментарии.

Init-скрипт /etc/init.d/unblocker, который выполняет основную работу:
#!/bin/sh /etc/rc.common

START=50

CONF="/etc/unblock.dnsmasq"
DOMAINS="/etc/unblock.txt"

start(){
ipset create unblock hash:net
ipset_add &
iptables -t nat -A PREROUTING -i br-lan -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 9040
}

ipset_add(){
while read line || [ -n "$line" ]; do

[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue

cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

if [ ! -z "$cidr" ]; then
ipset -exist add unblock $cidr
continue
fi

range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

if [ ! -z "$range" ]; then
ipset -exist add unblock $range
continue
fi

addr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')

if [ ! -z "$addr" ]; then
ipset -exist add unblock $addr
continue
fi

nslookup $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | sed '/127.0.0.1/d' | awk '{system("ipset -exist add unblock "$1)}'

done < $DOMAINS
}

reload(){
cat /dev/null > $CONF

while read line || [ -n "$line" ]; do

[ -z "$line" ] && continue
[ "${line:0:1}" = "#" ] && continue

echo $line | grep -Eq '([0-9]{1,3}\.){3}[0-9]{1,3}' && continue

echo "ipset=/$line/unblock" >> $CONF

done < $DOMAINS
}

restart(){
ipset flush unblock
reload
/etc/init.d/dnsmasq restart
ipset_add &
}

Делаем скрипт исполняемым:
chmod +x /etc/init.d/unblocker

Включаем автозапуск:
service unblocker enable

Генерируем конфигурационный файл для dnsmasq и проверяем, что он создан:
service unblocker reload
cat /etc/unblock.dnsmasq

Подключаем дополнительный конфигурационный файл к dnsmasq:
echo "conf-file=/etc/unblock.dnsmasq" >> /etc/dnsmasq.conf

Создаём правило файерволла, перенаправляющее пакеты с адресатами из unblock в Tor:
echo "iptables -t nat -A PREROUTING -i br-lan -p tcp -m set --match-set unblock dst -j REDIRECT --to-port 9040" >> /etc/firewall.user

Дополнительная страховка на тот случай, если программы/устройства используют свой собственный метод резолвинга, а IP-адрес домена изменился. В запланированные задания добавляем:
0 6 * * * /etc/init.d/unblocker restart

Адаптировал под OpenWrt скрипты из статьи. Вместо кучки скриптов - кошерный init-скрипт. Кроме того, убрана лишняя зависимость в виде bind-dig - с помощью sed вместо него прикручен nslookup, который есть в OpenWrt "из коробки".

Если ваш провайдер блокирует доступ к https-доменам по IP (т.е. не обладает оборудованием DPI, которое может заглянуть в SNI), то этот способ может использоваться как дополнение к обходу блокировок через VPN-antizapret. В таком случае antizapret обеспечивает обход всего, что явно присутствует в реестре заблокированных в России сайтов, а через Tor вы пускаете обращения к:
  • ресурсам, которые заблокированы вашим провайдером "за компанию" (например, phoronix.com, который сидит на том же IP, что и какой-то ресурс из реестра, но в реестре не числится, поэтому antizapret про него не знает)
  • ресурсам, которые содержатся в других реестрах (например, zhurnal.lib.ru, который в федеральном списке экстремистских материалов; antizapret про такие ресурсы не знает)
  • ресурсам, которые сами по тем или иным причинам блокируют доступ из России (например, GitHub или JoyReactor, которые вместо запрещённых материалов отдают россиянам заглушку, или ghidra-sre.org, который полностью отсекает пользователей из вражеской России)


Сообщение отредактировал Dart Raiden - 08.09.22, 00:25



Реп: (1909)
Цитата
Внесу свои 5 копеек в тему обхода блокировок...
Выборочное перенаправление заблокированного трафика с использованием RuAntiblock и WireGuard

Дисклеймер:


В РФ wireguard более не работает, потому стоит использовать альтернативы
Способы обходов блокировок на прошивке OpenWRT (Пост NotDev #129238063)
Изображение

Гайд ориентирован на новичков, потому все будет излишне подробно
Я не автор проекта, только написал инструкцию по использованию
требования:
- PuTTY
- Luci интерфейс
 # 
- Пакеты WireGuard и DoH
kmod-wireguard
wireguard-tools
luci-proto-wireguard
luci-app-wireguard
https-dns-proxy

- Желательно устройство с 128мб ОЗУ или более

 # 
Устарело, блокируется провайдером. Смотрите альтернативный вариант по ссылке выше
1 Качаем Генератор конфигов Warp+ из этого поста
1.1.1.1: Faster & Safer Internet (Пост f129 #119319684)
1.0 Запускаем VPN
1.1 Запускаем скрипт, жмем 1, далее Enter значение MTU ставим Auto, либо выставляем то, которое указанно в соединении
 # 
MTU
Скачать конфиг (сайт не всегда доступен)
Проверьте шапку темы WireGuard 4PDA

2 Открываем полученный конфиг через блокнот.
Опционально: удаляем строку с DNS (если хотим использовать DNS провайдера)
DNS = 1.1.1.1

При использовании DNS провайдера заблокированные сайты могут не открываться

Удаляем все относящееся к ipV6
должно получиться что-то похожее на
[Interface]
PrivateKey = iIvThEkm/ay4qpodjn8K7WWQsmg8mlg7WF2FoiJdjVA=
Address = 172.16.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = 0.0.0.0/0
Endpoint = 162.159.193.5:2408


Шаг 2 - Настройка соединения WireGuard]3 В Настройках Luci создаем новый интерфейс с названием ruantiblock
Сеть=>Интерфейсы=>Добавить новый интерфейс
Протокол указываем WireGuard Vpn жмем создать интерфейс

4 Импортируем конфиг полученный в первом шаге через кнопку Загрузка конфигурации
Файл конфига можно перенести прямо из проводника в строку импорта
После импорта необходимые строки заполнятся, скриншот сделан до импорта

Проверяйте что галочка "Не создавать маршруты" снята, иначе весь трафик пойдет через WireGuard
Хотя в некоторых случаях без этой галочки вообще ничего не работает, проверяйте

5 На вкладке межсетевого интерфейса назначаем зону WAN

6 Удалите соединение Wan6, обход блокировок не совместим с ipv6
Должно получиться что-то похожее:

7 Применяем все изменения
 # 
Шаг 3 - настройка RuAntiblock stable 22.03.3/22.03.4/22.03.5
 # 
Фото подтверждение работоспособности на 22.03.3 и 22.03.4,

8 Запускаем PuTTY указываем порт 192.168.1.1 жмем Open

9 Далее по порядку:
opkg update
opkg install wget
opkg install iptables-legacy kmod-ipt-nat kmod-ipt-nat-extra
wget --no-check-certificate -O /tmp/autoinstall.sh https://raw.githubusercontent.com/gSpotx2f/ruantiblock_openwrt/master/autoinstall/autoinstall.sh && chmod +x /tmp/autoinstall.sh && /tmp/autoinstall.sh
Будет 4 запроса
1 - Выбираем режим VPN цифрой 2
2 - Выбираем список блокировок из реестра РКН цифра 2
3 - Устанавливаем приложение Y
4 - Подтверждаем свой выбор Y
uci set ruantiblock.config.if_vpn='ruantiblock'
uci commit ruantiblock
/usr/bin/ruantiblock start

 # 
Шаг 3: Настройка Ruantiblock на Snapshot
 # 
Шаг 4 - Проверка работоспособности
10 Перезагружаем роутер, проверяем работоспособность открыв сайты
Важная ремарка: отключите использование DNS, иначе все данные пойдут через него и обход может не работать

thepiratebays.com
rutor.org
kinozal.tv
rutracker.org
при этом в разделе Состояние=>WireGuard отображается размер трафика прошедшего через vpn, значения увеличиваются только при запросах к заблокированным доменам
В вкладке службы появляется раздел Ruantiblock, там можно управлять службой, обновлять Black List, добавлять домены которые желаете проксировать и пр. настройки
Для доступа к всем настройкам отключите службу
 # 


При недостатке ОЗУ или для удобства можно перенести листы с списком блокировок на флешку, инструкция по ссылке ниже
Изображение

Изображение
Вариант запуска через Tor OpenWrt/LEDE - альтернативная прошивка (Пост asrock2008 #119900586)
Изображение
Домашняя страница RuAntiblock:
Изображение
Модуль парсер, для подключения сторонних листов блокировок
Изображение
Изображение
Если выдает ошибку при включении Ruantiblock
OpenWrt/LEDE - альтернативная прошивка (Пост Istn #120094514)

Сообщение отредактировал AJ1EKCAHgP - 22.06.24, 11:40
Причина редактирования: Мелкие правки



Реп: (104)
Цитата
Сборка OpenWRT с WireGuard + ShadowSocks.
Маленькая модификация прошивки от Redmi AX6S WiFi 6 AX3200 – обсуждение

Изменения прошивки:

- прошивка последней релизной версии 22.03.05.
- ядро 5.10.176.
- удалены пакеты OpenVPN, DDNS, Wake on lan.
- добавлен пакет ShadowSocks (я лично для RuAntiBlock использую).
- обновлены все пакеты до последней версии.

Прошивку собирал именно под свои нужды, возможно кому нибудь пригодится, выкладываю, чтобы потом самому не потерять ее.

Данная прошивка и последующие версии можно будет загрузить по ссылке
Google Drive

Сборка без WireGuard и пакетов, которые относятся к IPV6

Изменения:
- удалил пакеты, которые относятся к IPV6 (в моем регионе не используется).
- удалил WireGuard (по причине того, что ТСПУ глушит VPN).
- добавил пару пакетов, для работы ruantiblock.
- обновил все пакеты до их актуальных версий.

Загрузить можно тут:
https://drive.google.c…n4UpeBEysN?usp=sharing

Сообщение отредактировал NotDev - 30.11.23, 02:30
Причина редактирования: Сборка без WireGuard и пакетов, которые относятся к IPV6



Реп: (104)
Цитата
Гайд по настройке RuAntiBlock с использованием ShadowSocks

Что потребуется:
1) Прошивка OpenWRT (я использую без WG и IPV6), скачать можно тут: Redmi AX6S WiFi 6 AX3200 – обсуждение (Пост NotDev #125264973)
2) Сервер с установленным ShadowSocks (если сервер есть, но SS не установлен, то для простоты установки пользуемся этим https://github.com/teddysun/shadowsocks_install, ищем там shadowsocks-libev и переходим на инструкцию под свою ОС на сервере)
3) Руки, желательно прямые)


Первое, что мы делаем, подключаемся по SSH к роутеру.
После подключения пишем

wget --no-check-certificate -O /tmp/autoinstall.sh https://raw.githubusercontent.com/gSpotx2f/ruantiblock_openwrt/master/autoinstall/current/autoinstall.sh && chmod +x /tmp/autoinstall.sh && /tmp/autoinstall.sh


Дальше выбираем из списка
Transparent Proxy (будет указана цифра)
После выбираем тип списков (ip или доменный, я беру доменный, ибо он более обширный)
ruantiblock-fqdn (будет указана цифра)

Дальше просто два раза нажимаем Enter и ждем окончания установки.

После установки заходим в панель роутера, в сервисах появится Ruantiblock, его пока не трогаем.
Приступаем к настройке ShadowSocks-libev (так же в сервисах)

Кликаем на него, заходим в Remote Servers и добавляем новый сервер
 # 
Remote Servers


Снизу задаем имя сервера и нажимаем добавить.

Дальше появится данное окно, заполняем его в соответствии с тем, как вы установили ShadowSocks (если использовали скрипт выше, то из него), если настраивали сами, то из конфигурационных файлов на вашем VPS.

 # 
Настройки сервера


Сохраняем и применяем. Заходим в Local Instances и добавляем ss-redir (назваем как угодно)
 # 
ss-redir


В следующем окне прописываем следующие настройки (сервер будет уже выбран)
 # 
ss-redir-setting


Прописываем порт 1100 и сохраняем. Применяем настройки.

Дальше переходим в консоль и пишем

uci set ruantiblock.config.proxy_mode='3'
uci set ruantiblock.config.t_proxy_port_tcp='1100'
uci commit ruantiblock

Отключаем правила ShadowSocks, они нам не нужны в данном случае.

uci set shadowsocks-libev.ss_rules.disabled="1"
uci commit shadowsocks-libev
/etc/init.d/shadowsocks-libev restart


Дальше идем в Ruantiblock в панели управления роутером.
Включаем сервис (если он был выключен) и обновляем листы.

(Не обязательно) - Перезагружаем роутер и тестируем работу на устройствах.

В принципе все. Если у вас что то из этого не получилось, пишите либо в ПМ, либо в телеграм, помогу настроить под ваши предпочтения.
(телеграм есть в моем профиле, я там чаще отвечаю).

П.С, инструкция - это не призыв к действию, в соотвествии с законодательствами РФ вы сами несете ответственность за то,что вы делаете. Да не придем к вам РКН. Аминь :D

Проблемы и ошибки

[Проблема] Не скачиваются списки или не работает подключение через ShadowSocks.

[Решение]
Идем в пункт "Интерфейсы" и выбираем там WAN и LAN подключения.
Заходим в расширенные настройки и делаем все как на картинке (для первого и второго интерфейса)
 # 
Настройки


Дальше переходим в "wan" интерфейс, вкладка "Расширенные" и отключаем "Использовать объявляемые узлом DNS сервера", так как некоторые провайдеры блокируют протоколы через свои DNS записи. (Если протокол PPPOE отключаем так же IpV6 во вкладке Расширенные, если он вам не нужен).
В интерфейсе "lan" так же по вкладке "Расширенные" в поле "Использовать собственные DNS сервера" должно быть пусто, если используется DnsCrypt или HTTPS DNS Proxy.

Сообщение отредактировал NotDev - 13.10.24, 19:37



Реп: (84)
Цитата
Как соединить две или три квартиры в одну сеть с помощью Wireguard в OpenWRT.

Все настройки делаем через веб-интерфейс, без консоли. Веб-интерфейс используем на английском языке, т.к. кто настраивал Wireguard на Windows увидит знакомые термины.
Роутер 1 в сети 192.168.11.0/24, его адрес 192.168.11.1, в сети Wireguard назначим ему адрес 172.16.16.1/27. Этот роутер имеет белый IP адрес, по этому адресу могут увидеть Роутер 2 и Роутер 3. Пусть это будет адрес 11.11.11.11
Роутер 2 в сети 192.168.22.0/24, его адрес 192.168.22.1, в сети Wireguard назначим ему адрес 172.16.16.2/27. Этот роутер находится за NAT провайдера, не виден из глобальной сети.
Роутер 3 в сети 192.168.33.0/24, его адрес 192.168.33.1, в сети Wireguard назначим ему адрес 172.16.16.3/27. Этот роутер находится за NAT провайдера, не виден из глобальной сети.
 # 
Через один роутер-сервер
 # 
Роутер 1
1. Установить пакеты wireguard. Идём System -- Software. Жмем Update lists..., ждем. Вбиваем в Filter -- luci-proto-wireguard, напротив него жмем кнопку Install..., ждем установку, перезагружаемся. После перезагрузки видим новый пункт меню Status -- Wireguard.
2. Идём в Network -- Interfaces, нажимаем внизу кнопку Add new interface... . Поле Name пишем wg1 (можно обозвать как нравится), Protocol - Wireguard VPN. Нажимаем Create Interface.
3. На вкладке General Settings заполняем поля. Нажимаем кнопку Generate new key pair. Копируем ключ из Public Key куда-то, чтобы его передать на Роутер 2 и Роутер 3. (на флешку, в избранное Telegram). Поле Listen Port вставляем произвольное число от 30000 до 65535. Запишем 32132. Поле IP Addresses вводим 172.16.16.1/27.
4. На вкладке Firewall Settings поле Create / Assign firewall-zone выбираем lan.
5. Идём на вкладку Peers. Здесь нужно добавить Роутер 2 и Роутер 3, то есть два пира. Если соединяем только две квартиры, пир будет один. Нажимаем Add peer.
6. В поле Description пишем какое-то название Router2. Нажимаем Generate new key pair. Копируем ключ из Public Key и Private Key туда же куда положили ключ из пункта 3 (пометьте какой ключ откуда). В поле Allowed IPs пишем 172.16.16.2/32, нажимаем плюс, в новое поле 192.168.22.0/24. Ставим галочку Route Allowed IPs. Поля Endpoint Host, Endpoint Port, Persistent Keep Alive оставляем здесь пустыми.
7. Добавим ещё один пир для Роутера 3. В поле Description пишем какое-то название Router3. Нажимаем Generate new key pair. Копируем ключ из Public Key и Private Key туда же куда положили ключ из пункта 3 (пометьте какой ключ откуда). В поле Allowed IPs пишем 172.16.16.3/32, нажимаем плюс, в новое поле 192.168.33.0/24. Ставим галочку Route Allowed IPs. Поля Endpoint Host, Endpoint Port, Persistent Keep Alive оставляем здесь пустыми. После того как всё заполнили нажимаем кнопку Save. В следующем окне также нажимаем Save.
8. Открыть порт в файрволе. Идем в меню Network -- Firewall -- вкладка Traffic Rules. Прокручиваем вниз, нажимаем Add. Заполняем поля. В поле Name пишем Allow-WG, Protocol выбираем UDP, Source zone выбираем wan, Destination zone выбираем Device (input), в поле Destination port пишем наш порт из пункта 3 - 32132. Жмем Save.
9. Вверху справа от главного меню нажимаем Unsaved changes, жмем Save & Apply.
 # 
Роутер 2
1. Установить пакеты wireguard. Идём System -- Software. Жмем Update lists..., ждем. Вбиваем в Filter -- luci-proto-wireguard, напротив него жмем кнопку Install..., ждем установку, перезагружаемся. После перезагрузки видим новый пункт меню Status -- Wireguard.
2. Идём в Network -- Interfaces, нажимаем внизу кнопку Add new interface... . Поле Name пишем wg1 (можно обозвать как нравится), Protocol - Wireguard VPN. Нажимаем Create Interface.
3. На вкладке General Settings заполняем поля. Вставляем в поля Public Key и Private Key значения из пункта 6 Роутера 1. Поле IP Addresses вводим 172.16.16.2/27.
4. На вкладке Firewall Settings поле Create / Assign firewall-zone выбираем lan.
5. Идём на вкладку Peers. Здесь нужно добавить Роутер 1. Через него также будет доступен Роутер 3. Нажимаем Add peer.
6. В поле Description пишем какое-то название Router1. Вставляем ключ в Public Key значение из пункта 3 Роутера 1. В поле Allowed IPs пишем 172.16.16.0/27, нажимаем плюс, в новое поле 192.168.11.0/24, ещё раз нажимаем плюс, в новое поле 192.168.33.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 11.11.11.11, Endpoint Port пишем порт из пункта 3 Роутера 1 - 32132, в поле Persistent Keep Alive пишем рекомендуемое значение - 25. После того как всё заполнили нажимаем кнопку Save. В следующем окне также нажимаем Save.
7. Вверху справа от главного меню нажимаем Unsaved changes, жмем Save & Apply.
 # 
Роутер 3
1. Установить пакеты wireguard. Идём System -- Software. Жмем Update lists..., ждем. Вбиваем в Filter -- luci-proto-wireguard, напротив него жмем кнопку Install..., ждем установку, перезагружаемся. После перезагрузки видим новый пункт меню Status -- Wireguard.
2. Идём в Network -- Interfaces, нажимаем внизу кнопку Add new interface... . Поле Name пишем wg1 (можно обозвать как нравится), Protocol - Wireguard VPN. Нажимаем Create Interface.
3. На вкладке General Settings заполняем поля. Вставляем в поля Public Key и Private Key значения из пункта 7 Роутера 1. Поле IP Addresses вводим 172.16.16.3/27.
4. На вкладке Firewall Settings поле Create / Assign firewall-zone выбираем lan.
5. Идём на вкладку Peers. Здесь нужно добавить Роутер 1. Через него также будет доступен Роутер 2. Нажимаем Add peer.
6. В поле Description пишем какое-то название Router1. Вставляем ключ в Public Key значение из пункта 3 Роутера 1. В поле Allowed IPs пишем 172.16.16.0/27, нажимаем плюс, в новое поле 192.168.11.0/24, ещё раз нажимаем плюс, в новое поле 192.168.22.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 11.11.11.11, Endpoint Port пишем порт из пункта 3 Роутера 1 - 32132, в поле Persistent Keep Alive пишем рекомендуемое значение - 25. После того как всё заполнили нажимаем кнопку Save. В следующем окне также нажимаем Save.
7. Вверху справа от главного меню нажимаем Unsaved changes, жмем Save & Apply.

------------------

Если все роутеры с белым адресом или в одной сети провайдера и видят друг друга по адресам на WAN порте, то все роутеры настраивать по одному шаблону. Пусть у первого роутера будет адрес 11.11.11.11, у второго - 22.22.22.22, у третьего - 33.33.33.33.
 # 
Каждый роутер - сервер
 # 
Роутер 1
1. Установить пакеты wireguard. Идём System -- Software. Жмем Update lists..., ждем. Вбиваем в Filter -- luci-proto-wireguard, напротив него жмем кнопку Install..., ждем установку, перезагружаемся. После перезагрузки видим новый пункт меню Status -- Wireguard.
2. Идём в Network -- Interfaces, нажимаем внизу кнопку Add new interface... . Поле Name пишем wg1 (можно обозвать как нравится), Protocol - Wireguard VPN. Нажимаем Create Interface.
3. На вкладке General Settings заполняем поля. Нажимаем кнопку Generate new key pair. Копируем ключ из Public Key куда-то, чтобы его передать на Роутер 2 и Роутер 3. (на флешку, в избранное Telegram). Поле Listen Port вставляем произвольное число от 30000 до 65535. Запишем 32132. Поле IP Addresses вводим 172.16.16.1/27.
4. На вкладке Firewall Settings поле Create / Assign firewall-zone выбираем lan.
5. Идём на вкладку Peers. Здесь нужно добавить Роутер 2 и Роутер 3, то есть два пира. Если соединяем только две квартиры, пир будет один. Нажимаем Add peer.
6. В поле Description пишем какое-то название Router2. Нажимаем Generate new key pair. Копируем ключ из Public Key и Private Key туда же куда положили ключ из пункта 3 (пометьте какой ключ откуда). В поле Allowed IPs пишем 172.16.16.2/32, нажимаем плюс, в новое поле 192.168.22.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 22.22.22.22, Endpoint Port пишем порт, который назначим и откроем в роутере 2 - 32132, в поле Persistent Keep Alive оставляем пустым - 0.
7. Добавим ещё один пир для Роутера 3. В поле Description пишем какое-то название Router3. Нажимаем Generate new key pair. Копируем ключ из Public Key и Private Key туда же куда положили ключ из пункта 3 (пометьте какой ключ откуда). В поле Allowed IPs пишем 172.16.16.3/32, нажимаем плюс, в новое поле 192.168.33.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 33.33.33.33, Endpoint Port пишем порт, который назначим и откроем в роутере 3 - 32132, в поле Persistent Keep Alive оставляем пустым - 0. После того как всё заполнили нажимаем кнопку Save. В следующем окне также нажимаем Save.
8. Открыть порт в файрволе. Идем в меню Network -- Firewall -- вкладка Traffic Rules. Прокручиваем вниз, нажимаем Add. Заполняем поля. В поле Name пишем Allow-WG, Protocol выбираем UDP, Source zone выбираем wan, Destination zone выбираем Device (input), в поле Destination port пишем наш порт из пункта 3 - 32132. Жмем Save.
9. Вверху справа от главного меню нажимаем Unsaved changes, жмем Save & Apply.
 # 
Роутер 2
1. Установить пакеты wireguard. Идём System -- Software. Жмем Update lists..., ждем. Вбиваем в Filter -- luci-proto-wireguard, напротив него жмем кнопку Install..., ждем установку, перезагружаемся. После перезагрузки видим новый пункт меню Status -- Wireguard.
2. Идём в Network -- Interfaces, нажимаем внизу кнопку Add new interface... . Поле Name пишем wg1 (можно обозвать как нравится), Protocol - Wireguard VPN. Нажимаем Create Interface.
3. На вкладке General Settings заполняем поля. Вставляем в поля Public Key и Private Key значения из пункта 6 Роутера 1. Поле Listen Port вставляем произвольное число от 30000 до 65535. Запишем 32132. Поле IP Addresses вводим 172.16.16.2/27.
4. На вкладке Firewall Settings поле Create / Assign firewall-zone выбираем lan.
5. Идём на вкладку Peers. Здесь нужно добавить Роутер 1 и Роутер 3, то есть два пира. Если соединяем только две квартиры, пир будет один. Нажимаем Add peer.
6. В поле Description пишем какое-то название Router1. Вставляем ключ в Public Key значение из пункта 3 Роутера 1. В поле Allowed IPs пишем 172.16.16.1/32, нажимаем плюс, в новое поле 192.168.11.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 11.11.11.11, Endpoint Port пишем порт, который назначим и откроем в роутере 1 - 32132, в поле Persistent Keep Alive оставляем пустым - 0.
7. Добавим ещё один пир для Роутера 3. В поле Description пишем какое-то название Router3. Вставляем ключ в Public Key значение из пункта 7 Роутера 1. В поле Allowed IPs пишем 172.16.16.3/32, нажимаем плюс, в новое поле 192.168.33.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 33.33.33.33, Endpoint Port пишем порт, который назначим и откроем в роутере 3 - 32132, в поле Persistent Keep Alive оставляем пустым - 0. После того как всё заполнили нажимаем кнопку Save. В следующем окне также нажимаем Save.
8. Открыть порт в файрволе. Идем в меню Network -- Firewall -- вкладка Traffic Rules. Прокручиваем вниз, нажимаем Add. Заполняем поля. В поле Name пишем Allow-WG, Protocol выбираем UDP, Source zone выбираем wan, Destination zone выбираем Device (input), в поле Destination port пишем наш порт из пункта 3 - 32132. Жмем Save.
9. Вверху справа от главного меню нажимаем Unsaved changes, жмем Save & Apply.
 # 
Роутер 3
1. Установить пакеты wireguard. Идём System -- Software. Жмем Update lists..., ждем. Вбиваем в Filter -- luci-proto-wireguard, напротив него жмем кнопку Install..., ждем установку, перезагружаемся. После перезагрузки видим новый пункт меню Status -- Wireguard.
2. Идём в Network -- Interfaces, нажимаем внизу кнопку Add new interface... . Поле Name пишем wg1 (можно обозвать как нравится), Protocol - Wireguard VPN. Нажимаем Create Interface.
3. На вкладке General Settings заполняем поля. Вставляем в поля Public Key и Private Key значения из пункта 6 Роутера 1. Поле Listen Port вставляем произвольное число от 30000 до 65535. Запишем 32132. Поле IP Addresses вводим 172.16.16.2/27.
4. На вкладке Firewall Settings поле Create / Assign firewall-zone выбираем lan.
5. Идём на вкладку Peers. Здесь нужно добавить Роутер 1 и Роутер 2, то есть два пира. Если соединяем только две квартиры, пир будет один. Нажимаем Add peer.
6. В поле Description пишем какое-то название Router1. Вставляем ключ в Public Key значение из пункта 3 Роутера 1. В поле Allowed IPs пишем 172.16.16.1/32, нажимаем плюс, в новое поле 192.168.11.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 11.11.11.11, Endpoint Port пишем порт, который назначим и откроем в роутере 1 - 32132, в поле Persistent Keep Alive оставляем пустым - 0.
7. Добавим ещё один пир для Роутера 2. В поле Description пишем какое-то название Router2. Вставляем ключ в Public Key значение из пункта 6 Роутера 1. В поле Allowed IPs пишем 172.16.16.2/32, нажимаем плюс, в новое поле 192.168.22.0/24. Ставим галочку Route Allowed IPs. В поля Endpoint Host пишем 22.22.22.22, Endpoint Port пишем порт, который назначим и откроем в роутере 3 - 32132, в поле Persistent Keep Alive оставляем пустым - 0. После того как всё заполнили нажимаем кнопку Save. В следующем окне также нажимаем Save.
8. Открыть порт в файрволе. Идем в меню Network -- Firewall -- вкладка Traffic Rules. Прокручиваем вниз, нажимаем Add. Заполняем поля. В поле Name пишем Allow-WG, Protocol выбираем UDP, Source zone выбираем wan, Destination zone выбираем Device (input), в поле Destination port пишем наш порт из пункта 3 - 32132. Жмем Save.
9. Вверху справа от главного меню нажимаем Unsaved changes, жмем Save & Apply.

------------------

Если в качестве Endpoint Host используется динамическое доменное имя нужно добавить в System -- Scheduled Tasks строку и сохранить.
* * * * * /usr/bin/wireguard_watchdog
 # 
Скриншот из Firewall
 # 
Скриншоты из Interfaces


Сообщение отредактировал NyXzOr - 08.02.24, 08:08
Причина редактирования: плюс скрин



Реп: (4118)
Цитата
M



Реп: (104)
Цитата
Гайд по настройке RuAntiBlock с использованием Sing-box (ShadowSocks 2022)

В дополнение к гайду Redmi AX6S WiFi 6 AX3200 – обсуждение (Пост NotDev #126576312), так как у некоторых не работает тот способ, я предлагаю совершенно иной способ.

И так, что нам понадобится.
1) Прошивка OpenWRT 23.05 и выше (для будущего).
2) Пакет sing-box (в терминале - opkg update и opkg install sing-box или в менеджере пактов ищем sing-box и устанавливаем).
3) Свой VPS сервер, где будем поднимать все это (для теста рекомендую HostVDS).
4) RuAntiBlock (куда уж без него) - инструкция по установке тут (https://github.com/gSp…0%B8%D0%BF%D1%82%D0%B0).

Первое, что вообще понадобится, это купить VPS сервер, не стоит использовать бесплатные, неизвестно, что они сливают)
После того как купили, просто следуем инструкции по настройке. Сама инструкция находится тут (видео + текстовая инструкция), думаю разберетесь.
https://itdog.info/kak…%b2%d0%ba%d0%b0-docker

Окей, допустим вы настроили сервер по данной инструкции, дальше подключаемся к ssh на роутере.
Пишем в консоли
cp /etc/sing-box/config.json /etc/sing-box/config.json.bak
- это сделает резерную копию конфигурации.
nano /etc/sing-box/config.json
- создаст новый файл, туда вписываем следующее.

 # 
{
"log": {
"level": "warn"
},
"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"interface_name": "tun1",
"inet4_address": "172.19.0.1/30",
"auto_route": false,
"strict_route": false,
"sniff": true,
"sniff_override_destination": true
}
],
"outbounds": [
{
"type": "shadowsocks",
"tag": "ss-out",
"server": "тут пишем IP сервера",
"server_port": 443,
"method": "2022-blake3-aes-128-gcm",
"password": "пароль, который получили, когда настраивали сервер по инструкции выше"
}
],
"route": {
"auto_detect_interface": true
}
}


Сохраняем и проверяем конфигурацию с помощью
sing-box --config=/etc/sing-box/config.json check


Делаем запуск sing-box от root пользователя и добавляем в автозапуск.

uci set sing-box.main.enabled="1"
uci set sing-box.main.user="root"
uci commit sing-box
service sing-box enable
service sing-box start


Дальше создаем интерфейс, показываю в картинках, чтобы лишний раз в консоль не лезть)
Идем в Сеть -> Интерфейсы -> Добавить новый интерфейс...

 # 
Создание интерфейса


После создания он появится у нас в списке интерфейсов в вашим именем. При создании выбираем tun1, так как мы прописывали это выше в конфигурации (если у вас стоит WireGuard, OpenVPN) то в конфигурации sing-box установите то значение туннеля, которого нет в списке.

Нажимаем на этом соединение изменить и отключаем/включаем следующее

В пункте "Общие настройки"
Запустить при загрузке - ставим галочку

В пункте "Расширенные настройки"
Использовать шлюз по умолчанию - снимаем галочку
Делегировать IPv6 префиксы - снимаем галочку

Сохраняем и перезапускаем интерфейс (или роутер, мне только интерфейса хватило)

Дальше переходим к созданию зоны для Межсетевого экрана.
Переходим по Вкладке - Сеть > Межсетевой экран

Опускаемся вниз и создаем новую зону.
 # 
Создание и настройка зоны




Сохраняем.

Редактируем LAN, как на скришоте

 # 
LAN


На этом настройку роутера закончили.

Далее идем в RuAntiBlock в настройках ставим режим прокси "VPN", а в "Режим VPN" ставим наш tun1, который мы настроили выше.
Запускаем и проверяем работу.

Плюсы данного метода:
+ фактически не отваливается, так как имеет отдельный интерфейс.
+ протокол ShadowSocks 2022 более устойчив к блокировкам.
+ довольно легкая настройка (но это не точно).

Минусы:
- нужен свой VPS (если вам не жалко 1$ в месяц, дерзайте).

П.С, инструкция - это не призыв к действию, в соотвествии с законодательствами РФ вы сами несете ответственность за то,что вы делаете. Да не придет к вам РКН. Аминь :D
П.С.С - инструкция лишь для ознакомления, автор не побуждает нарушать какие либо законы о VPN и прочем (но это не точно).

Все вопросы связанные с этой и предыдущими инструкциями можно задать в ЛС или телеграм (он есть в профиле).

Сообщение отредактировал NotDev - 25.03.24, 22:36



Реп: (92)
Цитата
Друзья, подскажите, какая на данный момент рабочая инструкция по обходу блокировок, бесплатный вариант, без покупки впн и т.д.? Wireguard работает?



Реп: (320)
Цитата
fizs @ 01.05.24, 16:55 *
бесплатный вариант

который сольет ваши данные в один миг?
Разве что тор могу посоветовать

Добавлено 12.05.2024, 21:52:

NotDev @ 25.03.24, 00:31 *
Сохраняем и проверяем конфигурацию с помощью

Если вдруг кому надо, то протестить туннель отдельно можно командой
curl --interface tun1 2ip.ru

Если все ок, команда отдаст айпишник вашего сервера. Перед этим нужно иметь установленный curl



Реп: (7)
Цитата
Dart Raiden @ 06.08.18, 17:36 *
System Log

привет всем, помогите пожалуйста, раньше работало все отлично, сбросил модем, пробую настроить, через модем все пингуется, но на устройстве через wifi пинг выдает ошибку по порту
ping rutor.info
PING rutor.info (10.224.1.136) 56(84) bytes of data.
From _gateway (192.168.1.1) icmp_seq=26 Destination Port Unreachable



Реп: (691)
Цитата
А сам сайт-то открывается в браузере?



Реп: (21)
Цитата
NotDev @ 30.11.23, 02:59 *
Гайд по настройке RuAntiBlock с использованием ShadowSocks

А этот спрсоб позволит получить доступ к заблокированному dockerHUB, google play и т.д?



Реп: (867)
Цитата
AntoXP @ 16.06.24, 12:12 *
А этот спрсоб позволит получить доступ к

Этот способ позволит ровно столько, сколько способен ваш арендованный удалённый сервер на хосте, за бесплатные конфиги в телеграмм каналах я не скажу, скорее всего будет большой пинг и низкая скорость.



Реп: (21)
Цитата
NotDev @ 25.03.24, 00:31 *
Гайд по настройке RuAntiBlock с использованием Sing-box (ShadowSocks 2022)

Что-то у меня при заходе на сайты из списка пишет:
"Ошибка при установке защищенного соединения. Код ошибки PR_END_OF_FILE_ERROR"
При этом если сделать:
ping -I tun1 *адрес до сайта из списка*

то пинг проходит.
Куда копать?



Реп: (324)
Цитата
* AntoXP, а на телефоне с сингбоксом оно работает? Лучше ставить не SS а vless reality / hysteria 2. Они работают и у на и в Китае без проблем

Сообщение отредактировал helga00 - 02.07.24, 02:24



Реп: (21)
Цитата
dlr5668 @ 02.07.24, 02:24 *
а на телефоне с сингбоксом оно работает?

Да, работает. У меня и wg работает на телефоне, и на роутере, без ruantiblock, а с ним не хочет. Но в чем дело понять не могу, т.к настройки проверил не один раз и по-новой заводил.


Быстрый ответ

Прикрепление файлов
Версия для печати
Скачать тему
Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 30.07.25, 21:11