Closed AltGrF13 closed 3 hours ago
Не совсем понятно, что Вы предлагаете сделать по пп. 1-4?
Начнём последовательно. Пункт 1 у Вас не воспроизводится? Если поделать команды kvas crypt off, kvas crypt on, kvas crypt off последовательно; то команда off выходит, бесконечно не висит?
2 и 3 — неправильно заполняется kvas.dnsmasq, нужно как бы "инвертировать" режимы
4 — добавить включение и отключение этого флага по аналогии с кучей других.
При kvas crypt on
должен быть просто список с ipset
:
ipset=/artifacts.elastic.co/kvas_ipset
ipset=/jetbrains.com/kvas_ipset
ipset=/www.soapui.org/kvas_ipset
Потому что весь трафик итак уже идёт через DNSCrypt.
При kvas crypt off
должен быть список пар:
ipset=/artifacts.elastic.co/kvas_ipset
server=/artifacts.elastic.co/127.0.0.1#9153
Трафик человека пойдёт через незашифрованный канал, но защищённый список должен всегда ходить через DNSCrypt.
В крайней бете - все штатно - зависаний нет
У меня off не отрабатывает и периодически (если вызвать несколько раз по циклу включение-отключение на заполненном списке) полностью очищает файл /opt/etc/dnsmasq.d/kvas.dnsmasq
. У Вас цикличный вызов (раза 2) с полным списком всегда корректно меняет его содержимое? Может имеет смысл всегда пересобирать этот файл с нуля (как после экспорта), а не sed'ить?
При kvas crypt off
включать
filter-rr=HTTPS
При kvas crypt on
отключать
#filter-rr=HTTPS
включил все выше и пересобрал 1.1.9b9
Обновил. Со старта было нормально, но после импортов ситуация опять "зеркальная".
Делаю
kvas crypt off
kvas clear
kvas import /opt/tmp/unblock.txt
В файле /opt/etc/dnsmasq.d/kvas.dnsmasq
ipset=/artifacts.elastic.co/kvas_ipset
ipset=/jetbrains.com/kvas_ipset
ipset=/www.soapui.org/kvas_ipset
Хотя ожидается
ipset=/artifacts.elastic.co/kvas_ipset
server=/artifacts.elastic.co/127.0.0.1#9153
ipset=/jetbrains.com/kvas_ipset
server=/jetbrains.com/127.0.0.1#9153
ipset=/www.soapui.org/kvas_ipset
server=/www.soapui.org/127.0.0.1#9153
Ведь DNS доменов из защищённого списка всегда должны ходить через DNSCrypt.
Делаю
kvas crypt on
kvas clear
kvas import /opt/tmp/unblock.txt
В файле /opt/etc/dnsmasq.d/kvas.dnsmasq
тоже не то. Ситуация в этот раз не с переключением режимов, а с импортом после них.
Попробуйте проверить состояние /opt/etc/dnsmasq.d/kvas.dnsmasq
сразу после kvas crypt on
и kvas crypt off
.
Все ли правильно добавляется, если нет, то поправлю, если да, то тогда нужно уже смотреть что не так сimport
.
Но это уже другая подзадача.
Да, давайте разделим, пока речь только о переключениях. Пункты 1 и 4 сделаны. Устанавливаю с нуля. Судя по kvas crypt
шифрование включено. Файл /opt/etc/dnsmasq.d/kvas.dnsmasq
правильный.
Делаю kvas crypt off
. В файле
ipset=/2ip.ru/kvas_ipset
ipset=/ifconfig.me/kvas_ipset
ipset=/myip2.ru/kvas_ipset
секции server=/*/127.0.0.1#9153
по-прежнему нет.
Делаю ещё цикл включения-отключения. server=/*/127.0.0.1#9153
появляется, но теперь в шифрованном режиме перестаёт удаляться.
Нашел в коде ошибку - забыл указать в sed параметр -i чтобы в файле происходили изменения Сейчас поправлю
Установил с нуля. Судя по kvas crypt
шифрование включено. Файл /opt/etc/dnsmasq.d/kvas.dnsmasq
правильный.
Делаю kvas crypt off
, появляются секции server=/myip2.ru/127.0.0.1#9153
, всё верно.
Делаю kvas crypt on
, секции server=/myip2.ru/127.0.0.1#9153
остались.
Делаю ещё раз kvas crypt off
, пошло задвоение секции сервер. Видимо, off отрабатывает верно, c on проблемы.
Обновил и перезалил 9 бету в канале, так как изменений почти нет - не стал писать об этом там.
Перепроверил практически - при kvas crypt on
секция стабильно удаляется
Установил. По умолчанию со старта kvas crypt
подключен, но секция server=
в /opt/etc/dnsmasq.d/kvas.dnsmasq
есть.
Отключаю kvas crypt off
— задвоение.
Включаю kvas crypt on
— задвоение остаётся.
Если после этого почистить руками до
ipset=/2ip.ru/kvas_ipset
ipset=/ifconfig.me/kvas_ipset
ipset=/myip2.ru/kvas_ipset
и отключить, то сразу задвоенные строчки.
Установил. По умолчанию со старта kvas crypt
подключен, cекции server=
в /opt/etc/dnsmasq.d/kvas.dnsmasq
нет. Всё хорошо.
Отключаю вызовом kvas crypt off
— секция server=
появилась, основные настройки переключились, снова всё хорошо.
Включаю kvas crypt on
— секция server=
осталась, не удалилась.
При этом в этом режиме сделал импорт, и залилось всё верно, без server=
.
Импорт с отключенным крипт тоже работает верно, с секцией сервер.
Итого: есть проблема лишь при переходе из состояния kvas crypt off
в kvas crypt on
при заполненном списке, секция server=
не удаляется.
Не увидел проблем - на рисунке ситуация не подтверждается
Я как раз описал, что импорт работает верно (что проверяете Вы). Не верным остаётся сам список после включения.
Перескачиваю последнюю версию (106519 байт)
kvas uninstall full
reboot
opkg install /opt/tmp/kvas_1.1.9-beta_9_all.ipk | tee /opt/tmp/kvas_install.log
kvas setup | tee -a /opt/tmp/kvas_setup.log
cat /opt/etc/dnsmasq.d/kvas.dnsmasq
# верный вывод без server=
kvas crypt off
cat /opt/etc/dnsmasq.d/kvas.dnsmasq
# верный вывод с server=
kvas crypt on
cat /opt/etc/dnsmasq.d/kvas.dnsmasq
# не верный вывод:
ipset=/2ip.ru/kvas_ipset
server=/2ip.ru/127.0.0.1#9153
ipset=/ifconfig.me/kvas_ipset
server=/ifconfig.me/127.0.0.1#9153
ipset=/myip2.ru/kvas_ipset
server=/myip2.ru/127.0.0.1#9153
kvas add abc.com
cat /opt/etc/dnsmasq.d/kvas.dnsmasq
# верный вывод без server=
Может после включения (а может и отключения, для упрощения кода) просто вызывать пересборку /opt/etc/dnsmasq.d/kvas.dnsmasq
? Не адаптировать файл руками, а вызывать единый метод перегенерации (раз он работает верно)?
UPD Так и поступил, ситуация теперь отрабатывает корректно.
Включил, вызвал отключение
kvas crypt off
. Команда выполнялась "бесконечно", хотя и все замены в конфигах сделала.При
kvas crypt on
вdnsmasq.conf
установленоserver=127.0.0.1#9153
. Т.е. все запросы пойдут туда. Это верно. Но в файлеkvas.dnsmasq
для каждого сервера указаноОбычно server для домена указывается, когда нужно изменить от общего на частное. Но тут они равны. Не нужно повторяться. Для каждого домена при
kvas crypt on
должен быть указан лишьipset=/artifacts.elastic.co/kvas_ipset
.При
kvas crypt off
вdnsmasq.conf
установленоserver=9.9.9.9
. Т.е. все запросы пойдут туда. Это верно. Но в файлеkvas.dnsmasq
для каждого сервера указан лишьipset=/artifacts.elastic.co/kvas_ipset
. Т.е. запросы для списка пойдут открытым протоколом на 9.9.9.9; где их можно как банить, так и отслеживать. Запросы для списка всегда должны ходить шифрованно, в независимости от установки флагаkvas crypt
. Т.е. в этом режиме я как раз ожидал бы в файлеИменно в таком виде, в DNSCrypt; у них свой отдельный DNS, не совпадающий с общим, тут это уместно. Т.е. DNSCrypt должен всегда работать. В режиме on на все запросы, в режиме off обслуживать лишь защищённый список (на то он и защищённый).
filter-rr=HTTPS
тоже не плохо ложится наkvas crypt
. Когда off, то смело можем фильтровать защиту DNSfilter-rr=HTTPS
. Когда on, то насильное откидывание ECH — плохая идея, лучше закомментировать#filter-rr=HTTPS
.