ВНИМАНИЕ! Авторы не несут ответственность за работоспособность, безопасность и стабильность ПО, представленного в инструкции. Все действия (прошивка / настройка роутера) выполняются пользователями с учетом данного факта
Сценарии использования:
Обеспечение приватности интернет-соединения всех или части устройств в LAN-сети
Обход региональных блокировок на всех или части устройств в LAN-сети
Реализация двойного VPN:
- VPN-провайдер № 1 (на роутере): видит IP клиента, но не видит IP посещаемых ресурсов
- VPN-провайдер № 2 (на клиентских устройствах): видит IP посещаемых ресурсов, но не IP клиента
Требования:
Роутер c OpenWRT
Варианты:
Приобретение роутера с предустановленной OpenWRT (например, на маркетплейсах)
Самостоятельная установка OpenWRT на совместимый роутер. Таблица поддерживаемых устройств c инструкциями по установке: https://toh.openwrt.org
Личный VPN или подписка на коммерческий VPN, использующий протокол VLESS
1. Сброс до заводских настроек
Сброс роутера до настроек по-умолчанию удалит несовместимое с Passwall ПО при его наличии (другие VPN-клиенты, программы для анализа трафика, DoH- и DoT-конфигурации и т.д.) и временные файлы:
Подключиться по кабелю к LAN-порту роутера с компьютера (после сброса точка доступа WiFi может быть в выключенном состоянии), ввести локальный IP роутера (обычно, 192.168.0.1, 192.168.1.1) в браузере, после чего прописать пароль от роутера (при наличии)

Нажать на кнопку Perform reset в System - Backup/Flash Firmware и подтвердить сброс. В течение пары минут роутер перезагрузится и сбросится до изначального состояния

2. Настройка доступа в Интернет
Если после сброса доступ в интернет не появится, настроить WAN-интерфейс по инструкции от интернет-провайдера:
Ввести предложенные провайдером или прописанные в договоре об оказании услуг связи IP, шлюз по-умолчанию и DNS-сервера в настройках WAN-интерфейса (Network - Interfaces - Interfaces - WAN). Перезагрузить роутер
Если провайдер реализует фильтрацию по MAC-адресу, изменить MAC-адрес WAN-интерфейса в Network - Interfaces - Devices - WAN - Configure на представленный в личном кабинете провайдера, договоре или чате с технической поддержкой. Перезагрузить роутер и проверить подключение к интернету на клиентских устройствах

3. Установка Passwall
Passwall - программное обеспечение, позволяющее настроить VPN-подключение (в том числе и по протоколу VLESS) на роутере. Шаги установки:
Подключиться к роутеру по ssh и ввести пароль от роутера (при наличии):
- На Windows использовать ssh-клиент PuTTY: https://putty.org/
- На macOS и Linux ввести в терминал:
ssh root@router_ip # заменить router_ip на локальный IP роутера
Выполнить команду, загружающую, разрешающую исполнение и запускающую скрипт по установке Passwall:
rm -fpasswallx.sh&& wgethttps://raw.githubusercontent.com/amirhosseinchoghaei/Passwall/main/passwallx.sh&& chmod 777passwallx.sh&& shpasswallx.sh
Выбрать Вариант 1 (если объем оперативной памяти роутера меньше 256МБ) или Вариант 2 (если объем оперативной памяти роутера больше 256МБ)

Дождаться окончания установки Passwall и перезагрузить роутер

(Опционально) Если после выполнения скрипта название роутера (hostname) изменилось, вернуть его обратно :
uci set system.@system[0].hostname = "Name" # заменить Name на желаемое названиеuci commit systemecho $(uci get system.@system[0].hostname) > /proc/sys/kernel/hostnamereboot
После этих действий файл hostname должен содержать новое название, которое также будет отображаться в веб-интерфейсе OpenWRT:
cat /proc/sys/kernel/hostnameПроверить наличие нового меню Services - Passwall в веб-интерфейсе роутера
4. Настройка Passwall
Добавить подписку на VPN в Services - Passwall - Node Subscribe - Add, введя название подписки в поле Subscribe Remark и ссылку, предоставленную VPN-провайдером, в поле Subscribe URL

Произвести подписку вручную, нажав на Manual Subscription в Services - Passwall - Node Subscribe и дождаться окончания процесса. Список VPN-серверов с возможностью проверить их Пинг отобразится в Services - Passwall - Node List


Логи Passwall после добавления/обновления подписки (Services - Passwall - Watch Logs) Выбрать локацию / сервер в Services - Passwall - Basic Settings - Main - Node и поставить галочку рядом с Main switch для подключения к VPN. После успешного подключения рядом с пунктом Core появится зеленая надпись RUNNING.

Главное окно Passwall, в котором можно включить/выключить VPN, выбрать сервер для подключения и проверить пинг Проверить публичный IP на клиентских устройствах (например, на https://whatismyipaddress.com или curl ip.me в терминале) - отобразится IP VPN-сервиса
5. Добавление устройств в исключения Passwall
Отключить рандомизацию MAC-адреса при каждом переподключении к сети на клиентском устройстве, трафик которого должен идти в обход VPN. Например, в настройках Wi-Fi на Android и Linux с GNOME можно выбрать Стабильный MAC-адрес – для каждой WiFi-сети он будет разный, но меняться со временем внутри одной Wi-Fi-сети не будет
Нажать Add в Services - Passwall - ACL
- В поле Source выбрать MAC-адрес желаемого устройства
- В полях TCP No Redir Ports и UDP No Redir Ports выбрать All
- Нажать Save & Apply

В меню Services - Passwall - ACL поставить галочки напротив созданного правила и Main switch. Нажать Save & Apply. Проверить публичный IP-адрес на добавленных в этот список устройствах


