Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Ansible Openwisp2 | 447 | 12 days ago | 17 | bsd-3-clause | Python | |||||
Ansible role that installs and upgrades OpenWISP. | ||||||||||
Ansible Openwrt | 241 | 5 months ago | 15 | gpl-3.0 | Shell | |||||
Manage OpenWRT and derivatives with Ansible but without Python | ||||||||||
Cheat Sheets | 164 | 2 months ago | lgpl-2.1 | HTML | ||||||
code snippets and notes that I have created over the years and which I make available to the public ;-) | ||||||||||
Ansible Openwisp2 Imagegenerator | 123 | a year ago | 3 | bsd-3-clause | Shell | |||||
Automatically build several openwisp2 firmware images for different organizations while keeping track of their differences | ||||||||||
Ansible Openwrt | 62 | 7 years ago | 4 | mit | Ruby | |||||
configure your openwrt system(s) using ansible! | ||||||||||
Ansible Openwrt | 46 | a month ago | gpl-3.0 | |||||||
Ansible collection to configure your OpenWrt devices more quickly and automatically (without Python) | ||||||||||
Scale Network | 27 | a month ago | 81 | bsd-3-clause | Perl | |||||
SCaLE's on-site expo network configurations, wifi, tooling, and scripts | ||||||||||
Ansible Openwrt Hirkn | 23 | a month ago | Shell | |||||||
Automation settings OpenWRT router to bypass RKN | ||||||||||
Philote | 13 | 3 years ago | 2 | agpl-3.0 | Lua | |||||
Ansible management for your OpenWRT router - with lua | ||||||||||
Ansible Nnxx | 12 | 3 years ago | 3 | bsd-3-clause | Shell | |||||
Ansible configurations for the nnxx infrastructure |
Playbook для Ansible, автоматизирующий настройку обхода блокировок РКН через Wireguard на роутере с OpenWRT
Для взаимодействия c OpenWRT используется модуль gekmihesg/ansible-openwrt
Списки берутся с antifilter.download
Бонусом устанавливается и настраивается DNSCrypt2
Полное описание происходящего: https://itdog.info/tochechnyj-obhod-blokirovok-rkn-na-routere-s-openwrt-s-pomoshhyu-wireguard-i-dnscrypt/
И вот здесь: https://habr.com/ru/post/440030/
Поиск ошибок:
Тестировалось с
Для работы необходим 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
download_utility: curl
list_subnet: true
list_ip: true
list_community: true
list_domains: false
Обязательно нужно задать:
wg_server_address - ip/url wireguard сервера
wg_private_key, wg_public_key - ключи для "клиента"
wg_client_address - адрес роутера в wg сети
Переменные list_ обозначают, какие списки нужно установить. true - установить, false - не устанавливать и удалить, если уже есть
При использовании list_domains должен быть установлен пакет dnsmasq-full. А для OpenWrt 22.03 версия dnsmasq-full должна быть => 2.87, её нет в официальном репозитории, но можно установить из dev репозитория. Инструкция по установке есть в моём тг канале. Если это условие не выполнено, плейбук завершится с ошибкой
Остальное можно менять, в зависимости от того как настроен wireguard сервер
Если ваш wg сервер использует preshared_key, то раскомментируйте wg_preshared_key и задайте ключ
download_utility можно использовать curl или wget. Curl не скачивает заново списки, если на роутере они ещё актуальны
Запуск playbook
ansible-playbook playbooks/hirkn.yml
После выполнения playbook роутер сразу начнёт выполнять обход блокировок через Wireguard сервер.
Написан для OpenWrt 22.03. На 21.02 работает только половина проверок.
[x] - не обязательно означает, что эта часть не работает. Но это повод для ручной проверки.
Есть функционал сохранения вывода скрипта, конфигурации сети и firewall в файл. Все чувствительные переменные при этом затираются.
wget -O - https://raw.githubusercontent.com/itdoginfo/ansible-openwrt-hirkn/master/check-hirkn.sh | sh
wget -O - https://raw.githubusercontent.com/itdoginfo/ansible-openwrt-hirkn/master/check-hirkn.sh | sh -s dump
wget https://raw.githubusercontent.com/itdoginfo/ansible-openwrt-hirkn/master/check-hirkn.sh
chmod +x check-hirkn.sh
./check-hirkn.sh
С созданием dump
./check-hirkn.sh dump
Если у вас уже стоит dnscrypt-proxy первой версии, его необходимо удалить
opkg remove dnscrypt-proxy
Во второй версии есть отказоустойчивость из коробки.