krass Posted January 13, 2023 Share Posted January 13, 2023 1 час назад, DennoN сказал: Обновление! Версия 3.4 1) Переделан установщик на более универсальную версию. Теперь в теории может работать не только с кинетиками, а с любыми роутерами, у которых домашняя папка Entware содержит /opt (тестировал только на кинетике, так что могут быть проблемы с другими, но вроде бы не должно) 2) В diff_funk добавлен алгоритм проверки. Сейчас проверяется только скачанный список с антифильтра, если он придет пустой или не скачается, то изменения в маршруты внесены не будут (если сервис ляжет или изменится адрес, то пока не будет указан рабочий урл - скрипт не будет обнулять список роутов) 3) В установочном скрипте добавлена возможность выбрать из двух сервисов для получения списков блокировок или ввода своего Список изменений в коде и в ридми с чейнджолгом https://github.com/DennoN-RUS/Bird4Static/compare/v3.3.2...v3.4 А можно этот апдейт в шапку темы( в самый первый пост)? А то тут затеряется.... Quote Link to comment Share on other sites More sharing options...
FixFever Posted January 14, 2023 Share Posted January 14, 2023 В 10.01.2023 в 21:26, DennoN сказал: по поводу ребутов. А если просто запустить скрипт Если вручную запускать скрипт - ребута не происходит, даже если запускать множество раз. Дебаг режим включал, ребуты происходили, но журнале роутера ничего нового нет. Убедился даже что дело именно в bird4static - поставил с пуля entware без bird4static, ребутов нет. Поставил с нуля версию 3.4, не знаю совпадение или нет, но ребутнулся прямо при установке) После перезапуска заново запустил установку, все успешно. Но проблема с ребутами осталась. Есть идеи в какую сторону копать, как отловить ошибку? Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 15, 2023 Author Share Posted January 15, 2023 (edited) @FixFever могу предложить убрать файл из /opt/etc/cron.hourly/add-bird4_routes.sh просто скрипт раз в час конкретно этот скрипт и запускает, но руками он у тебя проходит и роутер не валит, что очень странно. Если уберешь, то обновления происходить не будут. Но может перезагрузки продолжатся? Ну и при запуске скрипта может в консоль каике-то ошибки все-таки летят? Edited January 15, 2023 by DennoN Quote Link to comment Share on other sites More sharing options...
Nefertum Posted January 16, 2023 Share Posted January 16, 2023 Получаю такую ошибку, что я делаю не так? Скрытый текст ~ # opkg install git git-http Installing git (2.34.1-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/git_2.34.1-1_mipsel-3.4.ipk wget: server returned error: HTTP/1.1 404 Not Found Installing git-http (2.34.1-1) to root... Downloading http://bin.entware.net/mipselsf-k3.4/git-http_2.34.1-1_mipsel-3.4.ipk wget: server returned error: HTTP/1.1 404 Not Found Collected errors: * opkg_download: Failed to download http://bin.entware.net/mipselsf-k3.4/git_2.34.1-1_mipsel-3.4.ipk, wget returned 1. * opkg_install_pkg: Failed to download git. Perhaps you need to run 'opkg update'? * opkg_install_cmd: Cannot install package git. * opkg_download: Failed to download http://bin.entware.net/mipselsf-k3.4/git-http_2.34.1-1_mipsel-3.4.ipk, wget returned 1. * opkg_install_pkg: Failed to download git-http. Perhaps you need to run 'opkg update'? * opkg_install_cmd: Cannot install package git-http. Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 16, 2023 Author Share Posted January 16, 2023 (edited) @Nefertum попробуй перед этим opkg update запустить, а потом уже opkg install git git-http Edited January 16, 2023 by DennoN Quote Link to comment Share on other sites More sharing options...
FixFever Posted January 18, 2023 Share Posted January 18, 2023 В 15.01.2023 в 11:44, DennoN сказал: могу предложить убрать файл из /opt/etc/cron.hourly/add-bird4_routes.sh Переустановил с нуля, удалил файл root\Bird4Static\scripts\add-bird4_routes.sh. Удивительно, но ребуты всё равно продолжились. Всё так же: несколько раз в день, но не чаще чем раз в час, при этом всегда одно и тоже время часа, например в 18:13, 19:13, 22:13. Отслеживал журнал роутера в реалтайме на момент ребута - в нем нет ошибок. После ребута часть записей пропадает - видимо не успело сохранится. Quote Link to comment Share on other sites More sharing options...
MihaBor Posted January 18, 2023 Share Posted January 18, 2023 1 час назад, FixFever сказал: Переустановил с нуля, удалил файл root\Bird4Static\scripts\add-bird4_routes.sh. Удивительно, но ребуты всё равно продолжились. Всё так же: несколько раз в день, но не чаще чем раз в час, при этом всегда одно и тоже время часа, например в 18:13, 19:13, 22:13. Отслеживал журнал роутера в реалтайме на момент ребута - в нем нет ошибок. После ребута часть записей пропадает - видимо не успело сохранится. Посмотрите, что есть в crontab-е часовом по этому адресу. Явно что-то роутер запускает, уберите оттуда задание Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 18, 2023 Author Share Posted January 18, 2023 (edited) странно, что в 13 минут. настройки cat /opt/etc/crontab выдают 01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly то есть выполняется в 01 минуту каждый час. Может конечно что-то в кроне так долго висит, что до 13 минут доходит и роутер ломается Edited January 18, 2023 by DennoN Quote Link to comment Share on other sites More sharing options...
FixFever Posted January 18, 2023 Share Posted January 18, 2023 (edited) 1 час назад, MihaBor сказал: Посмотрите, что есть в crontab-е часовом по этому адресу. Перепроверил, удалил даже ссылку на удалённый файл, ребуты всё равно есть... 1 час назад, DennoN сказал: странно, что в 13 минут. 13 минут просто пример что в одно и тоже кол-во минут часа происходит ребут. Например сегодня были ребуты в 14:25, 15:25... По всей видимости дело не в кроне, но точно из-за bird4static, без установки скрипта ребутов не происходит. Может проблема в bird4? Edited January 18, 2023 by FixFever Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted January 18, 2023 Share Posted January 18, 2023 В 27.03.2020 в 22:57, DennoN сказал: Изначально у меня была схема с BGP, настроенная по инструкции https://keenetic-gi.ga/2019/01/22/bgp_routing.html Но потом она перестала работать, да и соединение по протоколу wireguard я так и не осилил как добавить в схему работы с BGP В случае использования Wireguard'а заменить: protocol bgp antifilter { import filter { if martians() then reject; gw = 10.9.0.1; # override route nexthop accept; }; на: protocol bgp antifilter { import filter { if martians() then reject; ifname = "nwg1"; # override route nexthop accept; }; Спасибо за решение, изложенное в начале темы. Для чего нужен bird, если не используется BGP? 1 Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 18, 2023 Author Share Posted January 18, 2023 (edited) @Александр Рыжов да, про wg и ifname я уже в курсе) работает) думаю может его тоже в скрипты запихнуть, но пока не решил, как на 2 впна сделать вариант, что бы при отсутствии одного через второй автоматом трафик ходил а bird в текущих скриптах, он как демон маршрутизации. сам отключает роутинг, если интерфейс недоступен, обновляет и тд. можно было писать и через команды ip route add, но через bird, который сам читает файлы и следит за интерфейсами в данном случае мне было удобнее + приоритеты маршрутизации те же) ну и если сервис ляжет по бгп - маршруты пропадут. а в текущем виде они останутся, что + в надежность и не зависимость от аптайма стороннего ресурса Edited January 18, 2023 by DennoN 2 Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 18, 2023 Author Share Posted January 18, 2023 45 минут назад, FixFever сказал: По всей видимости дело не в кроне, но точно из-за bird4static, без установки скрипта ребутов не происходит. Может проблема в bird4? Ну если совсем топорный метод, то выполни по одной команде и жди следующего ребута (по товим словам примерно час), если он произошел, то выполняй следующую команду и так пока ребут не прекратится opkg remove curl opkg remove cron opkg remove bind-dig opkg remove iprange opkg remove whois opkg remove bird1-ipv4 в итоге после того, как ребуты прекратятся, то можно понять какой последний компонент удалял и видимо он и ломал систему. По факту это все, что ставит скрипт. так же еще при запуске выполняется /opt/etc/init.d/S02bird-table можно его сначала удалить /opt/etc/init.d/S02bird-table stop и rm /opt/etc/init.d/S02bird-table и потом уже приступать к удалению пакетов Quote Link to comment Share on other sites More sharing options...
PASPARTU Posted January 19, 2023 Share Posted January 19, 2023 А как посмотреть маршруты которые строит бирд? Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 19, 2023 Author Share Posted January 19, 2023 (edited) @PASPARTU ip route list table 1000 - отобразит все , что указано в пользовательских файлах ip route list table 1001 - траффик из антифильтра в первый впн и единственный, если система с одним впн. если система с двумя впн, то там еще будут маршруты из принудительного перенаправления в первый впн ip route list table 1002 - траффик из антифильтра во второй впн + то, что принудительно отправляется во второй впн или файлы /opt/etc/bird4*.list именно оттуда маршруты добавляются в таблицу маршрутизации Edited January 19, 2023 by DennoN 1 Quote Link to comment Share on other sites More sharing options...
FixFever Posted January 22, 2023 Share Posted January 22, 2023 В 18.01.2023 в 16:27, DennoN сказал: По факту это все, что ставит скрипт. так же еще при запуске выполняется /opt/etc/init.d/S02bird-table можно его сначала удалить /opt/etc/init.d/S02bird-table stop и rm /opt/etc/init.d/S02bird-table и потом уже приступать к удалению пакетов Остановил, ребуты прекратились, но и обход перестал работать😅 В общем, я еще покопался, узнал даже что можно расширить RAM кинетика с помощью внешнего SSD. Попробовал, тоже не помогло. Перечитал релизноут 3.9.2, с которого у меня пошли ребуты, заметил пункт: Цитата Соединение L2TP/IPsec VPN теперь восстанавливается правильно после восстановления подключения к Интернету. [NDM-2507] Я как раз использую клиент L2TP/IPsec. Видимо один баг пофиксили, новый добавили. Поднял OpenVPN на своей VPS-ке. Если поставить клиент OpenVPN в первый приоритет - заблокированные ресурсы открываются, но выборочный обход с Bird4Static не работает, ресурсы не открываются. Пробовал оба новых интерфейсов в ifconfig. Поднял WireGuard. Выборочный обход работает, ребутов нет. Разве что подключение к VPN периодически отваливалось и ресурсы переставали открываться - исправилось настройкой persistent-keepalive = 25 на сервере и клиенте. Теперь всё работает как часы. Тем не менее, спасибо за помощь и за сам скрипт! 2 Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 27, 2023 Author Share Posted January 27, 2023 Важное обновление для тех, у кого в пользовательских списках есть номера автономных систем AS Версия 3.4.2 Сервис radb.net перестал работать, скрипт передела на работу с ripe.net https://github.com/DennoN-RUS/Bird4Static/compare/v3.4.1...v3.4.2 2 Quote Link to comment Share on other sites More sharing options...
patriot2101 Posted January 28, 2023 Share Posted January 28, 2023 Добрый день! Подскажите пожалуйста хотел использовать другой лист, вместо URL0=https://antifilter.download/list/allyouneed.lst указал URL0=https://antifilter.download/list/ip.lst, потом удалил следующие файлы antifilter.list и bird4-base-vpn1.list, после выполнил запуск скрипта вручную, только это не сработало прилетела только одна запись. Возможно такой возможности и нет, но в allyouneed.lst стало слишком много лишнего, от этого только растет белый список. Заранее большое спасибо за ответ. Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 28, 2023 Author Share Posted January 28, 2023 @patriot2101 замени в файле add-bird4_routes.sh #DIFF FUNCTION diff_funk() { if [[ "$3" == "check" ]]; then if grep -q -E "([0-9]{1,3}.){3}[0-9]{1,3}/[0-9]{1,3}" $2; then continue; else return; fi fi строку где if grep ... на if grep -q -E "([0-9]{1,3}.){3}[0-9]{1,3}" $2; then continue; else return; fi и попробуй снова запустить скрипт Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 28, 2023 Author Share Posted January 28, 2023 Обновление Версия 3.4.3 По факту небольшие правки 1) Изменение проверки скачиваемого файла (теперь файл проверяется на наличие любого IP адреса, а не на IP/MASK как это было ранее) 2) Небольшое изменение для AS (в прошлой версии маска ip адреса могла состоять из трех цифр, что не возможно) 3) Правки в функции для AS (раньше из пользовательских листов могло не все передаваться в функцию iprange) 4) В дебаг режим добавлены пустые строки для более понятного вывода на экран https://github.com/DennoN-RUS/Bird4Static/compare/v3.4.2...v3.4.3 Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 28, 2023 Author Share Posted January 28, 2023 (edited) Важное обновление! Версия v3.5 Если стояла какая-то из версий v3.4, то обновляться обязательно, в тех версиях немного поломан забор списка с адресами 1) Исправлен критичный баг на проверку скаченного списка, по факту с версии v3.4 в файл antifilter.list попадали не все адреса 2) Создана папка Install/common в которую вынесено все, что не зависит от количества vpn 3) Все функции из файла add-bird4_routes.sh вынесены в файл func.sh 4) Добавлен вывод на экран одинаковых маршрутов из файлов bird4-force*.list 5) Оптимизирована функция ipr_func https://github.com/DennoN-RUS/Bird4Static/compare/v3.4.3...v3.5 Версия v3.5.1 1) Исправлен критичный баг, при котором не создавались начальные файлы при установке c нуля в версии v3.5 2) Добавлена возможность отключить скачивание списка установив переменную DISABLE_URL=1 в файле add-bird4_routes.sh. После установки скрипт не будет скачивать список, а работать будет только на листах пользователя (user-*.list) 3) Теперь в переменную URLS можно вносить несколько урлов через пробел. Например URLS="https://antifilter.download/list/allyouneed.lst https://community.antifilter.download/list/community.lst" https://github.com/DennoN-RUS/Bird4Static/compare/v3.5...v3.5.1 Edited January 29, 2023 by DennoN 1 Quote Link to comment Share on other sites More sharing options...
usan Posted January 29, 2023 Share Posted January 29, 2023 14 часа назад, DennoN сказал: Важное обновление! Версия v3.5 Скрипт теперь зависает на "STEP_3: diff antifilter.list", если (как раньше можно было) закомментирована переменная URL0 Цитата Можно отключить скачивание списка установив переменную DISABLE_URLS=1 в файле add-bird4_routes.sh А вот это похоже совсем не работает. Т.е. как на версии 3.5 правильно работать без скачанного списка? Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 29, 2023 Author Share Posted January 29, 2023 (edited) @usan cat /opt/root/Bird4Static/scripts/add-bird4_routes.sh #!/bin/sh #USER VARIABLE DEBUG=0 DISABLE_URLS=1 ... ~/Bird4Static # ./scripts/add-bird4_routes.sh patching file /opt/root/Bird4Static/lists/antifilter.list patching file /opt/etc/bird4-base-vpn1.list patching file /opt/etc/bird4-base-vpn2.list Restarting bird ~/Bird4Static # cat /opt/etc/bird4-base-vpn1.list ~/Bird4Static # cat /opt/etc/bird4-base-vpn2.list ~/Bird4Static # файлы пустые ip route list table 1001 и ip route list table 1002 выдает только то, что в файлах лежит При этом переменная URLS (в 3.5.1 переименована с URL0) должна быть задана любым значением Ну и это все на версии 3.5.1. В 3.5 такое не сработает Edited January 29, 2023 by DennoN Quote Link to comment Share on other sites More sharing options...
usan Posted January 29, 2023 Share Posted January 29, 2023 @DennoN🤷♂️ cat /opt/root/Bird4Static/scripts/add-bird4_routes.sh #!/bin/sh #USER VARIABLE DEBUG=0 ISP=`ip route | grep default | cut -f 3 -d' '` VPN1=nwg1 VPN2=nwg2 HOMEPATH=/opt/root/Bird4Static SYSTEM_FOLDER=/opt URL0=https://antifilter.network/download/ipsmart.lst DISABLE_URLS=1 antifilter.list, bird4-base-vpn1.list, bird4-base-vpn2.list - заполнены, по 26 тысяч строк в каждом Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 29, 2023 Author Share Posted January 29, 2023 URL0=https://antifilter.network/download/ipsmart.lst значит версия 3.5, а не 3.5.1. обновись) Quote Link to comment Share on other sites More sharing options...
usan Posted January 29, 2023 Share Posted January 29, 2023 @DennoN спасибо) теперь все встало на свои места, я скачал версию 3.5 за 3 минуты до релиза версии 3.5.1, еще думаю что за переменная DISABLE_URL такая, в скриптах нигде не упоминается 1 Quote Link to comment Share on other sites More sharing options...
-Veter- Posted January 29, 2023 Share Posted January 29, 2023 @DennoN что-то и в 3.5.1 ошибки идут при установке с нуля.. creating /opt/root/Bird4Static/lists/antifilter.list patch: can't open '/opt/root/Bird4Static/lists/antifilter.list': File exists creating /opt/etc/bird4-force-isp.list patch: can't open '/opt/etc/bird4-force-isp.list': File exists creating /opt/etc/bird4-force-vpn1.list patch: can't open '/opt/etc/bird4-force-vpn1.list': File exists Restarting bird killall: bird4: no process killed Starting cron... done. Starting bird4... done. Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 29, 2023 Author Share Posted January 29, 2023 (edited) @-Veter- выполни ls -l /opt/root/Bird4Static/lists/antifilter.list ls -l /opt/etc/bird4-*.list opkg list-installed | grep diff opkg list-installed | grep patch и покажи, что в выводе будет у меня там в 3.5.1 поменялась начальная инициализация файлов. раньше если их не было, то файл создавался и в него писалась 1, а потом уже патч накладывался. Сейчас просто пустой файл создается. Раньше почему-то нужно было, сейчас у меня и так работает. Возможно надо в установку/обновление нужных пакетов засунуть в установку Edited January 29, 2023 by DennoN Quote Link to comment Share on other sites More sharing options...
-Veter- Posted January 29, 2023 Share Posted January 29, 2023 19 минут назад, DennoN сказал: @-Veter- выполни .... у меня там в 3.5.1 помялась начальная инициализация фалойлов. раньше если их не было, то файл создавался и в него писалась 1, а потом уже патч накладывался. Сейчас просто пустой файл создается. Раньше почему-то нужно было, сейчас у меня и так работает. Возможно надо в устанвоку засунуть нужный пакет не помогает 🤔 Quote Link to comment Share on other sites More sharing options...
DennoN Posted January 29, 2023 Author Share Posted January 29, 2023 4 минуты назад, -Veter- сказал: не помогает 🤔 так и не должно) мне нужно понять в чем проблема, поэтому и прошу выполнить команды и то, что они выводят - скинуть мне) Quote Link to comment Share on other sites More sharing options...
-Veter- Posted January 29, 2023 Share Posted January 29, 2023 43 минуты назад, DennoN сказал: так и не должно) мне нужно понять в чем проблема, поэтому и прошу выполнить команды и то, что они выводят - скинуть мне) последние 2 команды ничего не выводят ~ # ls -l /opt/root/Bird4Static/lists/antifilter.list -rw-r--r-- 1 root root 0 Jan 29 17:50 /opt/root/Bird4Static/lists/antifilter.list ~ # ls -l /opt/etc/bird4-*.list -rw-r--r-- 1 root root 0 Jan 29 17:50 /opt/etc/bird4-base-vpn1.list -rw-r--r-- 1 root root 0 Jan 29 17:50 /opt/etc/bird4-force-isp.list -rw-r--r-- 1 root root 0 Jan 29 17:50 /opt/etc/bird4-force-vpn1.list ~ # opkg list-installed | grep diff ~ # opkg list-installed | grep patch ~ # Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.