Особых действий не требуется, действовать по инструкции.
- Установить компонент "Клиент и сервер OpenVPN"
- В файл конфигурации
antizapret-client-tcp.ovpn
илиantizapret-client-udp.ovpn
OpenVPN добавить строки:pull-filter ignore block-outside-dns route 77.88.8.8
- Добавить подключение OpenVPN в разделе
Интернет
>Другие подключения
>VPN-подключения
>Добавить подключение
- Использовать для выхода в интернет:
НЕТ
- Имя подключения:
AntiZapret
- Тип (протокол):
OpenVPN
- Получать маршруты от удаленной стороны:
ДА
- Конфигурация OpenVPN:
Содержимое файла из пункта 2
Сохранить
- Использовать для выхода в интернет:
Сетевые правила
>Интернет фильтры
Настройка DNS
>Добавить профиль
- Имя профиля:
AntiZapret
- Транзит запросов:
НЕТ
Сохранить
Добавить сервер
- Тип сервера DNS:
По умолчанию
- IP-адрес:
77.88.8.8
Сохранить
- Тип сервера DNS:
- Имя профиля:
Контентный фильтр
- Режим фильтрации:
Публичные DNS-резолверы
- Профили контентной фильтрации по умолчанию (
гостевая
идомашняя
):AntiZapret
- Режим фильтрации:
- В разделе
Интернет
>Другие подключения
включаем подключениеAntiZapret
Готово!
Warning
Для работы Amnezia Wireguard необходима прошивка версии 4.2+. Пока не ввели 4.2 в стабильную ветку можно использовать обычный WireGuard на порту 443. Но сработать может не у всех, рекомендую все таки вариант с Amnezia.
-
Устанавливаем Docker Engine:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
-
Клонируем репозиторий:
git clone https://github.com/xtrime-ru/antizapret-vpn-docker.git antizapret cd antizapret
-
Создайте пароль для панели wireguard:
docker run --rm ghcr.io/wg-easy/wg-easy wgpw 'ВАШ_ПАРОЛЬ' | sed "s/'//g" | sed -r 's/\$/\$\$/g' | tee ./wireguard/wireguard.env
-
Создаем файл
docker-compose.override.yml
со следующим содержанием:Обратите внимание на назначаемый порт WireGuard! 443 лучше обходит блокировки, но может быть расценен вашим хостером как попытка DDoS атаки на ваш сервер. Если возникнут какие либо лаги или отвалы соединения первым делом смените 443 на какой либо другой порт!
services: antizapret-vpn: environment: - DNS=adguardhome - ADGUARD=1 - OPENVPN_OPTIMIZATIONS=1 - OPENVPN_TLS_CRYPT=1 # Порт для OpenVPN - OPENVPN_PORT=6841 ports: # Порт для OpenVPN (если не нужен можно удалить порты) - "6841:1194/tcp" - "6841:1194/udp" depends_on: - adguardhome adguardhome: extends: file: docker-compose.adguard.yml service: adguardhome container_name: adguardhome ports: # Порт для установки, после можно удалить - "6844:3000/tcp" # Порт для панели управления AdGuard - "6845:80/tcp" # Для Amnezia замените на # amnezia-wg-easy wg-easy: environment: # Разрешить маршрутизацию всех 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 # Порт для панели управления WireGuard - PORT=6843 # Порт WireGuard - WG_PORT=443 ports: # Порт для панели управления WireGuard - "6843:6843/tcp" # Порт WireGuard - "443:443/udp" extends: # Для Amnezia замените на # file: docker-compose.wireguard-amnezia.yml file: docker-compose.wireguard.yml # Для Amnezia замените на # service: amnezia-wg-easy service: wg-easy
-
Собираем контейнер:
docker compose pull docker compose up -d
-
Установка AdGuard Home
- Скрипт установки:
http://<SERVER_IP>:6844
- Панель управления:
http://<SERVER_IP>:6845
- Скрипт установки:
-
Создаем профиль в Wireguard:
http://<SERVER_IP>:6843
-
Скачиваем профиль и переходим к клиентской части
- Установить компонент "WireGuard VPN"
- Загрузить профиль скачанный с панельки
Интернет
>Другие подключения
>Wireguard
>Загрузить из файла
- Открываем загруженое подключение и ставим галочку на
Использовать для выхода в интернет
(Не обязательно, меняем имя наAntizapret
) Сетевые правила
>Маршрутизация
Добавить маршрут
- Тип маршрута:
Маршрут до узла
- Описание:
AntiZapretDNS
- Адрес узла назначения:
77.88.8.8
- Адрес шлюза:
пусто
- Интерфейс:
Antizapret
(если не меняли имя, то по имени файла)
- Тип маршрута:
Добавить маршрут
- Тип маршрута:
Маршрут до сети
- Описание:
AntiZapret
- Адрес сети назначения:
10.224.0.0
- Маска подсети:
255.254.0.0/15
- Адрес шлюза:
пусто
- Интерфейс:
Antizapret
(если не меняли имя, то по имени файла)
- Тип маршрута:
Сетевые правила
>Интернет фильтры
Настройка DNS
>Добавить профиль
- Имя профиля:
AntiZapret
- Транзит запросов:
НЕТ
Сохранить
Добавить сервер
- Тип сервера DNS:
По умолчанию
- IP-адрес:
77.88.8.8
Сохранить
- Тип сервера DNS:
- Имя профиля:
Контентный фильтр
- Режим фильтрации:
Публичные DNS-резолверы
- Профили контентной фильтрации по умолчанию (
гостевая
идомашняя
):AntiZapret
- Режим фильтрации:
Интернет
>Ethernet
- Найти активное интернет подключение
- Поставить галку
Игнорировать DNSv4 интернет-провайдера
- Поставить галку
Игнорировать DNSv6 интернет-провайдера
- Поставить галку
- Найти активное интернет подключение
Note
Если используете Amnezia Wireguard, необходимо выполнить еще несколько действий инструкции начиная с шага 20. Кратко продублирую тут.
-
Переходим в настройки, нажимаем на изображение шестеренки, в правом верхнем углу веб-страницы, и переходим по ссылке
Командная строка
. -
Отправляем запрос:
show interface
-
Теперь нужно узнать имя нужного интерфейса, по названию созданного ранее подключения. Для этого, откройте поиск по странице (это можно сделать, одновременно нажав две клавиши, Ctrl+F). Введите для поиска, название созданного ранее подключения. В данном примере, это
AntiZapret
. Должно быть найдено одно, уникальное название в полеdescription
. А рядом с ним, будет находится другое поле,interface-name
, в котором отображается имя нужного интерфейса. В данном примере, этоWireguard1
. -
Теперь, зная имя интерфейса и значения параметров asc из файла в формате .conf который мы сохранили ранее. Нужно заменить все значения шаблона в скобках, Вашими значениями, а сами скобки удалить.
interface {name} wireguard asc {jc} {jmin} {jmax} {s1} {s2} {h1} {h2} {h3} {h4}
Для примера, получается вот такая строка:
interface Wireguard1 wireguard asc 8 50 1000 30 32 1811016522 1196729875 457766807 1765857463
Получившуюся строку, нужно вставить в вэб-версии командной строки роутера, и нажать кнопку "Отправить запрос".
-
Отправляем запрос:
system configuration save
В разделе Интернет
> Другие подключения
включаем подключение AntiZapret
Готово!
В процессе написания
В процессе написания