Предварительные требования:
— прошита OpenWrt 18.06 или новее
— установлен веб-интерфейс LuCi
— роутер имеет доступ в Интернет
1) Обновить список пакетов (System → Software → Update lists), установить OpenVPN, собранный с поддержкой OpenSSL:
2) Скачать
файл конфигурации (
зеркало на случай, если сайт заблокировали;
ещё зеркало), положить .ovpn в /etc/openvpn
Я не буду подробно описывать процесс перемещения файлов в файловую систему роутера, вы можете воспользоваться
WinSCP,
SFTP-плагином для Total Commander (плагин умеет работать и по SCP), либо прямо из консоли с помощью wget и unzip, способов много.
[attachment="30490742:antizapret-tcp.zip"]
Отредактировать этот файл, дописав куда-нибудь в его середину строки:
route 8.8.8.8
route 77.88.8.8
3) Заменить содержимое /etc/config/openvpn на:
package openvpn
config openvpn antizapret
option enabled 1
option config /etc/openvpn/antizapret-tcp.ovpn
(опять же, способ редактирования конфига оставлен на усмотрение читателя: одному удобно через vi, другому через тот же WinSCP). antizapret-tcp.ovpn — это файл, который вы на прошлом шаге копировали. Если его название изменилось, то, соответственно, исправьте его и тут в конфиге.
4) Включить и запустить VPN (System → Startup). Проверить, что всё запустилось корректно. В Status → System Log будет примерно следующее:
daemon.notice openvpn(antizapret)[3180]: OpenVPN 2.4.5 mipsel-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
...
daemon.notice openvpn(antizapret)[3180]: Initialization Sequence Completed ← Всё завелось
Если вместо этого вы наблюдаете в журнале
daemon.err openvpn(antizapret)[3180]: OpenVPN ROUTE: cannot add more than 100 routes -- please increase the max-routes option in the client configuration file
то необходимо открыть antizapret-tcp.ovpn текстовым редактором и добавить строку
5) Создать новый интерфейс (Network → Interfaces → Add new interface):
Name of the new interface: antizapret
Protocol of the new interface: unmanaged
Cover the following interface: Ethernet Adapter: "tun0"
Advanced settings → Bring up on boot
Firewall Settings → Create: → antizapret
Save and Apply
6) Настроить зону файерволла antizapret (Network → Firewall → antizapret → Edit):
Input: reject
Включить Masquerading и MSS clamping
Allow forward from source zones: lan
Save and Apply
7) Исправить /etc/config/dhcp:
значение
изменить с 1 на 0
8) Указать DNS-серверы, который будет использоваться, если подключение к VPN-серверу разорвано:
в настройках обоих интерфейсов WAN и WAN6 (Network → Interfaces) отключить Use DNS servers advertised by peer на вкладке Advanced settings
в настройках интерфейса WAN в поле Use custom DNS servers вписать адреса 77.88.8.8 и 8.8.8.8 (в первое поле первый адрес, добавить второе поле и туда второй адрес)
Save and Apply
На сообщения «WARNING: this configuration may cache passwords in memory» в журнале внимания обращать не нужно, это неактуально, потому что паролей у нас нет. Если напрягает, можете добавить в файл конфигурации строчку
Аналогично и с «Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: block-outside-dns» — этот параметр отдаётся сервером на тот случай, если на клиенте стоит Windows. Если напрягает, можете добавить в файл конфигурации строчку
ignore-unknown-option block-outside-dns
Плюсы:
— через VPN идёт лишь трафик до заблокированных доменов, остальной трафик идёт "напрямую" (нет потери скорости, у вас не меняется IP)
— следствие из предыдущего: трафик небольшой и поддержание бесплатного сервиса не бьёт по карману владельца
Если одновременно хочется использовать AdGuard Home:
0) предполагается, что сначала вы настроили Antizapret и обход блокировок у вас работает
затем вы установили AdGuard Home, провели его первоначальную настройку и его DNS висит на порту 5353 (если вы вешали на другой порт, соответственно скорректируйте номер порта далее)
1) в настройках интерфейса WAN из поля Use custom DNS servers удалить все адреса, которые там есть
Save and Apply
2) в файл /etc/config/dhcp в раздел
config dnsmasq добавить
list server '127.0.0.1#5353'
должно получиться
config dnsmasq
тут то, что там уже было
ещё всякое
list server '127.0.0.1#5353'
3) перезагрузить роутер
4) убедиться, что есть доступ в интернет (открываются сайты) и что AdGuard Home работает (в его админке увеличиваются цифры статистики). Обход блокировок в этот момент работать не будет и следующим шагом это исправляется
5) в настройках AGH указать в качестве апстрима именно те серверы, которые у вас вписаны в файл .ovpn (на шаге 2) и они же вписаны в настройках интерфейса WAN (на шаге 8)