Anonym-tsk / nfqws-keenetic

MIT License
661 stars 51 forks source link

[BUG] Не запускается на Archer ax73 w/entware #39

Open SausageKiller218 opened 2 months ago

SausageKiller218 commented 2 months ago

Опишите проблему Подробно опишите что делали и что не работает.

был установлен nfqws прошлых версий, перестал работать, был удалён, переустановлен заного через opkg, со сносом конфигов Service NFQWS is not running find: ‘/lib/modules/4.1.52’: No such file or directory

Модель маршрутизатора Укажите полную модель роутера и прошивку Archer ax73 w/entware

Провайдер Укажите вашего провайдера и тип подключения (ppp/ethernet/...) eth мтс новосибирск

Выполните команды и приложите их вывод opkg info nfqws-keenetic

</ # opkg info nfqws-keenetic
Package: nfqws-keenetic
Version: 2.0.8
Depends: iptables
Status: install user installed
Section: net
Architecture: all
Size: 466155
Filename: nfqws-keenetic_2.0.8_all_entware.ipk
Conffiles:
 /opt/etc/nfqws/nfqws.conf 066708293a1861bb6e9aa30b4a8278b6b03740e70a1f68099dc32f47a028c925
 /opt/etc/nfqws/user.list 209e09786d508f45a63f72596d728697a9c70c5bbfabd8d3fc1bf267307d4084
 /opt/etc/nfqws/auto.list e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 /opt/etc/nfqws/exclude.list 57b5e33196908b3b76004679bb800bcf2eb5a41ee82e4d5048c6fd32a0524834
Installed-Time: 1726162858
>

/opt/etc/init.d/S51nfqws restart

</ # /opt/etc/init.d/S51nfqws restart
Service NFQWS is not running
find: ‘/lib/modules/4.1.52’: No such file or directory
xt_NFQUEUE.ko loaded
non-existent username supplied
Started NFQWS service>

cat /opt/etc/nfqws/nfqws.conf

</ # cat /opt/etc/nfqws/nfqws.conf
# Provider network interface, e.g. eth3
# You can specify multiple interfaces separated by space, e.g. ISP_INTERFACE="eth0"
ISP_INTERFACE="eth0"

# All arguments here: https://github.com/bol-van/zapret (search for `nfqws` on the page)
# Try different variants
NFQWS_ARGS="--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=6 --dpi-desync-fooling=md5sig,badseq,badsum"
#NFQWS_ARGS="--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=12 --dpi-desync-fooling=badseq"
#NFQWS_ARGS="--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=6 --dpi-desync-fooling=md5sig,badsum"
#NFQWS_ARGS="--dpi-desync=fake,split2 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig"
#NFQWS_ARGS="--dpi-desync=fake,split --dpi-desync-ttl=7 --dpi-desync-fooling=md5sig"

# auto - automatically detects blocked resources and adds them to the auto.list
NFQWS_EXTRA_ARGS="--hostlist=/opt/etc/nfqws/user.list --hostlist-auto=/opt/etc/nfqws/auto.list --hostlist-auto-debug=/opt/var/log/nfqws.log --hostlist-exclude=/opt/etc/nfqws/exclude.list"

# list - applies rules only to domains in the user.list
#NFQWS_EXTRA_ARGS="--hostlist=/opt/etc/nfqws/user.list"

# all  - applies rules to all traffic except domains from exclude.list
#NFQWS_EXTRA_ARGS="--hostlist-exclude=/opt/etc/nfqws/exclude.list"

# IPv6 support
IPV6_ENABLED=0

# HTTP support
HTTP_ENABLED=0

# QUIC support
QUIC_ENABLED=1

# Syslog logging level (0 - silent, 1 - debug)
LOG_LEVEL=0

NFQUEUE_NUM=200>

ps | grep nfqws

</ # ps | grep nfqws
29590 root      6120 S    grep nfqws>

iptables-save | grep 200

