Перейти к содержанию

elchako

Участники форума
  • Постов

    5
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные elchako

  1. спасибо @zyxmon за подсказку

    сделал инструкцию, еще обкатываю ее, но хотябы tailscale не отключает соединения извне каждые N минут

    для тех у кого tailscale вместо headscale пропустите часть с подключением к headscale

    Установка компонентов

    Спойлер

    Установка компонентов

    Добавим компоненты в /system/components

    Нужно добавить Поддержку открытых пакетов
    image.thumb.png.78c814a97929fa569d302bd6352d8060.png

    Подтверждаем и перезагружаем роутер

     

    Для установки Entware на Keenetic Ultra (KN-1811) необходимо использовать правильную версию установочного архива, соответствующую архитектуре процессора.

    Keenetic Ultra KN-1811 базируется на архитектуре aarch64 (ARM64), поэтому для него следует использовать архив aarch64-installer.tar.gz
    Установочный файл aarch64-installer.tar.gz нужно загрузить в папку install на подготовленном USB-накопителе.
    image.thumb.png.2611aa781401da2ac89a643e98a8874f.png

    В менеджере пакетов OPKG:

     
    • Выбираем Встроенное хранилище
    • Ставим галочку напротив admin для доступа по ssh
    • Нажимаем сохранить

    image.thumb.png.8765833aae765b06ef51ccdb29d3a8f4.png

    В системном журнале будет виден процесс установкиimage.thumb.png.54deff402ed6300ee714db22b43423e1.png

     

    Теперь можно войти по SSH (порт 22 или 222) в keenetic под пользователем root пароль keenetic(например ssh root@192.168.1.1)

     

    Не забудьте сменить стандартный пароль командой passwd root

    Удобно установить пароль от учетки admin

    image.png.a9ad2ddc02145fc5a9c12377d77e43fd.png

    Обновляем список пакетов

    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 делаем следующее

    1) Отключаем управление правилами netfilter
    tailscale set --netfilter-mode off

    2) создаем файл hook с правилами

    nano /opt/etc/ndm/netfilter.d/tailscale.sh
     
    Эти правила рабочие, но не факт что тут нет ошибки. Возможно требуется коррекция
    Вставляем текст в файл 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 ACCEPT

    3) Делаем файл исполняемым и запускаем

    chmod +x /opt/etc/ndm/netfilter.d/tailscale.sh
    /opt/etc/ndm/netfilter.d/tailscale.sh

    Теперь правила для tailscale не будут удаляться кинетиком

    Для проверки подключения вводим команду

    tailscale status

     

     

     

    • Спасибо 1
  2. В 16.04.2024 в 12:18, elchako сказал:

    @jameszero @k0steg спасибо! Резервирование канала реализовал через балансировщик.
    Теперь при падении одного сервера xray переключается на другой. Но в стратегии балансировщика (05_routing.json) стоит "type": "Random". И бывает в рандомном режиме трафик идет через разные сервера )

    Ищу другие стратегии, но в документации не нашел, или не там смотрю
    https://xtls.github.io/en/config/routing.html

    04_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


    Описание стратегий:
     

    1. Random:

      • Описание: Стратегия случайным образом выбирает один из узлов из доступного списка без учёта их текущей загрузки или доступности.
      • Применение: Подходит для простых сценариев, где требуется равномерное распределение трафика между узлами без учёта их состояния.
    2. LeastPing:

      • Описание: Эта стратегия выбирает узел с наименьшим временем отклика (ping) в момент запроса.
      • Применение: Используется в сетевых условиях, где важно минимизировать задержки и максимизировать производительность путём выбора узла с наилучшими сетевыми характеристиками.
    3. RoundRobin:

      • Описание: Стратегия поочерёдно выбирает каждый узел из списка, начиная с первого, и циклически возвращается к началу после достижения последнего узла.
      • Применение: Подходит для равномерного распределения нагрузки между узлами в общей сети, обеспечивая справедливую и эффективную балансировку.
    4. LeastLoad:

      • Описание: Данная стратегия выбирает узел с наименьшей текущей загрузкой (количеством активных соединений или другими метриками загрузки).
      • Применение: Полезна в ситуациях, где требуется минимизировать нагрузку на узлы и обеспечить равномерное распределение трафика с учётом текущей загрузки каждого узла.
    • Спасибо 1
    • Лайк 1
  3. 19 часов назад, Niiserg сказал:

    Подскажите, а можно как то использовать xray для доступа к своим локальным ресурсам извне? SSTP медленный совсем, а цireguard, такое ощущение что блокируют периодически мобильные операторы, с телефона до домашнего NAS не достучаться. Нужны какие-то настройки на VPS сервере ?

    На этот счет есть статья https://habr.com/ru/articles/774838/

    Если получится по ней, отпишись пожалуйста.

  4. @jameszero @k0steg спасибо! Резервирование канала реализовал через балансировщик.
    Теперь при падении одного сервера xray переключается на другой. Но в стратегии балансировщика (05_routing.json) стоит "type": "Random". И бывает в рандомном режиме трафик идет через разные сервера )

    Ищу другие стратегии, но в документации не нашел, или не там смотрю
    https://xtls.github.io/en/config/routing.html

    04_outbounds.json 05_routing.json

    • Лайк 1
  5. Добрый день!
     

    Подскажите пожалуйста, можно ли в конфиге xray добавить подключение к другому серверу?
    Или можно ли это сделать через keenetic

    Суть в том чтобы резервировать xray канал либо назначать разным сетям политику с разными серверами xray

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.