Здесь выложены файлы для работы bird4 с сервисом antifilter.download
Без BGP, с обычным обновлением раз в час, с возможностью внесения пользовательских правил.
Есть возможность настройки с один впн, так и с двумя (один основной, второй резервный + пользовательское перенаправление в определенный)
Предназначено для роутеров Keenetic с установленным на них entware
Установка:
- Зайти по ssh в среду entware
- Выполнить:
opkg install git git-http
git clone https://github.com/DennoN-RUS/Bird4Static.git
chmod +x ./Bird4Static/install.sh
./Bird4Static/install.sh
- Далее последует вопрос о количестве впн тунеллей. Если у вас их 2 и хотите, что бы они оба использовались, то введите 1. Если второго впн нет, то введите 0 или любое другое значение (приравняется к 0)
- Во время выполнения скрипта потребуется ввести имя интерфейса провайдера и интерфейса/ов VPN. Все данные будут выводиться в консоль перед вводом, так что необходимо только скопировать нужные имена и вставить в консоль
- После выполнения установки роутер получит маршрутизацию через впн до нужных ресурсов
ОПЦИОНАЛЬНО:
-
Так же можно принудительно указать ресурсы которые надо пустить через VPN или провайдера. Для этого нужно отредактировать файлы:
Bird4Static/lists/user-isp.list - для перенаправления трафика через провайдера
Bird4Static/lists/user-vpn.list - для перенаправления трафика через VPN (в случе использования двух впн маршруты будут добавлены для обоих)
Bird4Static/lists/user-vpn1.list и Bird4Static/lists/user-vpn2.list - появляется только при использвоании двух впн, указывает к какому адресу идти с определенного впн (по умолчанию 2ip.ru отрвыается через первый, yoip.ru через второй)
После редактирования надо запустить скрипт обновления
./Bird4Static/scripts/add-bird4_routes.sh
Для разбора файлов с пользовательскими данными используется iprange https://manpages.org/iprange
Подсказка по правилам заполнения файлов:
-
комментарии начинаются с решётки (#) или точки с запятой (;);
-
один IP на строку (без маски);
-
CIDR на строку (A.A.A.A/B);
-
диапазон IP-адресов на строку (A.A.A.A - B.B.B.B);
-
диапазон CIDR на строку (A.A.A.A/B - C.C.C.C/D); диапазон рассчитывается как сетевой адрес A.A.A.A/B до широковещательного адреса C.C.C.C/D;
-
CIDR могут быть заданы либо в формате префикса, либо в формате сетевой маски во всех случаях (включая диапазоны);
-
одно имя хоста в строке, разрешаемое с помощью DNS (если IP-адрес разрешается в несколько IP-адресов, все они будут добавлены) имена хостов не могут быть указаны в виде диапазонов;
-
пробелы и пустые строки игнорируются.
-
-
Если нужно пустить трафик только до ресурсов добавленных в файлы, которые указаны выше, без общего списка c antifilter.download, то нужно закомментровать, т.е. поставить знак # в начале строки URL0=https://antifilter.download/list/allyouneed.lst в файле /opt/etc/cron.daily/add-bird4_routes.sh. Потом нужно заполнить хотя бы один файл из п.5 и выполнить
./Bird4Static/scripts/add-bird4_routes.sh
Известные проблемы:
- Если у вас при заполнении файла user-isp.list перестают открываться ресурсы указанные в нем, то надо изменить переменную в скрипте add-bird4_routes.sh с ISP=eht3 (где eth3 - это интерфейс провайдера) на ISP=10.0.0.1 (где 10.0.0.1 - это шлюз провайдера). Узнать шлюз можно командой
ip route | grep default
ВНИМАНИЕ! Сам скрипт не отслеживает какой сейчас шлюз. Если вы указали один, а потом он изменился, то надо снова менять в файле значение переменной ISP и перезапускатть скрипт.
Более подробно что и как расписано здесь: