elchako
-
Постов
5 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Сообщения, опубликованные elchako
-
-
В 16.04.2024 в 12:18, elchako сказал:
@jameszero @k0steg спасибо! Резервирование канала реализовал через балансировщик.
Теперь при падении одного сервера xray переключается на другой. Но в стратегии балансировщика (05_routing.json) стоит "type": "Random". И бывает в рандомном режиме трафик идет через разные сервера )Ищу другие стратегии, но в документации не нашел, или не там смотрю
https://xtls.github.io/en/config/routing.html04_outbounds.json 2.22 \u041a\u0431 · 2 downloads 05_routing.json 1.13 \u041a\u0431 · 2 downloads
Отвечу на свой вопрос, если вдруг кто-то будет искать стратегии для балансировщика (router strategy).
Посмотрел в исходный код xray-core и обнаружил там 4 стратегии
"random", "leastping", "roundrobin", "leastload"
Но в последней версии xkeen стоит xray версии 1.8.4 в ней работает только random стратегия.
Скачал xray версии 1.8.10 (заменяем файл xray /opt/sbin/xray) но в ней работают только "random", "roundrobin"
Может @Skrill0 знает почему могут не работать стратегии "leastping", "leastload" ?
При запуске xkeen с одной из них получаю ошибку (panic: runtime error: invalid memory address or nil pointer dereference) (ошибка времени выполнения: неверный адрес памяти или разыменование нулевого указателя)
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x6d2d60] goroutine 12 [running]: github.com/xtls/xray-core/app/router.(*LeastLoadStrategy).getNodes(0x4000373ce0, {0x4000386220, 0x2, 0x6c95b8?}, 0x0) github.com/xtls/xray-core/app/router/strategy_leastload.go:143 +0xa0 github.com/xtls/xray-core/app/router.(*LeastLoadStrategy).pickOutbounds(0x4000373ce0, {0x4000386220?, 0x0?, 0x6ca330?}) github.com/xtls/xray-core/app/router/strategy_leastload.go:75 +0x2c github.com/xtls/xray-core/app/router.(*LeastLoadStrategy).PickOutbound(0x400035afc0?, {0x4000386220?, 0x0?, 0x2?}) github.com/xtls/xray-core/app/router/strategy_leastload.go:65 +0x20 github.com/xtls/xray-core/app/router.(*Balancer).PickOutbound(0x400035afc0) github.com/xtls/xray-core/app/router/balancing.go:60 +0x1fc github.com/xtls/xray-core/app/router.(*Rule).GetTag(...) github.com/xtls/xray-core/app/router/config.go:21 github.com/xtls/xray-core/app/router.(*Router).PickRoute(0x10788a8?, {0x1081eb0?, 0x400034e5d0?}) github.com/xtls/xray-core/app/router/router.go:87 +0x54 github.com/xtls/xray-core/app/dispatcher.(*DefaultDispatcher).routedDispatch(0x4000362c00, {0x10788a8, 0x4000388450}, 0x40003861a0, {{0x1078678, 0x40003584a0}, 0x1bb, 0x2}) github.com/xtls/xray-core/app/dispatcher/default.go:403 +0x26c github.com/xtls/xray-core/app/dispatcher.(*DefaultDispatcher).Dispatch.func1() github.com/xtls/xray-core/app/dispatcher/default.go:266 +0x340 created by github.com/xtls/xray-core/app/dispatcher.(*DefaultDispatcher).Dispatch in goroutine 11 github.com/xtls/xray-core/app/dispatcher/default.go:239 +0x378
Описание стратегий:
-
Random:
- Описание: Стратегия случайным образом выбирает один из узлов из доступного списка без учёта их текущей загрузки или доступности.
- Применение: Подходит для простых сценариев, где требуется равномерное распределение трафика между узлами без учёта их состояния.
-
LeastPing:
- Описание: Эта стратегия выбирает узел с наименьшим временем отклика (ping) в момент запроса.
- Применение: Используется в сетевых условиях, где важно минимизировать задержки и максимизировать производительность путём выбора узла с наилучшими сетевыми характеристиками.
-
RoundRobin:
- Описание: Стратегия поочерёдно выбирает каждый узел из списка, начиная с первого, и циклически возвращается к началу после достижения последнего узла.
- Применение: Подходит для равномерного распределения нагрузки между узлами в общей сети, обеспечивая справедливую и эффективную балансировку.
-
LeastLoad:
- Описание: Данная стратегия выбирает узел с наименьшей текущей загрузкой (количеством активных соединений или другими метриками загрузки).
- Применение: Полезна в ситуациях, где требуется минимизировать нагрузку на узлы и обеспечить равномерное распределение трафика с учётом текущей загрузки каждого узла.
-
1
-
1
-
-
19 часов назад, Niiserg сказал:
Подскажите, а можно как то использовать xray для доступа к своим локальным ресурсам извне? SSTP медленный совсем, а цireguard, такое ощущение что блокируют периодически мобильные операторы, с телефона до домашнего NAS не достучаться. Нужны какие-то настройки на VPS сервере ?
На этот счет есть статья https://habr.com/ru/articles/774838/
Если получится по ней, отпишись пожалуйста.
-
@jameszero @k0steg спасибо! Резервирование канала реализовал через балансировщик.
Теперь при падении одного сервера xray переключается на другой. Но в стратегии балансировщика (05_routing.json) стоит "type": "Random". И бывает в рандомном режиме трафик идет через разные сервера )Ищу другие стратегии, но в документации не нашел, или не там смотрю
https://xtls.github.io/en/config/routing.html-
1
-
-
Добрый день!
Подскажите пожалуйста, можно ли в конфиге xray добавить подключение к другому серверу?
Или можно ли это сделать через keeneticСуть в том чтобы резервировать xray канал либо назначать разным сетям политику с разными серверами xray

