qzeleza / kvas

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

При добавлении/удалении адреса КВАС перестает работать #79

Closed drfischer2 closed 10 months ago

drfischer2 commented 1 year ago

Устанавливаю КВАС 1.1.5 Обход блокировок работает.

Выполняю команду kvas add weather.com Домен добавлен, рапортует КВАс.

После этого КВАС "ломается". Обход блокировок не работает, а 2ip.ru выдает вместо моего VPN - адрес провайдера

Windows 10 keenetic Giga

kvas test, kvas debug ошибок не выдают и проблему не решают

Teutonick commented 1 year ago

Симптоматика у меня похожая, описал свой кейс в https://github.com/qzeleza/kvas/issues/78 , тем не менее и при таком кейсе как описано тут, тоже бывает ломается.

qzeleza commented 12 months ago

Прошу указывать все же debug и рекомендую использовать пока версию 1.1.3

drfischer2 commented 11 months ago

Прошу указывать все же debug и рекомендую использовать пока версию 1.1.3

Перешел на 113 версию. При добавлении домена в список обхода - КВАС по прежнему перестает работать. Ситуацию исправляет kvas test.

В какой момент нужно сформировать kvas debug?

qzeleza commented 10 months ago

Прошу дать обратную связь по выявленной Вами проблеме в крайней версии пакета Квас - 1.1.5-pr2. Решена ли Ваша проблема в этой версии пакета?

Желательно это сделать вплоть до 26 ноября текущего года. Детали описаны на форуме по этой ссылке.

badigit commented 10 months ago

Проблема есть 1.1.5-pr2

Кратко: -неправильно статус vpn в debug + он задублирован. -перестает работать обход после host add \ dell -возобновляется после debug\test -В логах кинетика появляются записи Сброс пакета КВАС в исходное состояние ЗАВЕРШЕНА! (звучит не соответствующе выполняемым операциям) Opkg::Manager: /opt/etc/ndm/netfilter.d/100-vpn-mark: exit code 2. (не знаю что значит)

Подробно: Вводные - работает обход (на базе dnsmasq) несколько дней, пока не трогаю - все ок.

  1. Заходим нажимаем kvas del myip.ru ... Успешно.
  2. Ждем 10 секунд, смотрим что обход блокировок на все хосты перестал работать.
  3. Выполняем kvas debug
    
    ~ # kvas debug
    -----------------------------------------------------------------------------------
    КВАС версии 1.1.5
    -----------------------------------------------------------------------------------
    Текущая дата и время Thu Nov 23 11:20:33 +06 2023

Информация о роутере

Страна: RU Модель: KN-1010 Страна_: EA Тип архитектуры: mipsel

Текущее VPN соединение: homedi ikev2 (IKE0) ОТКЛЮЧЕНО УСТАНОВЛЕН список разблокировки ПО УМОЛЧАНИЮ. Шифрование DNS трафика (dnscrypt-proxy2) ВКЛЮЧЕНО. Блокировка рекламы НЕ УСТАНОВЛЕНА..

Установка завершена: 19/11/2023 17:38:44

Список ошибок из системного журнала

Opkg::Manager: /opt/etc/ndm/netfilter.d/100-vpn-mark: exit code 2. Nov 23 11:20:27

Состояние службы dnsmasq по команде /opt/etc/init.d/S56dnsmasq status ГОТОВО

Выборка из файла конфигурации dnsmasq: /opt/etc/dnsmasq.conf

user=nobody pid-file=/var/run/opt-dnsmasq.pid interface=br0 listen-address=10.9.8.1 listen-address=127.0.0.1 port=53 conf-file=/opt/etc/kvas.dnsmasq proxy-dnssec

Состояние службы dnscrypt-proxy2 ГОТОВО

Отчет по прослушиванию порта dnscrypt-proxy [9153] команда: netstat -ltunp | grep "dnscrypt"

tcp 0 0 :::9153 ::: LISTEN 5197/dnscrypt-proxy udp 0 0 :::9153 ::: 5197/dnscrypt-proxy


Выборка из файла конфигурации dnscrypt-proxy2 /opt/etc/dnscrypt-proxy.toml

listen_addresses = ['[::]:9153'] cache = true