</ # iptables-save | grep 200
Can't find library for target `LOOPBACKDNAT'
-A MINIUPNPD -p udp -m udp --dport 32000 -j DNAT --to-destination 192.168.4.209:32000
-A MINIUPNPD -p tcp -m tcp --dport 32000 -j DNAT --to-destination 192.168.4.209:32000>

sysctl net.netfilter.nf_conntrack_checksum

</ # sysctl net.netfilter.nf_conntrack_checksum
net.netfilter.nf_conntrack_checksum = 0>
Anonym-tsk commented 2 months ago

Выполните команды и покажите вывод

find "/lib/modules" -name "xt_multiport.ko*"
uname -r
SausageKiller218 commented 2 months ago

/ # find "/lib/modules" -name "xt_multiport.ko*" find: ‘/lib/modules’: No such file or directory / # uname -r 4.1.52

До попытки обновления всё работало, как не странно

Anonym-tsk commented 2 months ago

Что-то странное. Давайте так

find /lib -name "xt_multiport.ko*"
SausageKiller218 commented 2 months ago

Что-то странное. Давайте так

find /lib -name "xt_multiport.ko*"

/ # find /lib -name "xt_multiport.ko*" find: ‘/lib’: No such file or directory

/ # find -name "xt_multiport.ko*" find: ‘./proc/10034’: No such file or directory find: ‘./proc/10789/task/10789/net’: Invalid argument find: ‘./proc/10789/net’: Invalid argument find: ‘./proc/10790/task/10790/net’: Invalid argument find: ‘./proc/10790/net’: Invalid argument find: ‘./proc/10791/task/10791/net’: Invalid argument find: ‘./proc/10791/net’: Invalid argument / #

/ # find /opt/lib -name "xt_multiport.ko*" / #

Anonym-tsk commented 2 months ago

Кажется, у вас нет модулей ядра. Поищите как установить Netfilter на ваш роутер

SausageKiller218 commented 2 months ago

Кажется, у вас нет модулей ядра. Поищите как установить Netfilter на ваш роутер

а как оно раньше работало :/ entware не умеет netfilter ставить?

Anonym-tsk commented 2 months ago

Entware не умеет ставить. Как оно работало - сложно сказать. Можете попробовать скачать предыдущую версию со страницы релизов и установить. Если заработает на 2.0.7, значит будем искать другую причину

SausageKiller218 commented 2 months ago

Entware не умеет ставить. Как оно работало - сложно сказать. Можете попробовать скачать предыдущую версию со страницы релизов и установить. Если заработает на 2.0.7, значит будем искать другую причину

работал билд за месяц назад, такого нет (если по дате, то почему-то не пишет точную, но добавка поддержки armv7, моя issue была в топике по tpws) сейчас попробую другие версии начиная с 2.0.7

Anonym-tsk commented 2 months ago

В 2.0.8 была переделана загрузка модулей. Так что достаточно проверить 2.0.7

SausageKiller218 commented 2 months ago

В 2.0.8 была переделана загрузка модулей. Так что достаточно проверить 2.0.7

установил 2.0.7

~ # /opt/etc/init.d/S51nfqws restart
Service NFQWS is not running
xt_NFQUEUE.ko loaded
non-existent username supplied
Started NFQWS service

