Выгрузка состоит из 2 частей:
1. export.php, который обрабатывает файл dump.xml и экспортирует списки в файлы, в которых все отсортировано, в т.ч. и для unbound.
2. sync.php, который работает с этими списками:
- работает с несколькими RouterOS
- выгружает IP в address-list для заблокированных IP и все IP (для редирета, допустим на squid)
- выгружать url в WebProxy
- выгружать залоченные домены в DNS микротика
- выгружать залоченные домены с A-записями в файл для Unbound
В корне каталоге tmp должен лежать dump.xml
в sync.php нужно поправить конфиг:
$export_route = true; // выгружаем block в ip route blackhole
$unbound_dns = true; // выгружаем в unbound
$unbound_arecord = '/etc/unbound/a-records.conf';
$MikAdListRedirect = 'REESTR_REDIRECT'; // Address-list для IP redirect
$MikAdListBlockIP = 'REESTR_IP_BLOCKED'; // Address-list для заблокированных IP
$MikList[] = array (
'ip' => '3.3.3.3',
'log' => 'admin',
'pass' => 'xxx',
'mik_proxy' => false, // выгружаем в webproxy
'mik_dns' => true, // выгружаем в ip dns static
'mik_adlist_block'=> false, // выгружаем address-list заблокированные IP
'mik_adlist_redirect'=> false, // выгружаем все IP в address-list
'mik_dns_ip' => '127.0.01' // какой IP-подставляем в ip dns static
);
export_route выгружает роуты в Linux в виде записей blackhole. Затем уже можно настроить роут-сервер Bird для работы с этими роутами, чтобы он их анонсировал своим пирам.
Распространяется, как есть 🙂
https://disk.yandex.ru/d/XOtEhzZDEpRufA
sync.zip