qzeleza / kvas

vpn и shadowsocks клиент для роутеров keenetic
Other
681 stars 42 forks source link

Перестает работать обход после запуска update раз в 12 часов, не работает смена period #16

Closed Horizont32 closed 1 year ago

Horizont32 commented 1 year ago

После инициализации скрипта Update раз в N часов (для меня это 12 часов, столько указано в kvas period и в кроне) полностью пропадает обход, при этом все время ДО автоматического запуска - работает. Помогает вручную запустить kvas update + kvas test(насчет теста не уверен, заметил, что, похоже только апдейта достаточно именно вручную, если после этого сделать тест, то снова не работает, будто бы, правда слишком мало тестов)

Пытался изменить период, пишет, якобы выставлен новый период в N часов (точнее, 1d), при этом при исполнении kvas period выдает, что никакой иной период не задан, поэтому остается стандартный, приходится ручками менять все в кроне (да, в нем тоже остается 12 часов после смены kvas period 1d, например).

Снизу прикладываю лог сразу после такого падения (как описано в 1 абзаце), это падение происходит ровно в 00:01 или в 12:01. Судя по всему, неверно заполняются iptables

log0411.txt

qzeleza commented 1 year ago

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

Так же прошу Вас опубликовать лог роутера при "падении" пакета, так как присланный Вами лог статичен, в нем нет подробных данных журнала - отражаются только критические ошибки.

Horizont32 commented 1 year ago

log-2.txt

Прикрипляю лог роутера, ровно в 00:00 обход перестал работать, в 23:59 работал прекрасно

Ниже - лог квас (дебаг)

log0711.txt

Что касается обхода: сегодня упал только инстаграм, судя по всему. Все остальное, критичное для меня (LinkedIn, twitter, аватарки на YouTube и т.п.) - работает. Но, возможно, это после kvas debug

xPROMSx commented 1 year ago

Подтверждаю, тоже это заметил. И даже если вручную запустить kvas update - тоже перестает работать обход (на бете 18). После kvas test работа восстанавливается. Готов помочь в отлове этого момента, если скажете чем.

Так же если установить период например 1w после ввода kvas period:

~ # kvas period
-----------------------------------------------------------------------------------
Периодичность обновления не задана!
Поэтому, устанавливаем его по умолчанию.
Период обновления установлен на каждые 12 ч.
-----------------------------------------------------------------------------------
Horizont32 commented 1 year ago

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

Что касается отработки update (cmd_init_kvas) именно она отрабатывает достаточно странно, 5 раз подряд делаю Kvas update, разные результатыв ipset list. Поведение достаточно странное, учитывая то, что hosts.list не меняется

По тестам /opt/apps/kvas/bin/main/ipset отрабатывает криво

qzeleza commented 1 year ago

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

Что касается отработки update (cmd_init_kvas) именно она отрабатывает достаточно странно, 5 раз подряд делаю Kvas update, разные результатыв ipset list. Поведение достаточно странное, учитывая то, что hosts.list не меняется

По тестам /opt/apps/kvas/bin/main/ipset отрабатывает криво

Поясните пожалуйста, что значит "разные результаты" и что значит "криво"? В чем это проявляется?

Horizont32 commented 1 year ago

разные результаты - делаю все подряд, получаю то 50 адресов, то 10, то 44 (расхождения в +- 10 - ок) и т.п.

а по поводу криво - при отработке почему-то ipset заполняется адресами, отрезовленными будто от hosts_list.old, а точнее от того hosts.list, который поставляется вместе с пакетом, список адресов там постоянен и их там крайне мало (хотя, судя по коду, такого быть не может)

qzeleza commented 1 year ago

разные результаты - делаю все подряд, получаю то 50 адресов, то 10, то 44 (расхождения в +- 10 - ок) и т.п.

Получаете разное количество из-за того, что dns по домену подтягиваются не сразу - это особенность работы dns сервера, kvas не может на этот процесс повлиять никоим образом.

а по поводу криво - при отработке почему-то ipset заполняется адресами, отрезовленными будто от hosts_list.old, а точнее от того hosts.list, который поставляется вместе с пакетом, список адресов там постоянен и их там крайне мало (хотя, судя по коду, такого быть не может)

запустите kvas test и посмотрите что выдается в списке проверки IP адресов? Там показывается домен и в скобках перечисляются IP адреса. Отображается старый список?

  • попробовал kdig +short ya.ru @localhost - ничего не резолвится, но это было чисто в консоли, говорит, 127.0.0.0:53 не находит. Но это так, преамбула, тут у меня не совсем хватает знаний для оценки

Здесь вместо @localhost должен подставляться текущий IP сервера DNS.

Horizont32 commented 1 year ago

разные результаты - делаю все подряд, получаю то 50 адресов, то 10, то 44 (расхождения в +- 10 - ок) и т.п.

Получаете разное количество из-за того, что dns по домену подтягиваются не сразу - это особенность работы dns сервера, kvas не может на этот процесс повлиять никоим образом.

а по поводу криво - при отработке почему-то ipset заполняется адресами, отрезовленными будто от hosts_list.old, а точнее от того hosts.list, который поставляется вместе с пакетом, список адресов там постоянен и их там крайне мало (хотя, судя по коду, такого быть не может)

запустите kvas test и посмотрите что выдается в списке проверки IP адресов? Там показывается домен и в скобках перечисляются IP адреса. Отображается старый список?

  • попробовал kdig +short ya.ru @localhost - ничего не резолвится, но это было чисто в консоли, говорит, 127.0.0.0:53 не находит. Но это так, преамбула, тут у меня не совсем хватает знаний для оценки

Здесь вместо @localhost должен подставляться текущий IP сервера DNS.

ADDRS=$(kdig +short ya.ru @localhost ) Очевидно, это не переменная, при этом прям с роутера ищется через 127.0.0.1:53

WARNING: response timeout for 127.0.0.1@53(UDP)

qzeleza commented 1 year ago

Очевидно, это не переменная, при этом прям с роутера ищется через 127.0.0.1:53

Это вопрос? Если так, то какова его цель?

Horizont32 commented 1 year ago

Очевидно, это не переменная, при этом прям с роутера ищется через 127.0.0.1:53

Это вопрос? Если так, то какова его цель?

цель - понять, где что-то идет не так и почему после этого чего-то перестает работать обход, который до этого работал прекрасно

qzeleza commented 1 year ago

Выпущена 20 бета пакета. Проверяем. Жду обратной связи.

Horizont32 commented 1 year ago

Выпущена 20 бета пакета. Проверяем. Жду обратной связи.

первоначальная настройка пролетела очень удачно, ipset заполнились топово

Horizont32 commented 1 year ago

Выпущена 20 бета пакета. Проверяем. Жду обратной связи.

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

qzeleza commented 1 year ago

Вопрос закрыт.