Перейти к содержанию

Рекомендуемые сообщения

Опубликовано
1 час назад, DennoN сказал:

Обновление!

Версия 3.4

1) Переделан установщик на более универсальную версию. Теперь в теории может работать не только с кинетиками, а с любыми роутерами, у которых домашняя папка Entware содержит /opt (тестировал только на кинетике, так что могут быть проблемы с другими, но вроде бы не должно)

2) В diff_funk добавлен алгоритм проверки. Сейчас проверяется только скачанный список с антифильтра, если он придет пустой или не скачается, то изменения в маршруты внесены не будут (если сервис ляжет или изменится адрес, то пока не будет указан рабочий урл - скрипт не будет обнулять список роутов)

3) В установочном скрипте добавлена возможность выбрать из двух сервисов для получения списков блокировок или ввода своего

Список изменений в коде и в ридми с чейнджолгом

https://github.com/DennoN-RUS/Bird4Static/compare/v3.3.2...v3.4

А  можно этот апдейт в шапку темы( в самый первый пост)? А то тут затеряется....

  • Ответов 627
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано
В 10.01.2023 в 21:26, DennoN сказал:

по поводу ребутов. А если просто запустить скрипт

Если вручную запускать скрипт - ребута не происходит, даже если запускать множество раз. Дебаг режим включал, ребуты происходили, но журнале роутера ничего нового нет.
Убедился даже что дело именно в bird4static - поставил с пуля entware без bird4static, ребутов нет.
Поставил с нуля версию 3.4, не знаю совпадение или нет, но ребутнулся прямо при установке) После перезапуска заново запустил установку, все успешно. Но проблема с ребутами осталась.
Есть идеи в какую сторону копать, как отловить ошибку?

Опубликовано (изменено)

@FixFever могу предложить убрать файл из /opt/etc/cron.hourly/add-bird4_routes.sh
просто скрипт раз в час конкретно этот скрипт и запускает, но руками он у тебя проходит и роутер не валит, что очень странно. Если уберешь, то обновления происходить не будут. Но может перезагрузки продолжатся? Ну и при запуске скрипта может в консоль каике-то ошибки все-таки летят?

Изменено пользователем DennoN
Опубликовано

Получаю такую ошибку, что я делаю не так?

 

Скрытый текст

~ # 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.

 

Опубликовано
В 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. Отслеживал журнал роутера в реалтайме на момент ребута - в нем нет ошибок. После ребута часть записей пропадает - видимо не успело сохранится.

Опубликовано
1 час назад, FixFever сказал:

Переустановил с нуля, удалил файл root\Bird4Static\scripts\add-bird4_routes.sh.
Удивительно, но ребуты всё равно продолжились. Всё так же: несколько раз в день, но не чаще чем раз в час, при этом всегда одно и тоже время часа, например в 18:13, 19:13, 22:13. Отслеживал журнал роутера в реалтайме на момент ребута - в нем нет ошибок. После ребута часть записей пропадает - видимо не успело сохранится.

Посмотрите, что есть в crontab-е часовом по этому адресу. Явно что-то роутер запускает, уберите оттуда задание 

image.png.4f7c3450663974cf4bf1f25b51d130e4.png

Опубликовано (изменено)

странно, что в 13 минут. настройки cat /opt/etc/crontab выдают 01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly

то есть выполняется в 01 минуту каждый час. Может конечно что-то в кроне так долго висит, что до 13 минут доходит и роутер ломается

Изменено пользователем DennoN
Опубликовано (изменено)

Screenshot_123.png.4737a78bc83d8af303d384ed0419e5ab.png

1 час назад, MihaBor сказал:

Посмотрите, что есть в crontab-е часовом по этому адресу.

Перепроверил, удалил даже ссылку на удалённый файл, ребуты всё равно есть...
 

1 час назад, DennoN сказал:

странно, что в 13 минут.

13 минут просто пример что в одно и тоже кол-во минут часа происходит ребут. Например сегодня были ребуты в 14:25, 15:25...

По всей видимости дело не в кроне, но точно из-за bird4static, без установки скрипта ребутов не происходит. Может проблема в bird4?

Изменено пользователем FixFever
Опубликовано
В 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?

Опубликовано (изменено)

@Александр Рыжов да, про wg и ifname я уже в курсе) работает)

