Closed Dimariqe closed 2 months ago
Мой пример для запуска связки wireguard amnezia + adguardhome + antizapret-vpn-docker:
services:
antizapret-vpn:
environment:
- DNS=adguardhome
- ADGUARD=1
- OPENVPN_OPTIMIZATIONS=1
- OPENVPN_TLS_CRYPT=1
- OPENVPN_PORT=6841
# EN: Do not update lists from the Internet
# RU: Не обновлять списки из интернета
- SKIP_UPDATE_FROM_ZAPRET=true
# EN: Update lists once a day
# RU: Обновлять списки раз в день
- UPDATE_TIMER=1d
ports:
- "6841:1194/tcp"
- "6841:1194/udp"
depends_on:
- adguardhome
volumes:
# EN: Clear Community-driven list, use only custom lists. Need to create empty config/include-hosts-dist.txt file
# RU: Очистка списка сообщества, использовать только пользовательские списки. Необходимо создать пустой файл config/include-hosts-dist.txt
# - ./config/include-hosts-dist.txt:/root/antizapret/config/include-hosts-dist.txt
adguardhome:
extends:
file: docker-compose.adguard.yml
service: adguardhome
container_name: adguardhome
ports:
- "6844:3000/tcp"
- "6845:80/tcp"
- "6846:443/tcp"
amnezia-wg-easy:
environment:
# EN: Generate your own password. Password set: TestGenPa123
# RU: Сгенерируйте собственный пароль. Установлен пароль: TestGenPa123
# docker run -it ghcr.io/w0rng/amnezia-wg-easy wgpw "TestGenPa123"
- PASSWORD_HASH=$2a$12$AqgFHNWvxDtL2zfzFjkaFucWDHlmCzXNHPrUYk6wrdX6RbKTR370K
- LANGUAGE=ru
- PORT=6843
- WG_PORT=6842
ports:
- "6842:6842/udp"
- "6843:6843/tcp"
extends:
file: docker-compose.wireguard-amnezia.yml
service: amnezia-wg-easy
https://github.com/xtrime-ru/antizapret-vpn-docker/issues/54
Пример файла: docker-compose.override.yml
Использую на keenetic 4.2 Beta 3, полет нормальный:
services:
antizapret-vpn:
environment:
- DNS=adguardhome
- ADGUARD=1
- OPENVPN_OPTIMIZATIONS=1
- OPENVPN_TLS_CRYPT=1
- OPENVPN_PORT=6841
# Не обновлять списки из интернета
- SKIP_UPDATE_FROM_ZAPRET=true
# Обновлять списки раз в день
- UPDATE_TIMER=1d
ports:
- "6841:1194/tcp"
- "6841:1194/udp"
depends_on:
- adguardhome
volumes:
# Очистка списка сообщества, использовать только пользовательские списки.
# Необходимо создать пустой файл config/include-hosts-dist.txt
# - ./config/include-hosts-dist.txt:/root/antizapret/config/include-hosts-dist.txt
adguardhome:
extends:
file: docker-compose.adguard.yml
service: adguardhome
container_name: adguardhome
ports:
- "6844:3000/tcp"
- "6845:80/tcp"
- "6846:443/tcp"
amnezia-wg-easy:
environment:
# Сгенерируйте собственный пароль. Установлен пароль: TestGenPa123
# docker run -it ghcr.io/w0rng/amnezia-wg-easy wgpw "TestGenPa123"
# Или: https://bcrypt.ninja/
# Заменяем все $ на $$
- PASSWORD_HASH=$$2a$$12$$J0lBSna8bUdYhx90SjOqMOtu8O.s7oojtzQE/vKYEEJFjJZ32js2W
# Разрешить маршрутизацию всех IP адресов, в маршрутизатор в любом случае в ручном режиме добавляются маршруты
# Таким образом можно использовать подключение для полноценного VPN
- WG_ALLOWED_IPS=0.0.0.0/0
# Принудительное перенаправление всех DNS (udp 53) на antizapret
# В keenetic прописываем маршрут 77.88.8.8 (или любой друго DNS) на шлюз WG (добавление автоматичеки)
# При падении WG, DNS работают на прямую
- FORCE_FORWARD_DNS=true
- LANGUAGE=ru
- PORT=6843
- WG_PORT=6842
ports:
- "6842:6842/udp"
- "6843:6843/tcp"
extends:
file: docker-compose.wireguard-amnezia.yml
service: amnezia-wg-easy
Для работы через десктоп клиент удалите строку - WG_ALLOWED_IPS=0.0.0.0/0
для установки нужных маршрутов.
Для маршрутизаторов установите следующие маршруты:
Маршрут до узла 77.88.8.8 через интерфейс WG (добавлять автоматически)
Маршрут до сети 10.224.0.0/15 через интерфейс WG (добавлять автоматически)
В интернет фильтре установите DNS 77.88.8.8
Использую Cloudflared Zero Trust для того, что бы прятать веб морды от ADGuard и WGEasy, не стал описывать его в предыдущем комментарии, не понятно на сколько будет актуально для остальных.
Добавляем в docker-compose.override.yml
:
cloudflare-tunnel:
image: cloudflare/cloudflared:latest
container_name: cloudflare-tunnel
restart: unless-stopped
hostname: cloudflare-tunnel
command: tunnel run
environment:
- TUNNEL_TOKEN=<CLOUDFLARE_TOKEN>
Комментируем порты для WGEasy:
ports:
- "6842:6842/udp"
# Проксирую через cloudflare
# - "6843:6843/tcp"
И для ADGuard:
ports:
# Проксирую через cloudflare
# - "6844:3000/tcp"
# - "6845:80/tcp"
# - "6846:443/tcp"
В конфигурации Zero Trust, в созданном тоннеле вяжем по именам контейнеров:
http://adguardhome:80
http://amnezia-wg-easy:6843
Добавил в README.md ссылки на используемые контейнеры для VPN
Добавил инструкции для маршрутизаторов Keenetic. Осталось описать IPsec, по возможности позже опишу, и сделаю перевод на английский.
failed to run this setup on ios amnezia client - just cant go to any site, no errors at containers
failed to run this setup on ios amnezia client - just cant go to any site, no errors at containers
Please upload your docker-compose.override.yml
or docker-compose.wireguard-amnezia.yml
(depending on which Compose file you are building your application from).
Please upload your docker-compose.override.yml or docker-compose.wireguard-amnezia.yml
root@localhost:~/antizapret# cat docker-compose.override.yml
services:
antizapret-vpn:
environment:
- DNS=adguardhome
- ADGUARD=1
- OPENVPN_OPTIMIZATIONS=1
- OPENVPN_TLS_CRYPT=1
- OPENVPN_PORT=6841
# Не обновлять списки из интернета
- SKIP_UPDATE_FROM_ZAPRET=true
# Обновлять списки раз в день
- UPDATE_TIMER=1d
ports:
- "6841:1194/tcp"
- "6841:1194/udp"
depends_on:
- adguardhome
volumes:
# Очистка списка сообщества, использовать только пользовательские списки.
# Необходимо создать пустой файл config/include-hosts-dist.txt
# - ./config/include-hosts-dist.txt:/root/antizapret/config/include-hosts-dist.txt
adguardhome:
extends:
file: docker-compose.adguard.yml
service: adguardhome
container_name: adguardhome
ports:
- "6844:3000/tcp"
- "6845:80/tcp"
- "6846:443/tcp"
amnezia-wg-easy:
environment:
# Сгенерируйте собственный пароль. Установлен пароль: TestGenPa123
# docker run -it ghcr.io/w0rng/amnezia-wg-easy wgpw "TestGenPa123"
# Или: https://bcrypt.ninja/
# Заменяем все $ на $$
- PASSWORD_HASH=$$2a$$12$$J0lBSna8bUdYhx90SjOqMOtu8O.s7oojtzQE/vKYEEJFjJZ32js2W
# Разрешить маршрутизацию всех IP адресов, в маршрутизатор в любом случае в ручном режиме добавляются маршруты
# Таким образом можно использовать подключение для полноценного VPN
# - WG_ALLOWED_IPS=0.0.0.0/0
# Принудительное перенаправление всех DNS (udp 53) на antizapret
# В keenetic прописываем маршрут 77.88.8.8 (или любой друго DNS) на шлюз WG (добавление автоматичеки)
# При падении WG, DNS работают на прямую
# - FORCE_FORWARD_DNS=true
# - LANGUAGE=ru
- PORT=6843
- WG_PORT=6842
ports:
- "6842:6842/udp"
- "6843:6843/tcp"
extends:
file: docker-compose.wireguard-amnezia.yml
service: amnezia-wg-easy
copied docker-compose.wireguard-amnezia.yml from your repo
root@localhost:~/antizapret# cat docker-compose.wireguard-amnezia.yml
services:
antizapret-vpn:
extends:
file: docker-compose.yml
service: antizapret-vpn
amnezia-wg-easy:
image: ghcr.io/w0rng/amnezia-wg-easy
container_name: amnezia-wg-easy
volumes:
- ./.etc_wireguard_amnezia:/etc/wireguard
devices:
- /dev/net/tun:/dev/net/tun
extends:
file: docker-compose.wireguard.yml
service: wg-easy
run by docker compose down && docker compose pull && docker compose up -d
also tried WG_ALLOWED_IPS=0.0.0.0/0
both comment and uncomment and cant see any effect
copied docker-compose.wireguard-amnezia.yml from your repo
Did you copy only docker-compose.wireguard-amnezia.yml
? For this to work, you also need to update wireguard/entrypoint.sh
and docker-compose.wireguard.yml
.
I recommend installing the entire script from my repository:
docker compose down
cd ~
git clone https://github.com/Dimariqe/antizapret-vpn-docker.git antizapret-test
cd antizapret-test
nano docker-compose.override.yml
docker compose pull && docker compose up -d
PS:
If docker encounters any errors, I recommend clearing the cache: docker system prune
Also pay attention to these lines:
# Не обновлять списки из интернета
- SKIP_UPDATE_FROM_ZAPRET=true
# Обновлять списки раз в день
- UPDATE_TIMER=1d
Without docker build they will not work. They remove the update of the lists of blocked sites. You can simply delete them.
WG_ALLOWED_IPS=0.0.0.0/0
will redirect all traffic through VPN. Comment out the line so that only sites from the lists are redirected
everything works fine when clone from your repo, both keenetic and ios, thank you very much
Option to disable download az rules #41