Jump to content

DennoN

Forum Members
  • Posts

    221
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by DennoN

  1. 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 и потом уже приступать к удалению пакетов

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

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

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

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

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

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

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

  5. Обновление!

    Версия 3.4

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

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

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

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

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

    • Thanks 2
    • Upvote 1
  6. @Сергей Плотников done спасибо!

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

    /opt/root/Bird4Static/scripts/add-bird4_routes.sh то тоже роутер крашится? вообще странно, тоже на 3.9.2 такой проблемы нет...

    Можно обновиться на новую версию и включить дебаг режим, тогда может будет понятно какой этап не крашит систему

    @MihaBor вообще в интерфейсе роутера на странице Диагностика есть кнопка Показать журнал. У меня там прилетают сообщения вида Started cron from . Started bird from .
    Только так как это происходит при запуске роутера, то этом окне инфы об этих сервисах может и не быть, так как ты не успеешь залезть в вэб морду перед тем, как роутер стартонет. Можно попробовать opkg выключать и включать.

     

  7. 52 минуты назад, MihaBor сказал:

    Добрый день, подскажите, как сделать что бы bird4 стартовал всегда после ребута?

    вообще все что в init должно само стартовать

    точно S04bird1-ipv4 и S10cron после перезагрузки роутера не запущены?

    проверить можно так:

    ~ # /opt/etc/init.d/S10cron check
     Checking cron...              alive.
    ~ # /opt/etc/init.d/S04bird1-ipv4 check
     Checking bird4...              alive.

    так же в init.d должен быть S02bird-table, но его check-ом не проверить)

  8. Обновление!

    Версия 3.3.2. Изменения по сравнению с 3.3

    ## v3.3.1

    1) Переделан метод составления общих списков для конфигурации с двумя впн. Теперь не будет второй раз запрашивать одно и тоже

    ## v3.3.2

    1) Добавлена возможность дебага, через переменную DEBUG. По умолчанию выставлено 0 - выключено. Что бы включить нужно установить DEBUG=1. Информация будет выводится на экран консоли. Выводится информация о том, какой шаг выполняется, и более детальная работа команд diff (выводит изменения, которые накладываются на текущие файлы с маршрутами) и iprange (выводит информацию о суммиризации списков и резолв доменов из пользовательских списков). После отладки рекомендуется установить обратно переменную в 0

    2) Сделана функция diff_funk, для уменьшения одинаковых команд в коде

     

  9. В 12.12.2022 в 16:48, usan сказал:

    Добрый день.

    Возможно ли добавлять в сформированные списки bird4-*.list комментарий из какой строки user-*.list получился маршрут?

    Возникла ситуация, в оба файла bird4-force-isp.list и bird4-force-vpn1.list попал один и тот же ip, хотелось понять из каких доменов.

    если еще актуально, то в скрипте add-bird4_routes.sh нужно к команде iprange добавить ключ -v

    было

        get_as_func "$2" | iprange --print-prefix "route " --print-suffix-nets " via $1;" --print-suffix-ips "/32 via $1;" -
      else
        get_as_func "$2" | iprange --print-prefix "route " --print-suffix-nets " via \"$1\";" --print-suffix-ips "/32 via \"$1\";" -
     

    стало

        get_as_func "$2" | iprange -v --print-prefix "route " --print-suffix-nets " via $1;" --print-suffix-ips "/32 via $1;" -
      else
        get_as_func "$2" | iprange -v --print-prefix "route " --print-suffix-nets " via \"$1\";" --print-suffix-ips "/32 via \"$1\";" -
     
    потом руками запустить скрипт и внимательно смотреть вывод. там будет много лишней информации, но инфа про какие домены в какие адреса резолвит - есть
    • Thanks 1
  10. там проблема в том, что при включенном впне как основным доступом в инет, у тебя даже днс траффик заворачивается в днс. А вот если заворачивать через выборочную маршрутизацию, то обычно сервера днсов туда не попадают и траффик ходит через провайдера на прямую. А дальше возможно магия на днсах в виде разных ответов в зависимости  от того, от куда клиент пришел. Или роутер выбирал более доступный днс, и при впне какой-то нормальный был доступнее, чем тот, который использовался при прямом доступе.

    • Thanks 1
  11. @nplm на роутере в консоли ssh

    dig www.themoviedb.org +short

    что выдает?

    у меня в зависимости от днса к котормоу обращаюсь выдает совершенно разные адреса, в том числе и 127.0.0.1 :)

    ну и с компа тоже, что получается при команде

    nslookup www.themoviedb.org

  12. Можно примерно как с двумя впн сделать. То есть из одного файла будут заполнятся 2 списка с разным приоритетом. Нужно менять конфиг bird указав брать данные из нового файла. Ну и скрипт add-bird route тоже менять, что бы он этот список генерил.

    • Thanks 1
  13. keenetic.com
    docs.keenetic.com

    отдают одинаковые адреса

    167.233.7.36
    167.233.6.242
    88.198.177.100

    так что добавить нужно только keenetic.com как вариант, и он уже добавлен

    ndss.keenetic.ndmsystems.com отдает адреса

    88.198.177.100 тот же, что и в keenetic.com
    91.142.81.244 в списках через впн он не участвует
    92.63.195.7 в списках через впн он не участвует
    167.233.7.36 тот же, что и в keenetic.com

    Да и пользовательские списки сделаны как пример, что бы люди сами добавляли что-то свое. Тут наоборот просили давно keenetic.com исключить.

  14. В 07.09.2022 в 22:20, mobile2004 сказал:

    а не лучше ли списки грузить в RAM по пути

    /tmp/

    всё-таки не все же разворачивают OPKG на USB

    а зачем? bird будет ругаться, после перезагрузки роутера на отсуствующие конфиги. + у меня при скачивании списков и их наполнения сравниваются 2 результата (прошлый и текущий) и в файл вносятся только изменения, а не перезатирается весь файл целиком). Только если места мало, но вроде списки не так много едят (все 7 файлов весят чуть меньше 700кбайт)

  15. Обновление!

    Версия 3.3
    Переделана команда в скрипте установки, которая выводит список интерфейсов и их адресов. Теперь стала более универсальной
    Добавлен скрипт для удаления.
    Добавлена поддержка AS номеров в пользовательских списках

    Указывать AS нужно в виде AS13414, регистр важен(!), AS должно быть большими буквами. Одна строка - один номер AS(!). Поддерживаются комментарии после номера через пробел, скрипт на них ругаться не будет. Запросы идут через сторонний сервер, который может долго отвечать, так что если будет указано много AS в списках, то скрипт может отрабатывать сильно дольше

    git clone -b v3.3 https://github.com/DennoN-RUS/Bird4Static.git

    • Thanks 3
    • Upvote 1
  16. Думаю сделать что бы скрипт парсил в списках от пользователя номера автономок (AS*), узнавал адреса, и добавлял в маршруты

    Но есть вопрос, как часто эти AS могут изменяться? допустим я получаю вывод командой

    whois -h whois.radb.net -- "-i origin AS32934" | grep ^route: | awk "{print \$2}"

    нужно ли накручивать логику, что результат этой команды пишем в отдельный файл и потом уже при следующем запуске скрипта запрашиваем в файле инфу о данной автономке и если она там есть, то выводим из файла, а если нет, то выполняем команду выше?

    данная логика усложнит скрипт, но ускорит наполение списков, если вносим туда AS. Так же в случае, если данные по AS поменялись, то скрипт об этом не узнает - нужно будет ручное удаление из определенного файла и тогда скрипт не найдя инфы о автономке запросит данные снова.

    Стоит заморачиваться или сделать просто логику типа: видим AS - всегда спрашиваем через whois о ней

    • Upvote 1
  17. @dsolo а разве по пути /opt/etc/ndm/ifstatechanged.d/ этого файла нет? Это файл был в версиях до 3

    В первой он просто копировался в эту папку,  во второй это был симлинк с файла addtable.sh который в папке Bird4Static/scripts

    Можно там его ещё поискать

     

    В 17.06.2022 в 20:46, drfischer сказал:

    Надо еще и faq.netflix.com или help.netflix.com отдельной строкой и все остальное, чтоб полноценно сайт работал?

    Если эти сайты выдают разные ip адреса, то да. Надо добавлять все. Если же они выдают одни и те же адреса, то нет достаточно добавить один.

    Решения через bird нет, нужно смотреть в сторону ipset и тд. Там через днс можно направлять трафик в тунель

×
×
  • Create New...