~ # /opt/etc/init.d/S51nfqws status
Service NFQWS is stopped```
Package: nfqws-keenetic
Version: 2.0.7
Depends: iptables
Status: install user installed
Architecture: armv7-3.2
Conffiles:
 /opt/etc/nfqws/nfqws.conf f9ab9bc69e6b503301ee6b2ad99490c5191d10a6478ccd0c5168a5b14624330b
 /opt/etc/nfqws/user.list 209e09786d508f45a63f72596d728697a9c70c5bbfabd8d3fc1bf267307d4084
 /opt/etc/nfqws/auto.list e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 /opt/etc/nfqws/exclude.list 57b5e33196908b3b76004679bb800bcf2eb5a41ee82e4d5048c6fd32a0524834
Installed-Time: 1726173168
Anonym-tsk commented 2 months ago

Ну я, честно говоря, не знаю что вам посоветовать. Странно, что вы говорите, что у вас раньше работало. Кажется, модулей вообще нет.

SausageKiller218 commented 2 months ago

Ну я, честно говоря, не знаю что вам посоветовать. Странно, что вы говорите, что у вас раньше работало. Кажется, модулей вообще нет.

где-нибудь остался старый инсталлер/етц? я могу попробовать его установить ещё раз

SausageKiller218 commented 2 months ago

Ну я, честно говоря, не знаю что вам посоветовать. Странно, что вы говорите, что у вас раньше работало. Кажется, модулей вообще нет.

tpws кстати запускается, только не уверен что его можно подружить с ютубом

Disable IPv6 support (enabled by default)? y/N
y
Bind to local interface: br-lan
Loading hostlist /opt/etc/tpws/exclude.list
loading plain text list
Loaded 22 hosts from /opt/etc/tpws/exclude.list
Started TPWS service
Installation successful
~ # /opt/etc/init.d/S51tpws status
Service TPWS is running
~ #
SausageKiller218 commented 2 months ago

Нашёл билд который установливал месяц назад, завтра попробую и отпишусь https://github.com/Anonym-tsk/nfqws-keenetic/tree/10e94fe49fcbe76feccc0abead141eecdc209d3f

SausageKiller218 commented 2 months ago

Ну я, честно говоря, не знаю что вам посоветовать. Странно, что вы говорите, что у вас раньше работало. Кажется, модулей вообще нет.

установился и запустился данный билд заработал youtube.com, после замены nfqws_args на строчку отсюда, т.е NFQWS_ARGS="--dpi-desync=split2 --dpi-desync-split-pos=1 --dpi-desync-ttl=6 --dpi-desync-fooling=md5sig,badseq,badsum"

/opt/etc/init.d/S51nfqws restart

# /opt/etc/init.d/S51nfqws restart
ip6tables v1.4.21: can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.
Stopping NFQWS service...
xt_NFQUEUE.ko loaded
Loading hostlist /opt/etc/nfqws/exclude.list
loading plain text list
Loaded 14 hosts from /opt/etc/nfqws/exclude.list
ip6tables v1.4.21: can't initialize ip6tables table `nat': Table does not exist (do you need to insmod?)
Perhaps ip6tables or your kernel needs to be upgraded.
Started NFQWS service
#
(отключение ipv6 убрало ошибки, да и ipv6 у меня не подключен)

cat /opt/etc/nfqws/nfqws.conf

# Provider network interface, e.g. eth3
# You can specify multiple interfaces separated by space, e.g. ISP_INTERFACE="eth3 nwg1"
ISP_INTERFACE="eth0"

# All arguments here: https://github.com/bol-van/zapret (search for `nfqws` on the page)
# Try different variants, e.g. `--dpi-desync-fooling=badsum` or `--dpi-desync-fooling=md5sig,badsum`
NFQWS_ARGS="--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=6 --dpi-desync-fooling=md5sig"
NFQWS_EXTRA_ARGS="--hostlist-exclude=/opt/etc/nfqws/exclude.list"

NFQUEUE_NUM=200
IPV6_ENABLED=1
PIDFILE=/opt/var/run/nfqws.pid
/ #

ps | grep nfqws

/ # ps | grep nfqws
23691 21474836   560 S    /opt/usr/bin/nfqws --daemon --qnum=200 --pidfile=/opt/var/run/nfqws.pid --dpi-desync=fake disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=6 --dpi-desync-fooling=md5sig --hostlis
28147 root      6120 S    grep nfqws

iptables-save | grep 200

</ # iptables-save | grep 200
Can't find library for target `LOOPBACKDNAT'

sysctl net.netfilter.nf_conntrack_checksum

/ # sysctl net.netfilter.nf_conntrack_checksum
net.netfilter.nf_conntrack_checksum = 0
Anonym-tsk commented 2 months ago

А попробуйте версию 2.1.1 Я там немного переделал загрузку модулей.

SausageKiller218 commented 2 months ago

А попробуйте версию 2.1.1 Я там немного переделал загрузку модулей.

Устанавливается, не запускается