tailscale – сеть VPN, которая не нуждается в конфигурировании
в Вопросы по сборке и настройке Opkg
Опубликовано · Изменено пользователем elchako
спасибо @zyxmon за подсказку
сделал инструкцию, еще обкатываю ее, но хотябы tailscale не отключает соединения извне каждые N минут
для тех у кого tailscale вместо headscale пропустите часть с подключением к headscale
Установка компонентов
Установка компонентов
Добавим компоненты в /system/components
Подтверждаем и перезагружаем роутер
Для установки Entware на Keenetic Ultra (KN-1811) необходимо использовать правильную версию установочного архива, соответствующую архитектуре процессора.
В менеджере пакетов OPKG:
В системном журнале будет виден процесс установки
Теперь можно войти по SSH (порт 22 или 222) в keenetic под пользователем root пароль keenetic(например ssh root@192.168.1.1)
Не забудьте сменить стандартный пароль командой
passwd rootУдобно установить пароль от учетки admin
Обновляем список пакетов
opkg updateУстанавливаем tailscale
opkg install nano iptables tailscaleСтартуем службу
/opt/etc/init.d/S06tailscaled startВводим команду для присоединения к сети, где --authkey нужно получить у админа headscale
tailscale up --login-server=https://head.example.com --authkey 4410412513e0f4e0fa8bce69846c36add13fc --accept-routesЕсли нужно расшарить доступ к локальной сети вводим команду. Где 192.168.1.0/24 подсеть которую будем шарить
tailscale set --advertise-routes 192.168.1.0/24Если нужно установить понятное имя отображаемое в админке вводим команду. Где после --hostname вводим имя латиницей без точек
tailscale set --hostname ТутВВодимСвоеИмяДля правильной работы netfilet делаем следующее
tailscale set --netfilter-mode off2) создаем файл hook с правилами
nano /opt/etc/ndm/netfilter.d/tailscale.sh#!/opt/bin/sh # Создаем цепочки, если их нет iptables -N ts-forward 2>/dev/null || true iptables -N ts-input 2>/dev/null || true # Пытаемся удалить старые правила аккуратно, без ошибок iptables -D INPUT -i tailscale0 -j ACCEPT 2>/dev/null || true iptables -D FORWARD -i tailscale0 -j ACCEPT 2>/dev/null || true iptables -D FORWARD -o tailscale0 -j ACCEPT 2>/dev/null || true iptables -D ts-forward -i tailscale0 -j MARK --set-xmark 0x40000/0xff0000 2>/dev/null || true iptables -D ts-forward -m mark --mark 0x40000/0xff0000 -j ACCEPT 2>/dev/null || true iptables -D ts-forward -o tailscale0 -j DROP 2>/dev/null || true iptables -D ts-forward -i tailscale0 -j ACCEPT 2>/dev/null || true iptables -D ts-input -i lo -j ACCEPT 2>/dev/null || true iptables -D ts-input -m addrtype ! --src-type LOCAL -j RETURN 2>/dev/null || true iptables -D ts-input -i tailscale0 -s 100.64.0.0/10 -j DROP 2>/dev/null || true iptables -D ts-input -i tailscale0 -j ACCEPT 2>/dev/null || true # Добавляем правила INPUT iptables -I INPUT -i tailscale0 -j ACCEPT # Добавляем правила FORWARD iptables -I FORWARD -i tailscale0 -j ACCEPT iptables -I FORWARD -o tailscale0 -j ACCEPT # Добавляем правила ts-forward iptables -I ts-forward -i tailscale0 -j MARK --set-xmark 0x40000/0xff0000 iptables -I ts-forward -m mark --mark 0x40000/0xff0000 -j ACCEPT iptables -I ts-forward -o tailscale0 -j DROP iptables -I ts-forward -i tailscale0 -j ACCEPT # Добавляем правила ts-input iptables -I ts-input -i lo -j ACCEPT iptables -I ts-input -i tailscale0 -s 100.64.0.0/10 -j DROP iptables -I ts-input -i tailscale0 -j ACCEPT3) Делаем файл исполняемым и запускаем
chmod +x /opt/etc/ndm/netfilter.d/tailscale.sh /opt/etc/ndm/netfilter.d/tailscale.shТеперь правила для tailscale не будут удаляться кинетиком
Для проверки подключения вводим команду
tailscale status