Список разблокировки в /opt/etc/kvas.dnsmasq (20 записей)

ipset=/comss.ru/unblock ipset=/crediteurope.ru/unblock ipset=/gosuslugi.ru/unblock ipset=/livejournal.com/unblock ipset=/livejournal.net/unblock ipset=/memepedia.ru/unblock ipset=/mgfoms.ru/unblock ipset=/microsoftonline.com/unblock ipset=/mos.ru/unblock ipset=/mosenergosbyt.ru/unblock ipset=/novofon.com/unblock ipset=/onlinetrade.ru/unblock ipset=/otpbank.ru/unblock ipset=/pinterest.com/unblock ipset=/pochta.ru/unblock ipset=/sprinthost.ru/unblock ipset=/telegra.ph/unblock ipset=/tripadvisor.ru/unblock ipset=/zadarma.com/unblock ipset=/zbulvar.ru/unblock


Состояние vpn соединения homedi ikev2 ГОТОВО

Таблица заполнения маршрутов VPN списка id=1001 команда: 'ip route show table 1001'

10.9.8.0/24 dev br0 scope link src 10.9.8.1


Таблица правил маршрутизации VPN списка id=1001 команда: 'ip rule show'

0: from all lookup local 10: from all fwmark 0xffffcff lookup main 200: from all fwmark 0xffffd00 lookup 42 201: from all fwmark 0xffffd00 lookup unspec blackhole 400: from 192.168.100.5 lookup 58 500: from all lookup 248 1778: from all fwmark 0xd1000/0xd1000 lookup 1001 32766: from all lookup main 32767: from all lookup default


Переустановка iptables для vpn завершена ГОТОВО

Правила перенаправления трафика unblock в iptables команда: iptables-save | grep -E 'SHADOWSOCKS|VPNREDIR|unblock'

:VPNREDIR - [0:0] -A PREROUTING -p tcp -m set --match-set unblock dst -j VPNREDIR -A PREROUTING -p udp -m set --match-set unblock dst -j VPNREDIR -A OUTPUT -p tcp -m set --match-set unblock dst -j VPNREDIR -A OUTPUT -p udp -m set --match-set unblock dst -j VPNREDIR -A VPNREDIR -m set ! --match-set unblock dst -j RETURN -A VPNREDIR -d 0.0.0.0/8 -j RETURN -A VPNREDIR -d 127.0.0.0/8 -j RETURN -A VPNREDIR -d 10.0.0.0/8 -j RETURN -A VPNREDIR -d 169.254.0.0/16 -j RETURN -A VPNREDIR -d 172.16.0.0/12 -j RETURN -A VPNREDIR -d 192.168.0.0/16 -j RETURN -A VPNREDIR -d 224.0.0.0/4 -j RETURN -A VPNREDIR -d 240.0.0.0/4 -j RETURN -A VPNREDIR -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff -A VPNREDIR -m mark --mark 0xd1000 -j RETURN -A VPNREDIR -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j MARK --set-xmark 0xd1000/0xffffffff -A VPNREDIR -p udp -m conntrack --ctstate NEW -j MARK --set-xmark 0xd1000/0xffffffff -A VPNREDIR -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff


Список разблокировки /opt/etc/hosts.list (20 записей)

comss.ru crediteurope.ru gosuslugi.ru livejournal.com livejournal.net memepedia.ru mgfoms.ru microsoftonline.com mos.ru mosenergosbyt.ru novofon.com onlinetrade.ru otpbank.ru pinterest.com pochta.ru sprinthost.ru telegra.ph tripadvisor.ru zadarma.com zbulvar.ru


DNS сервер, используемый в /opt/apps/kvas/bin/main/ipset

@127.0.0.1:9153


Таблица ipset (20 записей) команда: 'ipset list unblock'

172.67.209.126 185.169.155.27 185.45.153.82 185.45.153.83 185.71.67.160 195.133.255.86 195.14.106.70 195.201.201.35 195.82.140.164 212.11.151.56 212.164.138.77 212.164.138.79 213.189.223.190 213.59.253.7 213.59.254.7 217.118.87.98 37.139.38.156 81.19.74.0 81.19.74.1 91.239.5.8


Проверка наличия ip адресов хостов в таблице ipset команда 'ipset list unblock'