/ # opkg install nfqws-keenetic
Installing nfqws-keenetic (2.1.1) to root...
Downloading https://anonym-tsk.github.io/nfqws-keenetic/all/nfqws-keenetic_2.1.1_all_entware.ipk
Configuring nfqws-keenetic.
Service NFQWS is not running
Detected arch: armv7
Detected ISP interface: eth0
Detected IPv6: 0
Current working mode: auto
You can change settings in the configuration file: /opt/etc/nfqws/nfqws.conf
Installation successful
find: ‘/lib/modules/4.1.52’: No such file or directory
Cannot find xt_NFQUEUE.ko module
non-existent username supplied
non-existent username supplied
Started NFQWS service

/ # /opt/etc/init.d/S51nfqws status
Service NFQWS is stopped
/ # /opt/etc/init.d/S51nfqws restart
Service NFQWS is not running
find: ‘/lib/modules/4.1.52’: No such file or directory
Cannot find xt_NFQUEUE.ko module
non-existent username supplied
non-existent username supplied
Started NFQWS service

/ # /opt/etc/init.d/S51nfqws status
Service NFQWS is stopped
/ # opkg info nfqws-keenetic
Package: nfqws-keenetic
Version: 2.1.1
Depends: iptables
Status: install user installed
Section: net
Architecture: all
Size: 466524
Filename: nfqws-keenetic_2.1.1_all_entware.ipk
Conffiles:
 /opt/etc/nfqws/nfqws.conf 7cd5e4e527f4418d42987544b6e7003a83e9face665739c2d967d1a8b6042e16
 /opt/etc/nfqws/user.list 209e09786d508f45a63f72596d728697a9c70c5bbfabd8d3fc1bf267307d4084
 /opt/etc/nfqws/auto.list e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 /opt/etc/nfqws/exclude.list 57b5e33196908b3b76004679bb800bcf2eb5a41ee82e4d5048c6fd32a0524834
Installed-Time: 1726239345

/ #
Anonym-tsk commented 2 months ago

Откройте файл /opt/etc/init.d/S51nfqws Найдите две строки, начинающиеся с $NFQWS_BIN Удалите в них часть --user=nobody Перезапустите сервис

SausageKiller218 commented 2 months ago

Откройте файл /opt/etc/init.d/S51nfqws Найдите две строки, начинающиеся с $NFQWS_BIN Удалите в них часть --user=nobody Перезапустите сервис

/ # /opt/etc/init.d/S51nfqws restart
Stopping NFQWS service...
find: ‘/lib/modules/4.1.52’: No such file or directory
Cannot find xt_NFQUEUE.ko module
could not chown /opt/etc/nfqws/auto.list. auto hostlist file may not be writable after privilege drop
could not chown /opt/var/log/nfqws.log. auto hostlist debug log may not be writable after privilege drop
Loading hostlist /opt/etc/nfqws/auto.list
loading plain text list
Loaded 0 hosts from /opt/etc/nfqws/auto.list
Loading hostlist /opt/etc/nfqws/user.list
loading plain text list
Loaded 16 hosts from /opt/etc/nfqws/user.list
Loading hostlist /opt/etc/nfqws/exclude.list
loading plain text list
Loaded 22 hosts from /opt/etc/nfqws/exclude.list
could not chown /opt/etc/nfqws/auto.list. auto hostlist file may not be writable after privilege drop
could not chown /opt/var/log/nfqws.log. auto hostlist debug log may not be writable after privilege drop
Loading hostlist /opt/etc/nfqws/auto.list
loading plain text list
Loaded 0 hosts from /opt/etc/nfqws/auto.list
Loading hostlist /opt/etc/nfqws/user.list
loading plain text list
Loaded 16 hosts from /opt/etc/nfqws/user.list
Loading hostlist /opt/etc/nfqws/exclude.list
loading plain text list
Loaded 22 hosts from /opt/etc/nfqws/exclude.list
Started NFQWS service

/ # /opt/etc/init.d/S51nfqws status
Service NFQWS is running

/ # curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  100M  100  100M    0     0  13.4M      0  0:00:07  0:00:07 --:--:-- 15.2M
/ #

