Настройка двойного VPN через 3X-UI
Получение SSL сертификата
Получить сертификат используя Certbot dns chellenge
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /root/3x-ui/cert/cloudflare.ini \
-d ui-home.<domain>.ru \
--deploy-hook "cp /etc/letsencrypt/live/ui-home.<domain>.ru/fullchain.pem /root/3x-ui/cert/fullchain.pem && cp /etc/letsencrypt/live/ui-home.<domain>.ru/privkey.pem /root/3x-ui/cert/privkey.pem"
Установка 3x-ui
Установить панель 3x-ui на сервере в докере:
git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui
Изменить файл docker-compose.yml
изменить hostname
docker compose up -d
Настройка панели
Зайти в панель по адресу http://192.168.0.138:2053
используя данные авторизации admin\admin
Выполнить настройку панели как на скринах ниже
Создание wg подключения
Создать новое wireguard подключение
Для корректной маршрутизации обязательно включить Sniffing.
Подключение внешнего сервера как выход
На удаленном сервере создать новое подключение vless для сервера и скопировать конфигурационную ссылку (нажать на QR код с именем клиента).
На локальном сервере перейти Настройки Xray -> Исходящие -> Добавить исходящий
в окне перейти в режим Json и указать ссылку для запроса настроек.
В настройках маршрутизации задать правила перенаправления
На этом базовая настройка закончена, весь трафик который приходит по wg будет направлен через vless на внешний сервер.
Настройка разделения трафика
Дополнительно можно настроить разделение трафика по правилам что бы например трафик для России шел на обычный выход интернета а не в VPN тоннель.
Из за особенностей работы все равно будет увеличена задержка из за резолвинга внутри самого x-ray.
Необходимо включить в настройках Настройки Xray -> Базовый шаблон
Итоговые правила маршрутизации должны быть
Для работы разделения обязательно в настройках входящего подключения должно быть включен Sniffing