Files
ansible-openwrt-hirkn/README.md
2022-06-16 23:21:44 +07:00

95 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Описание
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
```