mirror of
https://github.com/itdoginfo/ansible-openwrt-hirkn.git
synced 2025-12-13 18:44:31 +05:00
95 lines
3.5 KiB
Markdown
95 lines
3.5 KiB
Markdown
# Описание
|
||
Playbook для Ansible, автоматизирующий настройку обхода блокировок РКН через Wireguard на роутере с OpenWRT
|
||
|
||
Для взаимодействия c OpenWRT используется модуль [gekmihesg/ansible-openwrt](https://github.com/gekmihesg/ansible-openwrt)
|
||
|
||
Списки берутся с [antifilter.download](https://antifilter.download/)
|
||
|
||
Бонусом устанавливается и настраивается DNSCrypt
|
||
|
||
Полное описание происходящего: https://itdog.info/tochechnyj-obhod-blokirovok-rkn-na-routere-s-openwrt-s-pomoshhyu-wireguard-i-dnscrypt/
|
||
|
||
И вот здесь: https://habr.com/ru/post/440030/
|
||
|
||
Тестировалось с
|
||
- Ansible 2.9.6
|
||
- OpenWrt 20.02.3
|
||
|
||
# Использование
|
||
|
||
Для работы необходим wg сервер вне зоны действия РКН
|
||
|
||
Установить модуль gekmihesg/ansible-openwrt
|
||
|
||
``` ansible-galaxy install gekmihesg.openwrt ```
|
||
|
||
Скачать playbook и темплейты в /etc/ansible
|
||
|
||
```
|
||
cd /etc/ansible
|
||
git clone https://github.com/itdoginfo/ansible-openwrt-hirkn
|
||
mv ansible-openwrt-hirkn/* .
|
||
rm -rf ansible-openwrt-hirkn README.md
|
||
```
|
||
|
||
Добавить роутер в файл hosts в группу openwrt
|
||
```
|
||
[openwrt]
|
||
192.168.1.1
|
||
```
|
||
|
||
Подставить переменные в **hirkn.yml**
|
||
```
|
||
vars:
|
||
ansible_template_dir: /etc/ansible/templates/
|
||
wg_server_address: wg_server_ip/url
|
||
wg_private_key: privatekey-client
|
||
wg_public_key: publickey-client
|
||
wg_listen_port: 51820
|
||
wg_client_port: 51820
|
||
wg_client_address: 192.168.100.3/24
|
||
```
|
||
|
||
Обязательно нужно задать:
|
||
|
||
**wg_server_address** - ip/url wireguard сервера
|
||
|
||
**wg_private_key**, **wg_public_key** - ключи для "клиента"
|
||
|
||
Остальное можно менять, в зависимости от того как настроен wireguard сервер
|
||
|
||
Если ваш wg сервер использует preshared_key, то раскомментируйте **wg_preshared_key** и задайте ключ
|
||
|
||
Запуск playbook
|
||
```
|
||
ansible-playbook playbooks/hirkn.yml
|
||
```
|
||
|
||
После выполнения playbook роутер сразу начнёт выполнять обход блокировок через Wireguard сервер.
|
||
|
||
# DNSCrypt-proxy2
|
||
|
||
Если у вас уже стоит dnscrypt-proxy первой версии, его необходимо удалить
|
||
```
|
||
opkg remove dnscrypt-proxy
|
||
```
|
||
Во второй версии есть отказоустойчивость из коробки.
|
||
|
||
# "DST Root CA X3" issue
|
||
С версии 19* по 20.02.0 есть проблема со скачиванием файлов c https://antifilter.download/. Там используется LE сертификат.
|
||
|
||
Workroud в том, что бы переключить системную ssl библиотеку на openssl. Проверялось на 20.02.0
|
||
```
|
||
sed -i 's/https/http/g' /etc/opkg/distfeeds.conf
|
||
opkg install libopenssl
|
||
opkg install openssl-util
|
||
opkg --force-depends remove libustream-wolfssl20201210
|
||
opkg install libustream-openssl20201210
|
||
sed -i 's/http/https/g' /etc/opkg/distfeeds.conf
|
||
```
|
||
Чтобы curl использовал openssl его надо пересобирать, поэтому добавлена возможность использовать wget.
|
||
|
||
Для этого надо изменить переменную download_utility на wget
|
||
```
|
||
download_utility: wget
|
||
``` |