думаю может его тоже в скрипты запихнуть, но пока не решил, как на 2 впна сделать вариант, что бы при отсутствии одного через второй автоматом трафик ходил

а bird в текущих скриптах, он как демон маршрутизации. сам отключает роутинг, если интерфейс недоступен, обновляет и тд. можно было писать и через команды ip route add, но через bird, который сам читает файлы и следит за интерфейсами в данном случае мне было удобнее + приоритеты маршрутизации те же)

ну и если сервис ляжет по бгп - маршруты пропадут. а в текущем виде они останутся, что + в надежность и не зависимость от аптайма стороннего ресурса

Изменено пользователем DennoN
Опубликовано
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 и потом уже приступать к удалению пакетов

Опубликовано (изменено)

@PASPARTU

ip route list table 1000 - отобразит все , что указано в пользовательских файлах

ip route list table 1001 - траффик из антифильтра в первый впн и единственный, если система с одним впн. если система с двумя впн, то там еще будут маршруты из принудительного перенаправления в первый впн

ip route list table 1002 - траффик из антифильтра во второй впн + то, что принудительно отправляется во второй впн
 

или файлы /opt/etc/bird4*.list именно оттуда маршруты добавляются в таблицу маршрутизации

Изменено пользователем DennoN
Опубликовано
В 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 на сервере и клиенте. Теперь всё работает как часы.
Тем не менее, спасибо за помощь и за сам скрипт!
 

Опубликовано

Важное обновление для тех, у кого в пользовательских списках есть номера автономных систем AS

Версия 3.4.2

Сервис radb.net перестал работать, скрипт передела на работу с ripe.net

https://github.com/DennoN-RUS/Bird4Static/compare/v3.4.1...v3.4.2

Опубликовано

Добрый день!

Подскажите пожалуйста хотел использовать другой лист, вместо URL0=https://antifilter.download/list/allyouneed.lst указал URL0=https://antifilter.download/list/ip.lst, потом удалил следующие файлы antifilter.list и bird4-base-vpn1.list, после выполнил запуск скрипта вручную, только это не сработало прилетела только одна запись. Возможно такой возможности и нет, но в allyouneed.lst стало слишком много лишнего, от этого только растет белый список.
Заранее большое спасибо за ответ.

Опубликовано

@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

и попробуй снова запустить скрипт

Опубликовано

Обновление

Версия 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

Опубликовано (изменено)

Важное обновление!

Версия 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

Изменено пользователем DennoN
Опубликовано
14 часа назад, DennoN сказал:

Важное обновление!

Версия v3.5

Скрипт теперь зависает на "STEP_3: diff antifilter.list", если (как раньше можно было) закомментирована переменная URL0

Цитата

Можно отключить скачивание списка установив переменную DISABLE_URLS=1 в файле add-bird4_routes.sh

А вот это похоже совсем не работает.

Т.е. как на версии 3.5 правильно работать без скачанного списка?

Опубликовано (изменено)

@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 такое не сработает

Изменено пользователем DennoN
Опубликовано

@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 тысяч строк в каждом

 

Опубликовано

@DennoN спасибо) теперь все встало на свои места, я скачал версию 3.5 за 3 минуты до релиза версии 3.5.1, еще думаю что за переменная DISABLE_URL такая, в скриптах нигде не упоминается

Опубликовано

@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.

Опубликовано (изменено)

@-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, а потом уже патч накладывался. Сейчас просто пустой файл создается. Раньше почему-то нужно было, сейчас у меня и так работает. Возможно надо в установку/обновление нужных пакетов засунуть в установку

Изменено пользователем DennoN
Опубликовано
19 минут назад, DennoN сказал:

@-Veter-

выполни

....

у меня там в 3.5.1 помялась начальная инициализация фалойлов. раньше если их не было, то файл создавался и в него писалась 1, а потом уже патч накладывался. Сейчас просто пустой файл создается. Раньше почему-то нужно было, сейчас у меня и так работает. Возможно надо в устанвоку засунуть нужный пакет

не помогает 🤔

Опубликовано
4 минуты назад, -Veter- сказал:

не помогает 🤔

так и не должно) мне нужно понять в чем проблема, поэтому и прошу выполнить команды и то, что они выводят - скинуть мне)

Опубликовано
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
~ #

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.