Текст вставлен не дважды, правда повторяется

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

Anonym-tsk commented 2 months ago

Ну уже неплохо. Попробуйте там где удалили вписать --user=root

SausageKiller218 commented 2 months ago

Ну уже неплохо. Попробуйте там где удалили вписать --user=root

странно, но теперь не работает, хотя user root должен существовать

~ # cat /opt/etc/passwd
root:$1$hX9S5ujx$M2Y6Vcnt9PS39qUeYGz...:0:0:Root:/opt/root:/opt/bin/sh
nobody:x:99:99::/opt/home:/opt/bin/false
tpws:x:1:1000:Linux User,,,:/opt/home/tpws:/bin/false
~ #
  kernel_modules

  LOGGING=""
  if [ "$LOG_LEVEL" -eq "1" ]; then
    LOGGING="--debug=syslog"
  fi
  $NFQWS_BIN --daemon $LOGGING --user=root --qnum=$NFQUEUE_NUM --pidfile=$PIDFILE $NFQWS_ARGS $NFQWS_EXTRA_ARGS
  if [ -z "$QUIC_ENABLED" ] || [ "$QUIC_ENABLED" -eq "1" ]; then
    $NFQWS_BIN --daemon $LOGGING --user=root --qnum=$NFQUEUE_NUM_QUIC --pidfile=$PIDFILE_QUIC $NFQWS_ARGS_QUIC $NFQWS_EXTRA_ARGS
  fi

  firewall_start_v4
  firewall_start_v6
  system_config

  echo 'Started NFQWS service'
}
~ # /opt/etc/init.d/S51nfqws restart
Service NFQWS is not running
find: ‘/lib/modules/4.1.52’: No such file or directory
Cannot find xt_NFQUEUE.ko module
non-existent username supplied
non-existent username supplied
Started NFQWS service

~ # /opt/etc/init.d/S51nfqws status
Service NFQWS is stopped
~ #
Anonym-tsk commented 2 months ago

Вот действительно странно

SausageKiller218 commented 2 months ago

Вот действительно странно

удалось запустить под рутом, думаю через указание uid:gid получится запустить и под nobody

~ # /opt/usr/bin/nfqws --daemon --debug=syslog --uid=0:0 --qnum=200 --pidfile=/opt/var/run/nfqws.pid --dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=12 --dpi-desync-fooling=md5sig,badseq,
badsum --hostlist=/opt/etc/nfqws/user.list
Loading hostlist /opt/etc/nfqws/user.list
loading plain text list
Loaded 16 hosts from /opt/etc/nfqws/user.list
~ # ps | grep nfqws
 2891 root       560 S    /opt/usr/bin/nfqws --daemon --debug=syslog --uid=0:0 --qnum=200 --pidfile=/opt/var/run/nfqws.pid --dpi-desync=fake disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=12 --dpi-desyn
 3094 root      6120 S    grep nfqws
~ #

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

При этом strategy.sh говорит о том что работает почти любая стратегия

~ # ./strategy.sh www.youtube.com --full
Testing domain: www.youtube.com
Service NFQWS is not running
killall: nfqws: no process killed
find: ‘/lib/modules/4.1.52’: No such file or directory
Cannot find xt_NFQUEUE.ko module
Found strategy:
--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=md5sig
Found strategy:
--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=0 --dpi-desync-fooling=badseq
...

...
Found strategy:
--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=7 --dpi-desync-fooling=badsum
curl: (35) Recv failure: Connection reset by peer
Found strategy:
--dpi-desync=fake,disorder2 --dpi-desync-split-pos=1 --dpi-desync-ttl=7 --dpi-desync-fooling=md5sig,badsum

При этом:

~ # /opt/etc/init.d/S51nfqws status
Service NFQWS is running
~ # curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  100M  100  100M    0     0  12.1M      0  0:00:08  0:00:08 --:--:-- 14.6M

~ # /opt/etc/init.d/S51nfqws stop
Stopping NFQWS service...
~ # curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:50 --:--:--     0^C