Данную модификация сделана для того, чтобы объединить в одну подсеть те устройства которые еще не поддерживают AmnesiaVPN но работают с Wireguard-ом. То есть простыми словами появляется возможность подключаться к серверу как по AmnesiaVPN так и по Wireguard и они будут иметь доступ к одинаковым ресурсам.
- Создание пользователей Wireguard в Web-панели на порту 51821 ВАШ_IP:51821
- Использование функционала в приложении AmnesiaVPN паралелльно с сервером Wireguard, и все это в контейнерах, что экономит ресурсы сервера.
- Объединение нескольких подсетей благодаря прокаченному WG-EASY (мною), добавление параметра allowedIPS в wg0.json. Например можно объединить несколько домашних сетей под управлением Keenetic или Mikrotik!
1. Установка AmnesiaWG через оф. клиент (все как обычно), единственное, что нужно указать порт сервера 51822 (т.к 51820 и 51821 будут заняты Wireguard-ом)
Посмотреть как это делать можно тут (https://docs.docker.com/compose/install/linux/), я покажу как делать для Ubuntu 22.04:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-compose-plugin
4. Готово, теперь перейдем к настройке самого докера, создадим сначала подсеть для работы с DNS и прочих моментов.
Можете установить свою подсеть, но тогда Вам придется много везде всего менять.
docker network create -d bridge --subnet=10.100.0.0/24 nginx-network
5. Теперь запустим для начала Portainer CE, я его уже поместил в docker-compose (для удобства), запускаем его в корне каталога с проектом командой:
docker compose -f docker-compose-portainer.yml up -d
6. Теперь откроем файл docker-compose.yml, здесь нужно поменять настройки на свои у сервиса WG-EASY на свои, а именно поменять только:
- WG_HOST и PASSWORD, это нужно для правильной генерации конфигов для WG и входа в Web-панель Wireguard
docker compose -f docker-compose.yml up -d
8. Теперь вам необходимо поменять пароль от панели Adguard Home (это наш DNS-сервер фильтрации запросов, там будет показываться информация по каждому клиенту (кто куда ходит и т д, а также фильтрованивание рекламы))
я уже настроил его за Вас, Вам необходимо лишь поменять пароль от панели и зайти, это можно сделать следующей командой в корне проекта ### (делать под рутом или через SUDO), и следовать инструкции скрипта.
chmod +x ./change_password_adguard.sh
chmod +x ./tools/agh.sh
./change_password_adguard.sh
9. Ну и последнее самое сложное, это маршрутизация между адаптерами, в общем, если Вы не меняли подсети, то изменения вносить не нужно, я уже за Вас все настроил :)
Пишем команду (либо под root, либо везде добавляем sudo):
chmod +x iptables_patch.sh
./iptables_patch.sh
Если вдруг выхотите закрыть из внешнего интернета доступ к 51821, то нужно запустить еще один скрипт который это делает! Не забудьте перед этим создать конфиг Wireguard или AmnesiaVPN иначе вы потеряете доступ к панели, итак:
chmod +x close_port_wg_ui.sh
./close_port_wg_ui.sh
После чего можно перезагрузить сервер и проверить все ли работает, если у вас есть какие-то вопросы то обращаться можно ко мне в ТГ, помогу чем смогу: