Jump to content

Mr.Scayger

Forum Members
  • Posts

    48
  • Joined

  • Last visited

Everything posted by Mr.Scayger

  1. Всем доброго времени суток) Вопрос знающим - как осуществить редактирование конфигурации скриптами? Суть задачи в следующем. В конфигурации подключения указано множество серверов, выбираемых рандомно. Хочу сделать скрипт, ведущий статистику подключения к серверам и при нескольких неудачных попытках удалять сервер из конфигурации. Если такое возможно, прошу намекнуть, в какую сторону копать.
  2. На самом деле прошу подсказать по синтаксису, из хелпа по bird непонятно. Если пишу так protocol static { route 195.201.201.32/32 multipath via 10.84.0.28 weight 2 via 10.80.0.2 weight 1 ; } ошибок нет Если так protocol static { route 195.201.201.32/32 via "ovpn_br0" ; } тоже ошибок нет Если так protocol static { route 195.201.201.32/32 multipath via "ovpn_br0" via "ovpn_br1" ; } то ошибки. Как сделать правильно???
  3. Всем доброго времени суток и с наступившим ))) В Linux && Bird новичок, поэтому прошу помощи. Есть текстовый файл с префиксами сетей вида х.х.х.х/32, для примера взял список торрентов из TorrentMonitor и добавил 2ip.ru для проверки. На роутере подняты несколько vpn-интерфейсов. Необходимо маршрутизировать трафик до этих сетей через все vpn интерфейсы, используя bird и route multipath. Почти всё, что находил в интернете, касалось bgp и других протоколов, про статическую маршрутизацию почти ничего. Сделал тестовую конфигурацию. Если в ней всё прописывать руками (каждый маршрут), то работает. Если попытаться обобщить, используя фильтр и маршрут по умолчанию, соответственно нет. Ошибка и в том, и в другом. Прикладываю неработающую конфигурацию с тестовыми сетями. Прошу наставить на путь истинный))) Если это возможно вообще, требуется импортировать список сетей из файла в конфиг и прописывать маршруты через имена интерфейсов, т.к. ip vpn всегда меняются. Таблица 1000 создана руками и заполняется только при ручном прописывании маршрутов. Последняя тестовая конфигурация :
  4. Судя по записи Server started on 0.0.0.0:6687 он запускается. Не надо нажимать ^C, достаточно Enter По предыдущим опытам установки составил себе немного другую инструкцию, которую перепроверил на днях. Установка удачно проходит, кроме новых косяков Питона 3.10. Список изменений и дополнений. Необходимые пакеты: opkg install python3-base python3 python3-pip gcc make patch coreutils-install wget-nossl unzip dos2unix --force-depends Для Питона: pip3 install –upgrade "setuptools<58" - в более новых другие косяки лезут pip3 install --upgrade pip pip3 install wheel pyparsing Обязательно преобразовать файлы дистрибутива в Unix кодировку: find /opt/monitorrent -depth -type f -name "*.py" -exec dos2unix -u {} \; Скрипт запуска (/opt/etc/init.d/S95tormon) сделал из шаблона, чтобы параметры свои передавать: Запуск командой: sh /opt/etc/init.d/S95tormon start
  5. Всем доброго времени суток) В связи с недавней поломкой monitorrent из-за обновления Python3 до 3.10 возник закономерный вопрос - можно ли выборочно запретить обновление пакетов через OPKG? Чтобы не обновлять все остальные поштучно. На Малинке это делается так: sudo echo 'kodi hold' | sudo dpkg --set-selections sudo echo 'kodi-bin hold' | sudo dpkg --set-selections Есть ли тут такая возможность?
  6. Итог - работает. Правки надо вносить в 5 файлов: "/opt/lib/python3.10/site-packages/falcon/util/structures.py" "/opt/lib/python3.10/site-packages/attrdict/mapping.py" "/opt/lib/python3.10/site-packages/attrdict/mixins.py" "/opt/lib/python3.10/site-packages/attrdict/merge.py" "/opt/lib/python3.10/site-packages/attrdict/default.py"
  7. Поменял collections на collections.abc во всех пакетах, выдающих ошибку при запуске. Вроде запустился. Осталось одно предупреждение: С ним что делать? Игнорировать??
  8. Куча других ошибок появляется. Моего ума на это не хватает)) Пробовал по этому: https://stackoverflow.com/questions/53978542/how-to-use-collections-abc-from-both-python-3-8-and-python-2-7 Тоже методом тыка, не проканало.
  9. Поставил Entware с нуля на другую флешку. Установил monitorrent. Не работает. Куча ошибок.
  10. А как выглядят переменные PYTHONPATH и PYTHONHOME на работающем роутере??
  11. Это на крайний случай, когда совсем помрёт. Тем более на 3.7.1 какие-то проблемы с установкой, не вникал пока. По ответам в инете это проблемы с переменными окружения в питоне и отсутствие некоторых линков. Пока поразбираюсь. Очень уж переставлять неохота...
  12. Пытался. Даже питон 3й подчистую сдуру снёс) Как я понимаю теперь, достаточно было даунгрейдить pip3 до версии <58. Теперь и питон как-то криво стоит. При запуске команды pip3 install -r requirements.txt или pip3 install <имя модуля> выдаёт одну и ту же ошибку:
  13. После обновления python до 3.10 работать перестал. Кто-нибудь знает, как победить?
  14. Удалить все скрипты, настроить VPN, в админке кинетика "Сетевые правила/Маршрутизация" добавить вручную нужные маршруты по типу: 35.184.0.0/13 vpn-интерфейс Да Google LLC (Spotify) 208.85.40.0/21 vpn-интерфейс Да www.pandora.com
  15. Важное дополнение - если на роутере включены ПРИОРИТЕТЫ ПОДКЛЮЧЕНИЙ и настроена ПРИВЯЗКА УСТРОЙСТВ К ПРОФИЛЯМ, то устройство, с которого производится проверка, должно находиться в ОСНОВНОМ ПРОФИЛЕ. Убил на это кучу времени, пока понял. Возможно, что если поиграть настройками дополнительных профилей, то заработает и с ними, но я не стал экспериментировать.
  16. Диагностика ошибок для моего метода Открыть сайт 2ip.ru и посмотреть, какой ip показывает. Если с ovpn_br2, то работает. Если нет, искать ошибки. Всем скриптам естественно должны были быть даны права на выполнение командой "chmod +x". 1.Командой ps | grep bird проверить, запущен ли bird. В выводе будет строка типа "4413 root 52372 S bird4 -c /opt/etc/bird4.conf". Если не запущен, искать причины. Смотреть в логе ошибки, либо воспользоваться командой "bird4 -p -c /opt/etc/bird4.conf". 2.Командой "ip rule list" убедиться в наличии таблиц с номерами 1001,1002,1003. В выводе будут строки: 30001: from all lookup 1001 30002: from all lookup 1002 30003: from all lookup 1003 Если их нет, ошибка в скрипте /opt/etc/init.d/S02bird-table. Запустить его вручную "sh /opt/etc/init.d/S02bird-table start" и разобраться в ошибках, если есть. 3.В /opt/etc должны появиться файлы bird4-nl.list, bird4-us.list и созданный в п.2 bird4-us-force.list. В /opt/etc/blacklist файлы ip.lst и md5.txt. Если их нет, то ошибка в скрипте, созданном в п.4
  17. Прелюдию (установку пакетов, настройку pingcheck на vpn интерфейсах, методики проверки конфигов на ошибки и т.п.) опускаю, т.к. это достаточно описано выше. Реализован следующий алгоритм работы. Есть два VPN интерфейса, ovpn_br1 основной и ovpn_br2 резервный. На IP, прописанные в файле /opt/etc/bird4-us-force.list, трафик идёт через ovpn_br2. На адреса из общего списка ip.lst через основной, если он недоступен, то через резервный. 1.Создать папку /opt/etc/blacklist 2.Остановить или установить bird, заменить файл конфигурации /opt/etc/bird4.conf следующим Создать файл /opt/etc/bird4-us-force.list. Пример ниже, 2ip внесён для проверки работы. 3.Создать скрипт /opt/etc/init.d/S02bird-table для инициализации таблиц при незапланированных перезагрузках 4.В папку cron.daily или cron.hourly поместить скрипт (автору ветки респект 👍) парсинга списка ip.lst и выполнить его вручную первый раз 5.Если всё прошло без ошибок, то можно пользоваться. Только подождать немного, пока bird переварит таблицы 🙂 С одним vpn подключением всё упрощается до примитивности.
  18. Попробовал на прошивках 3.5.2(.4) использовать полный список https://antifilter.download/list/ip.lst Полёт нормальный. Работает 😀 Тормозов нет. Соответственно скрипты можно сильно упростить.
  19. Как вариант отображать на любой странице результаты pingcheck, заданные пользователем.
  20. Всё оказалось просто) Есть Keenetic Giga KN-1010, прошивка 3.4.6. На более ранних прошивках со старой версией Open VPN скорее всего не заработает, там переменные окружения и параметры другие. Пример привожу для VPN-подключения с именем "OpenVPN4". Добавляем параметр "verb 3" в настройки VPN-подключения. Включаем, после подключения в системном журнале ищем строку вида: PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS х.х.х.х, redirect-gateway def1,...,route-gateway A.B.C.D, topology subnet,ping 10,ping-restart 60,... Настраиваем роутер по статье https://keenetic-gi.ga/2019/01/22/bgp_routing.html, используя IP A.B.C.D как IP адрес удалённого конца VPN-соединения. Убеждаемся, что работает. В /opt/etc/ndm/openvpn-route-up.d добавляем ещё один скрипт 020-bird_restart.sh и делаем его исполняемым. Скрипт меняет 40-ю строку конфигурации bird на новую, с новым gw. Строку желательно проверить 🙂 Вуаля В линуксе новичок, слепил на коленке, возможно есть и другой путь. Главное - работает)
  21. Разобрался. Заодно и решил проблему с динамическим gw при смене подключения.
  22. Кто-нибудь может подсказать, можно ли в конфиге bird использовать имя интерфейса вместо gw=ip ???
  23. Реально классная прога. И в отличие от Torrent Monitor всё работает.
×
×
  • Create New...