Alexey77 Posted January 17 Share Posted January 17 2 часа назад, jameszero сказал: "network": "tcp", Доброе утро. А для "network": "tcp,udp", такие оптимизации подойдут? Quote Link to comment Share on other sites More sharing options...
jameszero Posted January 17 Share Posted January 17 @Alexey77 там не может быть udp. Это настройка подключения Кинетика к серверу, а не клиентов к Кинетику. 1 1 Quote Link to comment Share on other sites More sharing options...
Whishp Posted January 17 Share Posted January 17 16 часов назад, jameszero сказал: На Giga тот же процессор, что и на Viva, только памяти больше. Вы всё таки попробуйте zkeen, не понравится, вернётесь к своему списку обхода. Кстати, вы оптимизацию сервера выполнили? Спасибо! На zkeen тоже самое, не понимаю. Причем долго открывается только при заходе на сайт. Внутри сайта все хорошо. А так же не понятны вылеты в онлайн играх, трафик же идет напрямую в них. Еще как я понял на встроенном прокси клиенте кинетика завезли udp в бете. Как его активировать? Quote Link to comment Share on other sites More sharing options...
jameszero Posted January 17 Share Posted January 17 15 минут назад, Whishp сказал: на встроенном прокси клиенте кинетика завезли udp в бете. Как его активировать? https://forum.keenetic.com/topic/16899-xray-на-entware-xkeen/page/17/#comment-173257 1 Quote Link to comment Share on other sites More sharing options...
Pawant Posted January 17 Share Posted January 17 6 часов назад, jameszero сказал: Доброе утро! Для оптимизации подключения с клиентской стороны, можно добавить следующие параметры в outbound на роутере: Здравствуйте! Не совсем понятно, как данный фрагмент вставить в outbound. У меня после вставки выдает ошибку. Можете, пожалуйста, сделать готовый файл outbound? Мне не нужны вообще никакие фильтры, у меня весь трафик напрямую идет через xkeen на VPS. Цель - максимально облегчить и ускорить веб-серфинг. Quote Link to comment Share on other sites More sharing options...
LexxWin Posted January 17 Share Posted January 17 (edited) В 10.01.2024 в 19:12, Skrill0 сказал: Добавлено 01. Режим TProxy | Спасибо @avn, @Alexey77, @bigpu, @Pawant, @Le ecureuil 02. Миграция модулей прошивки 03. GeoSite Zkeen от @jameszero 04. Умные правила iptables 05. Поддержка чистого DNS сервиса от Xray для конкретной политики 06. Оптимизация сервера. Здравствуйте! Установил обновление, спасибо! Но вот не могу найти файл GeoSite Zkeen. Понимаю, что его можно скачать отдельно и добавить, но мне просто интересно где он находится после установки обновления. UPD: Нашёл, нужно выбрать соответствующий пункт при установке Xkeen, и тогда он появится. Edited January 25 by LexxWin Quote Link to comment Share on other sites More sharing options...
jameszero Posted January 17 Share Posted January 17 24 минуты назад, Pawant сказал: Можете, пожалуйста, сделать готовый файл outbound? Написал в личные сообщения 1 Quote Link to comment Share on other sites More sharing options...
LexxWin Posted January 17 Share Posted January 17 (edited) На виртуальной машине (192.168.1.102) запущен Сервер. На роутере открыт порт 50458, и направляет на 8090 для того, чтобы иметь доступ извне по доменному имени. На новой версии Xkeen, я не могу получить доступ к Серверу. Подключаюсь локально, по адресу 192.168.1.102:8090 - доступен, но по 192.168.1.102:50458 - недоступен. Отключаю Xkeen, есть доступ. На старой версии Xkeen настроенной через Redirect, это работало. Подскажите пожалуйста как это исправить? Или по крайней мере как отключить TProxy, может хотя бы через Redirect у меня заработает. UPD: Здесь тоже сработал прошлый совет от @Alexey77, когда у меня не работал telegram. Отредактировал параметр: port_donor="80,443", в файле "S24xray", по пути "opt\etc\init.d" После перезапуска Xkeen - заработало. Edited February 6 by LexxWin Quote Link to comment Share on other sites More sharing options...
LexxWin Posted January 17 Share Posted January 17 (edited) Модули ядра подсистемы Netfilter после выполнения команды xkeen -modules находятся в etc\ndm\netfilter.d ? UPD: Нашёл, здесь находятся: /opt/lib/modules Edited January 20 by LexxWin Quote Link to comment Share on other sites More sharing options...
dok Posted January 17 Share Posted January 17 (edited) Всем привет! подскажите, пожалуйста, возможна ли работа сабжа с уже установленным adguard? ----------- Прошу прощения, поиск по ключевым словам не дал ничего, но в инструкции увидел о возможности такой работы. попробую ------------ с adguard home все работает корректно, вроде. вопрос - как добавить свой список блокировки рекламы? Вот тут есть список без дублей, собранный из многих других списков. одно кольцо, чтоб править всеми, так сказать Edited January 18 by dok список рекламы Quote Link to comment Share on other sites More sharing options...
Goordoon Posted January 18 Share Posted January 18 (edited) Никак не получилось завести при помощи Redirect-mode на версии 1.0, при этом через Proxy работает. Есть идеи, куда нужно копать, чтобы решить проблему? Inbounds настраивал правильно, прописывал dokodemo-door, а вот правила маршрутизации не создавались iptables -t nat -nL xkeen -v писал, что ничего нет. UPD. Смог завести на TProxy. Чудеса, да и только Edited January 18 by Goordoon 1 Quote Link to comment Share on other sites More sharing options...
danil-v Posted January 18 Share Posted January 18 Здравствуйте! Подскажите что делаю не так? Есть Keenetic Extra. Xkeen установился без проблем. VPS тоже настроен, с мобильного клиента и с компьютера отлично работает. после запуска xkeen, сообщений об ошибках конфигурации нет. Но на vps сервере в панели 3x-ui клиент Offline. root@Keenetic-2330:~$ xkeen -start Xray 1.8.7 (Xray, Penetrates Everything.) 3f0bc13 (go1.21.5 linux/mipsle) A unified platform for anti-censorship. 2024/01/18 09:47:07 Using confdir from env: /opt/etc/xray/configs 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/01_log.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/02_stats.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/03_dns.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/04_reverse.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/05_fake-dns.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/06_transport.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/07_inbounds.json 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/07_inbounds.json] appended inbound with tag: socks-in 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/08_outbonds.json 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/08_outbonds.json] prepend outbound with tag: proxy 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/08_outbonds.json] prepend outbound with tag: direct 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/08_outbonds.json] prepend outbound with tag: block 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/09_policy.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/10_routing.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/11_fallbacks.json Прокси-клиент запущен Подскажите пожалуйста, что делаю не так? В логах xray на кинетике ставил уровень debug. Но активной записи в него не идёт. 2024/01/18 10:10:03 [Debug] app/log: Logger started 2024/01/18 10:10:03 [Debug] app/router: MphDomainMatcher is enabled for 703 domain rule(s) 2024/01/18 10:10:03 [Debug] app/router: MphDomainMatcher is enabled for 2 domain rule(s) 2024/01/18 10:10:03 [Debug] app/proxyman/inbound: creating stream worker on 192.168.1.1:54836 2024/01/18 10:10:03 [Info] transport/internet/tcp: listening TCP on 192.168.1.1:54836 2024/01/18 10:10:03 [Warning] core: Xray 1.8.7 started Причём в политиках роутинга выставил направлять клиента кинетик на прокси соединение у клиента вообще никакого интернета нет, даже адреса днс не резолвит... Quote Link to comment Share on other sites More sharing options...
activio Posted January 18 Share Posted January 18 Здравствуйте, на extra 2 заведется? usb есть у него. Quote Link to comment Share on other sites More sharing options...
Gmarapet Posted January 18 Share Posted January 18 (edited) Добрый вечер. Помогите разобраться. Сейчас настроен Xkeen в режиме REDIRECT, все работает, но хочу заставить работать TPROXY и не получатеся. Конфиги все, кроме 07_inbounds.json одинаковые, сервисы перенесены на 8443, порт 443 открыт и направлен на "Этот интернет-центр". Проверял перенаправляя его на другой хост в локалке, снаружи доступ есть. Компоненты нужные установлены. Один раз даже взлетело и заработало, но после перезагрузки роутера работать перестало и трафик больше не идет. Повторно заставить работать не получается. Статус кинетика в панели X-UI остается offline, при том, что при REDIRECT стабильно горит online. Вот inbounds, которым пользуюсь и с которым не работает. Скрытый текст { "inbounds": [ { "listen": "192.168.1.1", "port": 54836, "protocol": "dokodemo-door", "settings": { "network": "tcp,udp", "followRedirect": true }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls", "quic" ] }, "streamSettings": { "sockopt": { "tproxy": "tproxy" } }, "tag": "socks-in" } ] } Edited January 18 by Gmarapet Quote Link to comment Share on other sites More sharing options...
jameszero Posted January 18 Share Posted January 18 @Gmarapet Добрый вечер! А если так: ... "listen": "127.0.0.1", ... 1 Quote Link to comment Share on other sites More sharing options...
Gmarapet Posted January 18 Share Posted January 18 (edited) 2 часа назад, jameszero сказал: "listen": "127.0.0.1", Тот же результат. Так заработало. В первый раз опечатался. Edited January 18 by Gmarapet 1 Quote Link to comment Share on other sites More sharing options...
Skrill0 Posted January 18 Author Share Posted January 18 48 минут назад, Gmarapet сказал: Добрый вечер. Помогите разобраться. Сейчас настроен Xkeen в режиме REDIRECT, все работает, но хочу заставить работать TPROXY и не получатеся. Конфиги все, кроме 07_inbounds.json одинаковые, сервисы перенесены на 8443, порт 443 открыт и направлен на "Этот интернет-центр". Проверял перенаправляя его на другой хост в локалке, снаружи доступ есть. Компоненты нужные установлены. Один раз даже взлетело и заработало, но после перезагрузки роутера работать перестало и трафик больше не идет. Повторно заставить работать не получается. Статус кинетика в панели X-UI остается offline, при том, что при REDIRECT стабильно горит online. Вот inbounds, которым пользуюсь и с которым не работает. Показать содержимое { "inbounds": [ { "listen": "192.168.1.1", "port": 54836, "protocol": "dokodemo-door", "settings": { "network": "tcp,udp", "followRedirect": true }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls", "quic" ] }, "streamSettings": { "sockopt": { "tproxy": "tproxy" } }, "tag": "socks-in" } ] } И Вам доброго вечера! Покажите, пожалуйста, после запуска XKeen результаты следующих команд: cat /opt/etc/ndm/netfilter.d/proxy.sh iptables -t mangle -nL PREROUTING -v iptables -t mangle -nL xkeen -v Quote Link to comment Share on other sites More sharing options...
jameszero Posted January 18 Share Posted January 18 (edited) В директории /etc/xray/configs/ нет лишних файлов или папок? Например, резервных копий конфигов. Они могут считываться и накладываться на настройки. Удалите файл /etc/ndm/netfilter.d/xray.sh, если остался после обновления. Edited January 18 by jameszero 1 Quote Link to comment Share on other sites More sharing options...
Konstantin Rezvykh Posted January 18 Share Posted January 18 (edited) Добрый вечер! tproxy заработал (со 127.0.0.1 в конфиге inbounds), для диагностики просили: Скрытый текст ~ # iptables -t mangle -nL PREROUTING -v Chain PREROUTING (policy ACCEPT 6507 packets, 2239K bytes) pkts bytes target prot opt in out source destination 45 6140 _NDM_PREROUTING_MC all -- * * 0.0.0.0/0 224.0.0.0/4 14274 3025K _NDM_IPSEC_PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0 14274 3025K _NDM_HOTSPOT_PRERT all -- * * 0.0.0.0/0 0.0.0.0/0 8175 833K xkeen all -- * * 0.0.0.0/0 0.0.0.0/0 connmark match 0xffffd00 ! ctstate INVALID ~ # iptables -t mangle -nL xkeen -v Chain xkeen (1 references) pkts bytes target prot opt in out source destination 0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/8 0 0 RETURN all -- * * 0.0.0.0/0 10.0.0.0/8 17 1166 RETURN all -- * * 0.0.0.0/0 100.64.0.0/10 0 0 RETURN all -- * * 0.0.0.0/0 127.0.0.0/8 0 0 RETURN all -- * * 0.0.0.0/0 169.254.0.0/16 0 0 RETURN all -- * * 0.0.0.0/0 172.16.0.0/12 0 0 RETURN all -- * * 0.0.0.0/0 192.0.0.0/24 0 0 RETURN all -- * * 0.0.0.0/0 192.0.2.0/24 547 56769 RETURN all -- * * 0.0.0.0/0 192.168.0.0/16 0 0 RETURN all -- * * 0.0.0.0/0 198.18.0.0/15 0 0 RETURN all -- * * 0.0.0.0/0 198.51.100.0/24 0 0 RETURN all -- * * 0.0.0.0/0 203.0.113.0/24 34 4831 RETURN all -- * * 0.0.0.0/0 224.0.0.0/4 0 0 RETURN all -- * * 0.0.0.0/0 240.0.0.0/4 0 0 RETURN all -- * * 0.0.0.0/0 255.255.255.255 7064 665K TPROXY tcp -- * * 0.0.0.0/0 0.0.0.0/0 TPROXY redirect 127.0.0.1:54836 mark 0x111/0xffffffff 1024 158K TPROXY udp -- * * 0.0.0.0/0 0.0.0.0/0 TPROXY redirect 127.0.0.1:54836 mark 0x111/0xffffffff ~ # cat /opt/etc/ndm/netfilter.d/proxy.sh #!/bin/sh mode_proxy="TPROXY" network="tcp udp" name_prerouting_chain="xkeen" name_output_chain="xkeen_mask" name_profile="xkeen" port_proxy="54836" port_donor="" policy_mark="0xffffd00" table_redirect="nat" table_tproxy="mangle" table_mark="0x111" table_id="111" file_dns="" port_dns="53" directory_os_modules=/lib/modules/4.9-ndm-5 directory_user_modules=/opt/lib/modules load_module() { local module=${1} local directory_modules if [ -f "${directory_user_modules}/${module}" ] then directory_modules="${directory_user_modules}" else directory_modules="${directory_os_modules}" fi insmod ${directory_modules}/${module} >/dev/null 2>&1 } if [ "${mode_proxy}" = "REDIRECT" ]; then network="tcp" else network="tcp udp" fi if [ -n "${file_dns}" ]; then port_donor="${port_dns},${port_donor}" fi iptables_supported=$(command -v iptables >/dev/null 2>&1 && echo true || echo false) ip6tables_supported=$(command -v ip6tables >/dev/null 2>&1 && echo true || echo false) add_ipt_rule() { local family="${1}" local table="${2}" local chain="${3}" shift 3 if { [ "${family}" = "iptables" ] && [ "${iptables_supported}" = "false" ]; } || { [ "${family}" = "ip6tables" ] && [ "${ip6tables_supported}" = "false" ]; }; then return fi if ! "${family}" -t "${table}" -nL ${name_prerouting_chain} >/dev/null 2>&1; then "${family}" -t "${table}" -N ${name_prerouting_chain} >/dev/null 2>&1 || exit 0 add_exclude_rules ${name_prerouting_chain} for net in ${network}; do case "${mode_proxy}" in "REDIRECT") "${family}" -t "${table}" -A ${name_prerouting_chain} -p "${net}" -j REDIRECT --to-port "${port_proxy}" >/dev/null 2>&1 ;; "TPROXY") "${family}" -t "${table}" -A ${name_prerouting_chain} -p "${net}" -j TPROXY --on-ip "${proxy_ip}" --on-port "${port_proxy}" --tproxy-mark "${table_mark}" >/dev/null 2>&1 ;; *) exit 0 ;; esac done fi if [ -n "${file_dns}" ]; then if ! "${family}" -t "${table}" -nL ${name_output_chain} >/dev/null 2>&1; then "${family}" -t "${table}" -N ${name_output_chain} >/dev/null 2>&1 || exit 0 add_exclude_rules ${name_output_chain} "${family}" -t "${table}" -A ${name_output_chain} -j CONNMARK --set-mark "${table_mark}" fi fi } add_exclude_rules() { local chain="${1}" for exclude in ${exclude_list}; do if ([ "${exclude}" = "192.168.0.0/16" ] || [ "${exclude}" = "fd00::/8" ]) && [ -n "${file_dns}" ]; then "${family}" -t "${table}" -A ${chain} -d "${exclude}" -p tcp ! --dport 53 -j RETURN 2>/dev/null "${family}" -t "${table}" -A ${chain} -d "${exclude}" -p udp ! --dport 53 -j RETURN 2>/dev/null else "${family}" -t "${table}" -A ${chain} -d "${exclude}" -j RETURN 2>/dev/null fi done } configure_route() { local ip_version="${1}" if ! ip -"${ip_version}" rule show | grep -q "fwmark ${table_mark} lookup ${table_id}" >/dev/null 2>&1; then ip -"${ip_version}" rule add fwmark "${table_mark}" lookup "${table_id}" >/dev/null 2>&1 ip -"${ip_version}" route add local default dev lo table "${table_id}" >/dev/null 2>&1 fi } case "${mode_proxy}" in "TPROXY") active_table="${table_tproxy}" load_module xt_TPROXY.ko ;; "REDIRECT") active_table="${table_redirect}" ;; *) exit 0 ;; esac for family in iptables ip6tables; do if [ "${family}" = "ip6tables" ]; then exclude_list="0000::/8 0100::/64 0200::/7 2001:0002::/48 2001:0010::/28 2001:0db8::/32 2002::/16 3ffe::/16 fc00::/7 fd00::/8 fe80::/10 fec0::/10 ff00::/8 ::1/128 ::ffff:0:0/96 64:ff9b::/96 64:ff9b:1::/48 100::/64 2001::/23" proxy_ip="::1" configure_route 6 else exclude_list="0.0.0.0/8 10.0.0.0/8 100.64.0.0/10 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 224.0.0.0/4 240.0.0.0/4 255.255.255.255/32" proxy_ip="127.0.0.1" configure_route 4 fi add_ipt_rule "${family}" "${active_table}" "${name_prerouting_chain}" if [ -n "${file_dns}" ]; then add_ipt_rule "${family}" "${active_table}" "${name_output_chain}" fi done if [ -n "${port_donor}" ]; then load_module xt_multiport.ko load_module xt_owner.ko for net in ${network}; do for family in iptables ip6tables; do if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ -n "${file_dns}" ]; then if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi fi done done else for family in iptables ip6tables; do if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ -n "${file_dns}" ]; then if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi fi done fi exit 0 Edited January 18 by Konstantin Rezvykh 2 Quote Link to comment Share on other sites More sharing options...
Gmarapet Posted January 18 Share Posted January 18 (edited) 3 часа назад, Skrill0 сказал: Покажите, пожалуйста, после запуска XKeen результаты следующих команд: В первый раз вместо 127.0.0.1 написал 128.0.0.1, рука дрогнула. Исправил на 127.0.0.1 и все заработало. Вот диагностика cat /opt/etc/ndm/netfilter.d/proxy.sh Скрытый текст #!/bin/sh mode_proxy="TPROXY" network="tcp udp" name_prerouting_chain="xkeen" name_output_chain="xkeen_mask" name_profile="xkeen" port_proxy="54836" port_donor="" policy_mark="0xffffd02" table_redirect="nat" table_tproxy="mangle" table_mark="0x111" table_id="111" file_dns="" port_dns="53" directory_os_modules=/lib/modules/4.9-ndm-5 directory_user_modules=/opt/lib/modules load_module() { local module=${1} local directory_modules if [ -f "${directory_user_modules}/${module}" ] then directory_modules="${directory_user_modules}" else directory_modules="${directory_os_modules}" fi insmod ${directory_modules}/${module} >/dev/null 2>&1 } if [ "${mode_proxy}" = "REDIRECT" ]; then network="tcp" else network="tcp udp" fi if [ -n "${file_dns}" ]; then port_donor="${port_dns},${port_donor}" fi iptables_supported=$(command -v iptables >/dev/null 2>&1 && echo true || echo false) ip6tables_supported=$(command -v ip6tables >/dev/null 2>&1 && echo true || echo false) add_ipt_rule() { local family="${1}" local table="${2}" local chain="${3}" shift 3 if { [ "${family}" = "iptables" ] && [ "${iptables_supported}" = "false" ]; } || { [ "${family}" = "ip6tables" ] && [ "${ip6tables_supported}" = "false" ]; }; then return fi if ! "${family}" -t "${table}" -nL ${name_prerouting_chain} >/dev/null 2>&1; then "${family}" -t "${table}" -N ${name_prerouting_chain} >/dev/null 2>&1 || exit 0 add_exclude_rules ${name_prerouting_chain} for net in ${network}; do case "${mode_proxy}" in "REDIRECT") "${family}" -t "${table}" -A ${name_prerouting_chain} -p "${net}" -j REDIRECT --to-port "${port_proxy}" >/dev/null 2>&1 ;; "TPROXY") "${family}" -t "${table}" -A ${name_prerouting_chain} -p "${net}" -j TPROXY --on-ip "${proxy_ip}" --on-port "${port_proxy}" --tproxy-mark "${table_mark}" >/dev/null 2>&1 ;; *) exit 0 ;; esac done fi if [ -n "${file_dns}" ]; then if ! "${family}" -t "${table}" -nL ${name_output_chain} >/dev/null 2>&1; then "${family}" -t "${table}" -N ${name_output_chain} >/dev/null 2>&1 || exit 0 add_exclude_rules ${name_output_chain} "${family}" -t "${table}" -A ${name_output_chain} -j CONNMARK --set-mark "${table_mark}" fi fi } add_exclude_rules() { local chain="${1}" for exclude in ${exclude_list}; do if ([ "${exclude}" = "192.168.0.0/16" ] || [ "${exclude}" = "fd00::/8" ]) && [ -n "${file_dns}" ]; then "${family}" -t "${table}" -A ${chain} -d "${exclude}" -p tcp ! --dport 53 -j RETURN 2>/dev/null "${family}" -t "${table}" -A ${chain} -d "${exclude}" -p udp ! --dport 53 -j RETURN 2>/dev/null else "${family}" -t "${table}" -A ${chain} -d "${exclude}" -j RETURN 2>/dev/null fi done } configure_route() { local ip_version="${1}" if ! ip -"${ip_version}" rule show | grep -q "fwmark ${table_mark} lookup ${table_id}" >/dev/null 2>&1; then ip -"${ip_version}" rule add fwmark "${table_mark}" lookup "${table_id}" >/dev/null 2>&1 ip -"${ip_version}" route add local default dev lo table "${table_id}" >/dev/null 2>&1 fi } case "${mode_proxy}" in "TPROXY") active_table="${table_tproxy}" load_module xt_TPROXY.ko ;; "REDIRECT") active_table="${table_redirect}" ;; *) exit 0 ;; esac for family in iptables ip6tables; do if [ "${family}" = "ip6tables" ]; then exclude_list="0000::/8 0100::/64 0200::/7 2001:0002::/48 2001:0010::/28 2001:0db8::/32 2002::/16 3ffe::/16 fc00::/7 fd00::/8 fe80::/10 fec0::/10 ff00::/8 ::1/128 ::ffff:0:0/96 64:ff9b::/96 64:ff9b:1::/48 100::/64 2001::/23" proxy_ip="::1" configure_route 6 else exclude_list="0.0.0.0/8 10.0.0.0/8 100.64.0.0/10 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.0.0.0/24 192.0.2.0/24 192.168.0.0/16 198.18.0.0/15 198.51.100.0/24 203.0.113.0/24 224.0.0.0/4 240.0.0.0/4 255.255.255.255/32" proxy_ip="127.0.0.1" configure_route 4 fi add_ipt_rule "${family}" "${active_table}" "${name_prerouting_chain}" if [ -n "${file_dns}" ]; then add_ipt_rule "${family}" "${active_table}" "${name_output_chain}" fi done if [ -n "${port_donor}" ]; then load_module xt_multiport.ko load_module xt_owner.ko for net in ${network}; do for family in iptables ip6tables; do if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -p "${net}" -m multiport --dports "${port_donor}" -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ -n "${file_dns}" ]; then if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi fi done done else for family in iptables ip6tables; do if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A PREROUTING -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID -j ${name_prerouting_chain} >/dev/null 2>&1 fi if [ -n "${file_dns}" ]; then if [ "${family}" = "iptables" ] && { ! iptables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then iptables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi if [ "${family}" = "ip6tables" ] && { ! ip6tables -t "${active_table}" -C OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1; }; then ip6tables -t "${active_table}" -A OUTPUT -m owner ! --gid-owner ${name_profile} -m connmark --mark "${policy_mark}" -m conntrack ! --ctstate INVALID ! -p icmp -j ${name_output_chain} >/dev/null 2>&1 fi fi done fi exit 0 iptables -t mangle -nL PREROUTING -v Скрытый текст Chain PREROUTING (policy ACCEPT 19001 packets, 21M bytes) pkts bytes target prot opt in out source destination 70 10684 _NDM_PREROUTING_MC all -- * * 0.0.0.0/0 224.0.0.0/4 25265 22M _NDM_IPSEC_PREROUTING all -- * * 0.0.0.0/0 0.0.0.0/0 25265 22M _NDM_HOTSPOT_PRERT all -- * * 0.0.0.0/0 0.0.0.0/0 7773 1169K xkeen all -- * * 0.0.0.0/0 0.0.0.0/0 connmark match 0xffffd02 ! ctstate INVALID iptables -t mangle -nL xkeen -v Скрытый текст Chain xkeen (1 references) pkts bytes target prot opt in out source destination 0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/8 0 0 RETURN all -- * * 0.0.0.0/0 10.0.0.0/8 5 300 RETURN all -- * * 0.0.0.0/0 100.64.0.0/10 0 0 RETURN all -- * * 0.0.0.0/0 127.0.0.0/8 0 0 RETURN all -- * * 0.0.0.0/0 169.254.0.0/16 0 0 RETURN all -- * * 0.0.0.0/0 172.16.0.0/12 0 0 RETURN all -- * * 0.0.0.0/0 192.0.0.0/24 0 0 RETURN all -- * * 0.0.0.0/0 192.0.2.0/24 1515 230K RETURN all -- * * 0.0.0.0/0 192.168.0.0/16 0 0 RETURN all -- * * 0.0.0.0/0 198.18.0.0/15 0 0 RETURN all -- * * 0.0.0.0/0 198.51.100.0/24 0 0 RETURN all -- * * 0.0.0.0/0 203.0.113.0/24 49 8150 RETURN all -- * * 0.0.0.0/0 224.0.0.0/4 0 0 RETURN all -- * * 0.0.0.0/0 240.0.0.0/4 0 0 RETURN all -- * * 0.0.0.0/0 255.255.255.255 4807 678K TPROXY tcp -- * * 0.0.0.0/0 0.0.0.0/0 TPROXY redirect 127.0.0.1:54836 mark 0x111/0xffffffff 1680 283K TPROXY udp -- * * 0.0.0.0/0 0.0.0.0/0 TPROXY redirect 127.0.0.1:54836 mark 0x111/0xffffffff 3 часа назад, jameszero сказал: В директории /etc/xray/configs/ нет лишних файлов или папок? Например, резервных копий конфигов. Они могут считываться и накладываться на настройки. Удалите файл /etc/ndm/netfilter.d/xray.sh, если остался после обновления. Лишних файлов нет. В /opt/etc/ndm/netfilter.d/ только proxy.sh Edited January 18 by Gmarapet 2 Quote Link to comment Share on other sites More sharing options...
danil-v Posted January 19 Share Posted January 19 10 часов назад, activio сказал: Здравствуйте, на extra 2 заведется? usb есть у него. Только что протестил. Завёлся через встроенный прокси. Через Redirect не пробывал. С редиректом еще не разобрался как настроить. Там видимо через iptables. А можно попросить инструкцию для настойки REDIRECT или на какой странице форума она? Quote Link to comment Share on other sites More sharing options...
danil-v Posted January 19 Share Posted January 19 14 часа назад, danil-v сказал: Здравствуйте! Подскажите что делаю не так? Есть Keenetic Extra. Xkeen установился без проблем. VPS тоже настроен, с мобильного клиента и с компьютера отлично работает. после запуска xkeen, сообщений об ошибках конфигурации нет. Но на vps сервере в панели 3x-ui клиент Offline. root@Keenetic-2330:~$ xkeen -start Xray 1.8.7 (Xray, Penetrates Everything.) 3f0bc13 (go1.21.5 linux/mipsle) A unified platform for anti-censorship. 2024/01/18 09:47:07 Using confdir from env: /opt/etc/xray/configs 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/01_log.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/02_stats.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/03_dns.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/04_reverse.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/05_fake-dns.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/06_transport.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/07_inbounds.json 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/07_inbounds.json] appended inbound with tag: socks-in 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/08_outbonds.json 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/08_outbonds.json] prepend outbound with tag: proxy 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/08_outbonds.json] prepend outbound with tag: direct 2024/01/18 09:47:07 [Info] infra/conf: [/opt/etc/xray/configs/08_outbonds.json] prepend outbound with tag: block 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/09_policy.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/10_routing.json 2024/01/18 09:47:07 [Info] infra/conf/serial: Reading config: /opt/etc/xray/configs/11_fallbacks.json Прокси-клиент запущен Подскажите пожалуйста, что делаю не так? В логах xray на кинетике ставил уровень debug. Но активной записи в него не идёт. 2024/01/18 10:10:03 [Debug] app/log: Logger started 2024/01/18 10:10:03 [Debug] app/router: MphDomainMatcher is enabled for 703 domain rule(s) 2024/01/18 10:10:03 [Debug] app/router: MphDomainMatcher is enabled for 2 domain rule(s) 2024/01/18 10:10:03 [Debug] app/proxyman/inbound: creating stream worker on 192.168.1.1:54836 2024/01/18 10:10:03 [Info] transport/internet/tcp: listening TCP on 192.168.1.1:54836 2024/01/18 10:10:03 [Warning] core: Xray 1.8.7 started Причём в политиках роутинга выставил направлять клиента кинетик на прокси соединение у клиента вообще никакого интернета нет, даже адреса днс не резолвит... Разобрался в чём дело. Нужно было в приоритетах подключений, в правилах с Xray так же ставить галку на подключении к провайдеру. И всё заработало!!! 1 Quote Link to comment Share on other sites More sharing options...
Alexey77 Posted January 19 Share Posted January 19 1 час назад, danil-v сказал: А можно попросить инструкцию для настойки REDIRECT или на какой странице форума она? Доброе утро. В шапке темы написано и есть файлы 07_inbounds.json один для прокси другой для редирект. Используйте файл 07_r_inbounds.json и после перезагрузите роутер. 1 Quote Link to comment Share on other sites More sharing options...
Gmarapet Posted January 19 Share Posted January 19 Добрый день. И с праздником всех, кто празднует. И снова у меня что-то не так. ) В режиме TProxy ломается доступ к устройствам внутри домашней сети через переадресацию портов. Более подробно: внутри есть пара устройства, к которым нужен доступ снаружи. Обычно захожу на них по адресу my.domain:port, настроив переадресацию на нужный порт на роутере. В режиме redirect доступ работает, переключаюсь на tproxy и доступа нет, хотя 10_routing.json в обоих случаях одинаковый. Роутинг на xray настроен всё, кроме исключений, слать директом. Как получить доступ в режиме tproxy? Quote Link to comment Share on other sites More sharing options...
activio Posted January 19 Share Posted January 19 Я тут смотрю все активно хотят TPROXY, а для чего? В чем профит? 1 Quote Link to comment Share on other sites More sharing options...
Alexey77 Posted January 19 Share Posted January 19 4 часа назад, Gmarapet сказал: И снова у меня что-то не так. Вам может попробовать добавить порты xkeen -ap 80,443. 2 Quote Link to comment Share on other sites More sharing options...
Gmarapet Posted January 19 Share Posted January 19 2 часа назад, Alexey77 сказал: Вам может попробовать добавить порты xkeen -ap 80,443. Спасибо, помогло. Теперь заходит всюду, кроме keenetic-web, который на порту 8443. Зайти на роутер получается только по локальному адресу или через приложение. https://myname.keenetic.pro:8443 по-прежнему не отвечает. Quote Link to comment Share on other sites More sharing options...
jameszero Posted January 19 Share Posted January 19 @Gmarapet, у вас белый IP-адрес? Попробуйте добавить его с 32 маской в параметр ipv4_exclude (66 срока файла /etc/init.d/S24xray) 2 Quote Link to comment Share on other sites More sharing options...
Gmarapet Posted January 19 Share Posted January 19 (edited) 13 часа назад, jameszero сказал: у вас белый IP-адрес? Попробуйте добавить его с 32 маской в параметр ipv4_exclude Спасибо, помогло. Но как-то странно помогло. Извне всё открылось со всех устройств. А вот в локалке с PC открывается, с телефона Poco открывается, а с двух разных Google Pixel отваливается по таймауту. Меня это прямо обескураживает. Edited January 20 by Gmarapet 1 Quote Link to comment Share on other sites More sharing options...
Alexey77 Posted January 20 Share Posted January 20 14 часа назад, Gmarapet сказал: двух разных Google Pixel отваливается по таймауту. Добрый день. Предполагаю что они используют dns роутера и вдобавок ещё dns от гугла. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.