-
Posts
452 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by avn
-
-
31 минуту назад, Roman Balaev сказал:
Подскажите, а можно использовать отличный от 443 порт, так как он уже занят у меня на сервере под обратный прокси? в конфиге написано настоятельно рекмендуется, чем обернется использование другого порта?
А что мешает на одном порту держать несколько разных сервисов? Вообще ничего.
-
4 минуты назад, Роберт Зарипов сказал:
а почему redirect при ручном перезапуске xray долго срабатывает 25 минут аж
Правила либо есть, либо их нету в текущем состоянии iptables. Вам надо разбираться, что происходит. Проблем с redirect не наблюдаю еще со времен shadowsocks.
-
22 минуты назад, Skrill0 сказал:
Здравствуйте!
За внесение правил в таблицу отвечает netfilter.
Он срабатывает автоматически, раз в промежуток времени.
Вы отредактировали init.d под tproxy?
Так как Xkeen пока что не поддерживает Tproxy полноценно, только в ближайшие несколько дней будет обновление для него.Скажу по поводу tproxy - все мои эксперименты окончились фиаско. Длинные цепочки на keenetic работают очень плохо за счет постоянного их пересоздания и очистки. Думаю про tproxy можно забыть в длинных цепочках. А redirect работает и с udp. С ним проблем не наблюдаю.
-
12 минуты назад, Roman Balaev сказал:
Добрый день, подскажите пожалуйста или ткните в ответ если уже было.
Использую подключение через 10_d_routing.json
И заметил что если девайс находится в политике xray то скорость интренета режется протоколом VPN все равно не смотря на то, что я удалил из списка speedtest. Когда удаляю из политики скорость становится заявленной провайдером.
Значит ли это, что даже при хождении в директ подключение все равно идет какимто образом через сокс?
Все коннекты идут через xray. А он уже принимает решение, как дальше маршрутизировать, отсюда и падение скорости.
- 1
- 2
-
17 минут назад, Denis P сказал:
Прошу тем, кому актуально, поддержать вот эту идею
https://github.com/AdguardTeam/AdGuardHome/issues/6233
Это позволит полноценно использовать ipset create timeout, что в свою очередь даст возможность для поддержания списков ipset и маршрутов в актуальном состоянии, т.е если домен резолвится в тот же адрес - счетчик timeout будет просто обновлен, если в другой - по истечении timeout он автоматически будет удален из ipset. В данный момент это тоже возможно, но если адрес уже содержится в кэше agh, он не добавляется в ipset, что слегка ломает всю логику и счетчик timeout не обновляется.Нафиг не нужно. Timeout для ipset и такой же в agh. А каждый раз дергать ipset для обновления ( удаления и добавления) для того, что бы обновить время timeout так себе идея.
- 1
-
Выборочный роутинг можно сделать через REDIRECT
Скрытый текст/opt/etc/ndm/netfilter.d/10n-ss4.sh
#!/bin/sh [ "$type" != "iptables" ] && exit 0 [ "$table" != "nat" ] && exit 0 ip4t() { if ! iptables -C "$@" &>/dev/null; then iptables -A "$@" || exit 0 fi } # V2Ray ip4t PREROUTING -t nat -i br0 -p tcp -m set --match-set unblock4-ssp dst -j REDIRECT --to-port 9171 ip4t PREROUTING -t nat -i br0 -p udp -m set --match-set unblock4-ssp dst -j REDIRECT --to-port 9171 exit 0
/opt/etc/ndm/netfilter.d/10n-ss6.sh
#!/bin/sh [ "$type" != "ip6tables" ] && exit 0 [ "$table" != "nat" ] && exit 0 ip6t() { if ! ip6tables -C "$@" &>/dev/null; then ip6tables -A "$@" || exit 0 fi } # V2Ray ip6t PREROUTING -t nat -i br0 -p tcp -m set --match-set unblock6-ssp dst -j REDIRECT --to-port 9171 ip6t PREROUTING -t nat -i br0 -p udp -m set --match-set unblock6-ssp dst -j REDIRECT --to-port 9171 exit 0
Конфиг /opt/etc/v2ray/common.json. Ключевые слова redirect и dokodemo-door
{ "inbounds": [ { "listen": "::", "port": 1082, "protocol": "socks", "settings": { "network": "tcp", "auth": "noauth" }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls", "quic" ] }, "tag": "socks" }, { "listen": "::", "port": 9171, "protocol": "dokodemo-door", "settings": { "network": "tcp,udp", "followRedirect": true }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls", "quic" ] }, "tag": "redirect" } ], "outbounds": [ { "protocol": "freedom", "settings": {}, "streamSettings": {}, "tag": "direct" }, { "protocol": "blackhole", "settings": {}, "streamSettings": {}, "tag": "blocked" } ], "routing": { "domainStrategy": "IPIfNonMatch", "rules": [ { "type": "field", "inboundTag": [ "socks", "redirect" ], "outboundTag": "proxy-vless-grpc-reality" } ] } }
- 3
- 2
-
В 01.02.2022 в 03:19, MercuryV сказал:
Скрипт для автозагрузки - /opt/etc/init.d/S11openfortivpn
#!/bin/sh ENABLED=yes PROCS=openfortivpn ARGS="" PREARGS="" DESC=$PROCS PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func
Скрипт для форвардинга - /opt/etc/ndm/netfilter.d/111-openfortivpn.sh
#!/bin/sh INTERFACE="work" [ "$type" == "ip6tables" ] && exit 0 [ "$table" != "filter" ] && exit 0 [ -z "$(iptables -S | grep $INTERFACE)" ] || exit 0 iptables -w -I FORWARD -s 192.168.XX.YY -i br0 -o $INTERFACE -j ACCEPT exit 0
Здесь я разрешаю соединения с конкретного компьютера домашнего сегмента через интерфейс work. Чтобы имя интерфейса было именно таким, в конфиг openfortivpn добавлен параметр pppd-ifname = work
/opt/etc/ppp/ip-up.d/10-accept.sh
#!/bin/sh INTERFACE=$1 cat << EOF >/opt/etc/ndm/netfilter.d/55f-fortivpn-${INTERFACE}.sh #!/bin/sh [ "\$type" != "iptables" ] && exit 0 [ "\$table" != "filter" ] && exit 0 ip4t() { if ! iptables -C "\$@" &>/dev/null; then iptables -A "\$@" || exit 0 fi } ip4t _NDM_SL_FORWARD -m mac --mac-source dd:33:35:64:18:a7 -i br0 -o ${INTERFACE} -j ACCEPT ip4t _NDM_SL_FORWARD -m mac --mac-source ff:22:56:49:e1:fc -i br0 -o ${INTERFACE} -j ACCEPT exit 0 EOF chmod +x /opt/etc/ndm/netfilter.d/55f-fortivpn-${INTERFACE}.sh type=iptables table=filter /opt/etc/ndm/netfilter.d/55f-fortivpn-${INTERFACE}.sh &
-
В 16.02.2022 в 15:58, MercuryV сказал:
Можно использовать нужные DNS серверы для определенного домена (рабочего). Посмотрите справку. Детали не подскажу, пользуюсь своим DNS сервером, а не комплектным из прошивки.
Можно и из прошивки
tls upstream us-ny-alula.heliumcloud.cc 853 sni us-ny-alula.heliumcloud.cc domain lib
Ключевое слово domain
-
В 30.08.2023 в 20:25, Alex Klink сказал:
Подскажите, а как запускать сценарий/скрипт при поднятии и/или разрыве подключения?
Пробовал через скрипт в /opt/etc/ndm/wan.d не работает.
Можно
-
6 минут назад, BFT сказал:
Пока что не чего захватывать, посижу видимо пару часов без их интернета.
2avn:
Куда это скармливать или где прочитать. Спасибо.
48 минут назад, Dzmiter сказал:Шлюз у Вас судя по 1760:2000 будет другой, снимите дамп на ISP с фильтром (dst host ff02::1) or (udp and ( port 546 or port 547 )) (все широковещательное или dhcp6v), там увидите, кто вам отвечает, тот и шлюз. Шлюз, кстати, у меня тоже не пингуется, но это не мешает ему нормально работать.
-
-
2 минуты назад, Romanvs777 сказал:
Доброе утро. Настраивал по инструкции:
Последовательность шагов, начиная с версии Квас 1.0-beta-22:
-
После установки Квас на устройство, устанавливаем AdGuard Home командой
kvas adguard on
и следуем инструкциям на экране.- После запроса, переходим в клиентский браузер по указанному IP и номеру порта и осуществляем первичную настройку AdGuardHome.
- Далее, вновь переходим в терминал устройства и наживаем там Ctrl-C.
-
Произойдет обновление и настройка AdGuardHome до крайней актуальной версии, после чего Вы можете проверить совместную работу Квас и AdGuardHome командой
kvas test
8080 потому как другие порты были заняты и AdGuard ругался.
Ткните, пожалуйста, где посмотреть, какие мои ошибки и как правильно настроить поэтапно. Спасибо )
У вас вебинтерфейс AGH открывается по адресу 192.168.1.1:8080?
-
После установки Квас на устройство, устанавливаем AdGuard Home командой
-
В 10.08.2023 в 12:33, Denys сказал:
Подтверждаю, IPv6 neighbor detection неправильно работает. Роутер получает префиксы и шлюз с site-local адресом (fe80:). При этом IPv6 на самом роутере не работает, а на клиентах за ним работает, т.к. они плевать хотели на fe80:. Прошивка 4.0.2
Получаю только префикс, адреса нету. 4.0.2 что я делаю не так?
-
13 часа назад, Sergey K сказал:
Уф Лучшее враг хорошего, обновился с 398 на 402 все поломалось.
Вроде все исправил по этому гайду
Но нужная трассировка никак не идет
~ # ipset --list bypass Name: bypass Type: hash:ip Revision: 4 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 740 References: 2 Members: [роскомнадзор] 31.13.72.175 ~ # ipset --list bypass6 Name: bypass6 Type: hash:ip Revision: 4 Header: family inet6 hashsize 1024 maxelem 65536 Size in memory: 1292 References: 2 Members: 2a03:2880:f20a:e6:face:b00c:0:6e2e 2001:470:1:18::223:250 ~ # iptables-save | grep bypass -A PREROUTING ! -i nwg0 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-xmark 0xffffd02/0xffffffff -A PREROUTING ! -i nwg0 -m set --match-set bypass dst -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff Can't find library for match `ndmslin' ~ # ip6tables-save | grep bypass6 -A PREROUTING ! -i nwg0 -m conntrack --ctstate NEW -m set --match-set bypass6 dst -j CONNMARK --set-xmark 0xffffd02/0xffffffff -A PREROUTING ! -i nwg0 -m set --match-set bypass6 dst -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff ~ # >tracert 31.13.72.175 Трассировка маршрута к whatsapp-chatd-igd-p42-edge-shv-01-arn2.facebook.com [31.13.72.175] с максимальным числом прыжков 30: 1 <1 мс <1 мс <1 мс KEENETIC [192.168.1.1] 2 2 ms 2 ms 2 ms [роскомнадзор].rt.ru [IP Шлюза РФ] 3 3 ms 2 ms 2 ms ^C
Куда копнуть можно? Заранее спасибо за ответ.
С роутера трассировку делаете? А зря...
Полиси создана? Проверьте метку по имени
curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == "<Имя полиси>") | .mark'
-
3 часа назад, r13 сказал:
Такс проверено, работает, заодно оптимизировал на максимальное использование штатного функционала.
Как выясняется все равно инструкцию надо менять, так как с версии 4.0 скрипты в папке /opt/etc/ndm/ifstatechanged.d/ считаются устаревшими https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmifstatechangedd-obsoleted-since-40-kept-only-for-backward-compatibility.
Соответственно дубль 2:
Требования -
- KeenOS версия 4.х
- Развёрнутая среда Entware,
- Рабочее VPN-соединение поверх провайдерского, по которому будет идти обращение к определённым доменам
- Для работы через ipv6 наличие рабочего ipv6 на основном подключении и VPN
Установка пакетов
Подразумевается, что AGH будет использоваться вместо встроенной в прошивку службы DNS Proxy. Установите необходимые пакеты:
opkg install adguardhome-go ipset iptables ip-full
Выполните первоначальную настройку AGH, для чего в CLI роутера наберите:
opkg dns-override system configuration save
В этот момент Entware-сервисы будут перезапущены, а интерфейс для первоначальной настройки AGH станет доступен по адресу http://192.168.1.1:3000, где 192.168.1.1 — IP-адрес роутера. Настройки по умолчанию подходят для большинства случаев.
Скриптовая обвязка
Результаты разрешения указанных доменных имён AGH будет помещать в ipset (bypass/bypass6 в примере), правилами iptables трафик по этим IP-адресам будет помечаться fwmark, c идентификатором соответствующим политике в KeenOS.
Первый скрипт — создание ipset'а при старте роутера. Создайте файл /opt/etc/init.d/S52ipset со следующим содержимым:
#!/bin/sh PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin if [ "$1" = "start" ]; then ipset create bypass hash:ip ipset create bypass6 hash:ip family inet6 fi
И еще пара скриптов для пометки трафика с помощью fwmark. Актуальная прошивка активно использует эту возможность, поэтому маркировать трафик приходится точечно. Создайте файл /opt/etc/ndm/netfilter.d/010-bypass.sh c контентом для пометки ipv4 трафика:
#!/bin/sh [ "$type" == "ip6tables" ] && exit [ "$table" != "mangle" ] && exit [ -z "$(ipset --quiet list bypass)" ] && exit if [ -z "$(iptables-save | grep bypass)" ]; then iptables -w -t mangle -A PREROUTING ! -i nwg0 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-mark 0xffffd02 iptables -w -t mangle -A PREROUTING ! -i nwg0 -m set --match-set bypass dst -j CONNMARK --restore-mark fi
Создайте файл /opt/etc/ndm/netfilter.d/011-bypass6.sh c контентом для пометки ipv6 трафика:
#!/bin/sh [ "$type" != "ip6tables" ] && exit [ "$table" != "mangle" ] && exit [ -z "$(ipset --quiet list bypass6)" ] && exit if [ -z "$(ip6tables-save | grep bypass6)" ]; then ip6tables -w -t mangle -A PREROUTING ! -i nwg0 -m conntrack --ctstate NEW -m set --match-set bypass6 dst -j CONNMARK --set-mark 0xffffd02 ip6tables -w -t mangle -A PREROUTING ! -i nwg0 -m set --match-set bypass6 dst -j CONNMARK --restore-mark fi
В скриптах nwg0 — сетевой интерфейс VPN-соединения для выборочного обхода блокировок. Если затрудняетесь в его поиске, то посмотрите вывод команды ip addr, идентификатор метки 0xffffd02
Для определения своего идентификатора выберите политику включающую в себя ваше VPN соединение
После чего выполните команду cli show ip policy и найдите нужный идентификатор в выводе(в скриптах используется шестнадцатеричный формат 0xffffd02):
Сделайте скрипты исполняемыми:
chmod +x /opt/etc/init.d/S52ipset chmod +x /opt/etc/ndm/netfilter.d/010-bypass.sh chmod +x /opt/etc/ndm/netfilter.d/011-bypass6.sh
и переходите к финальному пункту.
Список доменов для обхода блокировок
Найдите в конфигурационном файле AGH /opt/etc/AdGuardHome/AdGuardHome.yaml строчку ipset_file: "" и поменяйте на ipset_file: /opt/etc/AdGuardHome/ipset.conf.
Файл /opt/etc/AdGuardHome/ipset.conf будет единственным, требующим редактирования время от времени, в зависимости от изменения вашего персонального списка доменов для разблокировки. Он имеет следующий синтаксис:
intel.com,ipinfo.io/bypass,bypass6 instagram.com,cdninstagram.com/bypass,bypass6 epicgames.com,gog.com/bypass,bypass6
Т.е. в левой части через запятую указаны домены, требующие обхода блокировок, справа после слэша — ipset, в который AGH складывает результаты разрешения DNS-имён. Можно указать всё в одну строчку, можно разделить логически на несколько строк как в примере. Домены третьего уровня и выше также включаются в обход блокировок, т.е. указание intel.com включает www.intel.com, download.intel.com и пр.
Рекомендую добавить какой-нибудь «сигнальный» сервис, показывающий ваш текущий IP-адрес (ipinfo.io в примере). Так вы сможете проверить работоспособность настроенного решения. Учтите, что AGH не перечитывает изменённый файл, поэтому после правки перезапустите его с помощью:
/opt/etc/init.d/S99adguardhome restart
Диагностика проблем
- Убедитесь в том, что набор ipset создан и наполняется в процессе работы:
# Проверка ipv4 ipset --list bypass # Проверка ipv6 ipset --list bypass6
Вывод должен быть не пустой.
- Посмотрите, существуют ли правила netfilter для пометки пакетов:
# Проверка ipv4 iptables-save | grep bypass # Проверка ipv6 ip6tables-save | grep bypass6
- После перезагрузки роутера проверьте в веб-интерфейсе Системный журнал, в нём не должно быть красных строк, связанных с настроенными скриптами.
В итоге:
Можно mark так найти
curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == "Unblock-VPN") | .mark'
- 2
-
5 часов назад, megama5 сказал:
Поддерживаю!
А Можно исходники прошивки получить и я сам добавлю?
С 22 года нихрена не сделано? Сложно что-ли? И так ваш продукт как говно работает, так ещё и эта ошибка на 2х разных провайдера заставляет его вообще перестать работать.
А режим дебаг при этом включен на роутере?
-
Заведите свой днс и пропишите два ИП на одно имя. Рдп клиент сам разберётся к какому ип коннектиться.
- 1
-
12 часа назад, seeii сказал:
Все правильно, ip адрес wg у вас на компьютере, и все работает. А когда wg на роутере - ipv6 адрес на роутере, а на компьютере ipv6 адреса нету и ничего не работает. Надо раздать ula адреса в сеть, а для wg на роутере настроить нат. Для вас самая простая схема.
-
В 26.04.2023 в 15:20, le_ сказал:
В домашней сети работает Keenetic Extra.
Провайдер домашнего интернета дает мне только IPv4-адрес из приватной сети (NAT).
Имеется VPS к которому с роутера (Keenetic) настроен туннель wireguard. Адреса на концах туннеля: 10.0.0.1, fd00:1:1::1 - VPS, и 10.0.0.2, fd00:1:1::2- Keenetic.
Я уже настроил нужные маршруты по IPv4 через туннель.
VPS имеет публичный IPv6-адрес (доступен из Интернет): 2a03:****:****::****/64.
Вопрос: как сделать так, чтобы устройства в домашней сети имели доступ в интернет по IPv6 через туннель wireguard на роутере?
Т.е., чтобы с ноутбука в домашней сети пинговался [например] google c IP 2001:4860:4860::8888...
-
Вам нужна такая схема, но не каждый VPS ее поддерживает. Тут нужно экспериментировать, либо ругаться с провайдерами. WG IPv6 NDP
- 1
-
3 часа назад, seeii сказал:
Потому-что fe80:: это link-local адреса. Вам же надо раздать всем устройствам в сети ipv6-ULA адреса. Тогда все заработает, при условии включения маскардинга на интерфейсе wg.
-
1 час назад, seeii сказал:
А причем здесь устройства, подключенные через wireguard? На всех устройствах должны быть ipv6 адреса, не от wg, а от провайдера из диапазона 2000::/3. Если вы хотите пробросить адреса на устройства через wg, то это proxy_ndp. Или можно ещё попробовать nat6 настроить, что не правильно. В общем, не понятно что у Вас не работает и почему это должно работать.
-
В 28.04.2023 в 18:16, Patch17 сказал:
Вы же про wireguard говорите? Поставил сейчас Alpha 20, на Ultra ради ipv6 в wg, и интерфейс по прежнему не имеет возможности указать подсеть 6 версии.keenetic/a
interface Wireguard2 ipv6 address 2606:4700::99 interface Wireguard2 wireguard peer <peer> allow-ips 2000:: 3
-
8 часов назад, SergeIv сказал:
(config)> ip nat loopback
Command::Base error[7405602]: address: argument parse error.В поиске забанили?
Xray на Entware | Xkeen
in Каталог готовых решений Opkg
Posted · Edited by avn
Nпginx может проксировать все что угодно и куда угодно. Во первых можно настроить для xray транспорт ws или grpc. Во вторых можно развести потоки по доменному имени.
У меня на одном порту сейчас сидят сервисы WireGuard, SSH, Web, xray и nginx успешно это проксирует. А web вообще бесконечно разводится на сторонние сервисы Transmission, TorrServer, mtproxy и т.д.
location /930aaabbb { if ( $content_type !~ "application/grpc" ) { return 404; } grpc_pass grpc://unix:/dev/shm/xray-vless-grpc.socket; grpc_set_header X-Real-IP $remote_addr; grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for; grpc_set_header X-Forwarded-Proto $scheme; }
"network": "grpc", "grpcSettings": { "serviceName": "930aaabbb", "multiMode": true, "idle_timeout": 60, "health_check_timeout": 20, "initial_windows_size": 65536, "permit_without_stream": true, "connectionReuse": true },
stream { map_hash_bucket_size 128; map_hash_max_size 16384; upstream vless_grpc_reality_sock { server unix:/dev/shm/xray-vless-grpc-reality.socket; # xray-vless-grpc-reality } upstream web_sock { server unix:/dev/shm/nginx-ssl-web.socket; # nginx-ssl-web } upstream wireguard { server 172.16.97.90:993; # WireGuard } map $ssl_preread_server_name $upstream { "tube.com" vless_grpc_reality_sock; default web_sock; } log_format log_stream '$remote_addr [$time_local] $protocol $ssl_preread_server_name $upstream $status $bytes_sent $bytes_received $session_time'; access_log /var/log/nginx/stream.log log_stream; server { listen 443 reuseport so_keepalive=on backlog=131072 fastopen=256; listen [::]:443; proxy_protocol on; proxy_pass $upstream; ssl_preread on; } server { listen 80 udp reuseport; listen [::]:80 udp; proxy_pass wireguard; proxy_socket_keepalive on; } }
Можно еще применять лайфхак для сервисов, которые не поддерживают proxyprotocol, например ssh
upstream ssh { server 127.0.0.1:22; # SSH } upstream ssh_sock { server unix:/var/run/nginx-ssh.sock; # SSH-Sock } map $ssl_preread_protocol $upstream { "" ssh_sock; default web_sock; } server { listen unix:/var/run/nginx-ssh.sock proxy_protocol; access_log off; proxy_pass ssh; } server { listen 443 reuseport; listen [::]:443; proxy_protocol on; proxy_pass $upstream; ssl_preread on; }