2ip.ru --> 195.201.201.35 ГОТОВО astralnalog.ru --> 91.239.5.8 ГОТОВО beeline.ru --> 217.118.87.98 ГОТОВО comss.ru --> 172.66.43.142|172.66.40.114 ГОТОВО crediteurope.ru --> 195.14.106.70 ГОТОВО gosuslugi.ru --> 213.59.253.7|213.59.254.7 ГОТОВО livejournal.com --> 81.19.74.1|81.19.74.0 ГОТОВО livejournal.net АДРЕСА НЕТ memepedia.ru --> 172.67.209.126|104.21.23.71 ГОТОВО mgfoms.ru --> 195.133.255.86 ГОТОВО microsoftonline.com АДРЕСА НЕТ mos.ru --> 212.11.151.56 ГОТОВО mosenergosbyt.ru --> 195.82.140.164 ГОТОВО novofon.com --> 37.139.38.156 ГОТОВО onlinetrade.ru --> 185.169.155.27 ГОТОВО otpbank.ru --> 185.71.67.160 ГОТОВО pinterest.com --> 151.101.64.84|151.101.128.84|151.101.192.84|15... ГОТОВО pochta.ru --> 212.164.138.79|212.164.138.77 ГОТОВО sprinthost.ru --> 141.8.197.99|141.8.197.26|141.8.197.6|141.8.197.25 ГОТОВО telegra.ph --> 149.154.164.13 ГОТОВО tripadvisor.ru --> 151.101.66.28|151.101.2.28|151.101.194.28|151... ГОТОВО zadarma.com --> 185.45.153.82|185.45.153.83 ГОТОВО zbulvar.ru --> 213.189.223.190 ГОТОВО

~ #


**Замечаем странность: состояние VPN отображается дважды. В одной строке 

Текущее VPN соединение: homedi ikev2 (IKE0) ОТКЛЮЧЕНО в другой Состояние vpn соединения homedi ikev2 ГОТОВО



**Заходим в Web кинетика, видим что VPN поднят уже 30 секунд как, т.е. он явно подключен и работал на момент выполнения kvas debug.

4. Пока пишем issue, спустя минут через 5 проверяем обход блокировок - он работает.
Кажется, начал работать после debug. 

5. Проверяем еще раз. Теперь делаем сперва debug (2).
[debug2.txt](https://github.com/qzeleza/kvas/files/13446313/debug2.txt)
6. **Снова видим что debug неправильно показывает состояние VPN. На самом деле оно поднято уже 8 минут**
7. Делаем kvas add myip.ru .... Добавлен
8. Сразу проверяем что обход блокировок перестал работать для всех хостов. Состояние VPN - продолжает работать.
9. Через какое то количество секунд вижу что VPN переподключается сам. Обход блокировок все еще не работает.
10. Ждем 3 минуты, ничего не меняется.
11. Делаем kvas debug3. (VPN при этом не перезагружается)
12. Обход блокировок начинает работать через 5-10 секунд после завершения kvas debug,
[debug3.txt](https://github.com/qzeleza/kvas/files/13446351/debug3.txt)
Teutonick commented 10 months ago

Тоже мучаюсь с первой версии подобным поведением (( оч надеюсь, что уважаемый @qzeleza исправит эту злую ошибку до того, как переключиться на самовар...

drfischer2 commented 10 months ago

К сожалению с обновленной (КВАС 1.1.5-pr2) версией ситуация не изменилась. По прежнему при добавлении/удалении адреса из списка - обход перестает работать. Ждал по 15-20 минут после добавления/удаления. Команда kvas debug ситуацию исправляет. Все начинает работать как положено.

Ситуация аналогичная как выше в сообщении от badigit.

Мой debug.txt

badigit commented 10 months ago

pr3 + adh. После kvas add обход начинает работать, нужно немного подождать.

qzeleza commented 10 months ago

Здесь обязательно нужно удалять все куки из браузера, лучший вариант для хромоподобных браузеров - закрыть и открыть снова браузер. Как правило после открытия через 5-10 сек все начинает работать.

Тикет пока закрываю. Если ошибка устойчиво воспроизводима в крайней версии Кваса - откройте тикет вновь.