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

enb22.ru

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

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

  • Посещение

Оборудование

  • Устройства
    GIGA 1011

Достижения enb22.ru

Новичок

Новичок (1/6)

0

Репутация

  1. добрый день. Может кто решить все же себе установить entware клиент. у меня keenetic GIGA-1011, архитектура mips инструкция, как достучаться до локальных пк, и обойти правила прошивки keenetic. на просторах не нашел, родилась в мучениях вместе ИИ google. скажу сразу: при доступе к дисковому хранилищу keenetic USB3.0 загрузка процессора 90-95%, память до 50-55% если архив на внешнем устройстве - тогда все намного лучше. Тестировал через Rclone windows. Никак не смог победить ZeroTier на мобильных сетях, а поскольку доступ нужен именно там, где кроме смартфона и инета ничего нет, пока тестирую TailScale. WebDav клиент, встроенный в прошивку тоже победить не удалось - доступ только через облако keenetic (тормозит жутко), установил RClone. Трафик http, поскольку tailscale итак шифрованная сеть . Шаг 1: Установка Tailscale bash opkg update opkg install tailscale (я так ставил) Так как в репозиториях для MIPS пакета часто нет, можно использовать статический бинарник. Узнайте архитектуру: uname -m. 1. Скачайте нужный архив с pkgs.tailscale.com. Распакуйте и скопируйте файлы tailscale и tailscaled в /opt/bin/ 2. Создаем правильный конфиг запуска (Init-скрипт) Чтобы вам не нужно было вручную вводить путь к сокету, создайте (или отредактируйте) файл /opt/etc/init.d/S06tailscale: bash #!/bin/sh # Paths for Entware environment TAILSCALED="/opt/bin/tailscaled" STATE_FILE="/opt/var/lib/tailscale/tailscaled.state" SOCKET_FILE="/opt/var/run/tailscale/tailscaled.sock" case "$1" in start) mkdir -p /opt/var/lib/tailscale mkdir -p /opt/var/run/tailscale # Start daemon with explicit paths $TAILSCALED --state=$STATE_FILE --socket=$SOCKET_FILE > /dev/null 2>&1 & echo "Tailscale started." ;; stop) killall tailscaled echo "Tailscale stopped." ;; restart) $0 stop sleep 2 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac Не забудьте: chmod +x /opt/etc/init.d/S06tailscale 3. Настройка Alias (чтобы забыть про длинные команды) Чтобы команда tailscale status работала как в обычном Linux, добавьте псевдоним в профиль оболочки: bash # Одной командой добавляем алиас в профиль echo "alias tailscale='/opt/bin/tailscale --socket=/opt/var/run/tailscale/tailscaled.sock'" >> /opt/etc/profile # Применяем изменения прямо сейчас source /opt/etc/profile Шаг 2: Создание скрипта автоматизации В KeeneticOS 5.x системные правила (PBR) агрессивно вытесняют трафик Entware в основной WAN. Чтобы этого избежать, создаем скрипт /opt/etc/ndm/netfilter.d/100-tailscale.sh: bash #!/bin/sh # Exit if not filter or nat table [ "$table" != "filter" ] && [ "$table" != "nat" ] && [ -n "$table" ] && exit 0 if [ -z "$table" ] || [ "$table" == "filter" ]; then # 1. Routing Priority (FIX для доступа к Windows) ip route add 100.64.0.0/10 dev tailscale0 table main 2>/dev/null ip rule del to 100.64.0.0/10 priority 1 2>/dev/null ip rule add to 100.64.0.0/10 priority 1 table main # 2. Firewall Rules iptables -I INPUT -i tailscale0 -j ACCEPT iptables -I FORWARD -i tailscale0 -j ACCEPT iptables -I FORWARD -o tailscale0 -j ACCEPT # 3. MSS Clamping (Стабильность фото в LTE) iptables -t mangle -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1240 # 4. Disable RP_Filter echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter echo 0 > /proc/sys/net/ipv4/conf/tailscale0/rp_filter echo 0 > /proc/sys/net/ipv4/conf/br0/rp_filter fi if [ -z "$table" ] || [ "$table" == "nat" ]; then # 5. Masquerade (Доверие со стороны Windows/Kaspersky) iptables -t nat -I POSTROUTING -s 100.64.0.0/10 -o br0 -j MASQUERADE fi Важно: Сделайте chmod +x для этого файла. Шаг 3: Запуск и авторизация Запустите демон и авторизуйтесь (лучше через Auth Key): - по другому вообще не получилось. bash /opt/bin/tailscaled --state=/opt/var/lib/tailscale/tailscaled.state --socket=/opt/var/run/tailscale/tailscaled.sock & /opt/bin/tailscale --socket=/opt/var/run/tailscale/tailscaled.sock up --authkey tskey-auth-ВАШ_КЛЮЧ --advertise-routes=192.168.1.0/24 --accept-dns=false Шаг 4: Оптимизация доступа к фото (WebDAV через rclone) В SSH Keenetic введите: bash opkg update opkg install rclone 2. Скрипт автозапуска для Keenetic Чтобы rclone на роутере запускался сам и «слушал» правильный порт (например, 9091, чтобы не конфликтовать с компьютером на 9090), создайте файл /opt/etc/init.d/S99rclone: bash #!/bin/sh # Укажите ПРАВИЛЬНЫЙ путь к вашему USB-диску # df -h - посмотреть, куда примонтирован диск DISK_PATH="/tmp/mnt/ВАШ_ПУТЬ" case "$1" in start) # Запуск с оптимизацией под слабый CPU Keenetic /opt/bin/rclone serve webdav "$DISK_PATH" \ --addr :9091 \ --user admin \ --pass admin \ --vfs-cache-mode minimal \ --buffer-size 1M \ --dir-cache-time 10m \ --vfs-read-chunk-size 1M & ;; stop) killall rclone ;; *) echo "Usage: $0 {start|stop}" exit 1 esac 3. Права и запуск bash chmod +x /opt/etc/init.d/S99rclone /opt/etc/init.d/S99rclone start 4. Разрешение порта в вашем основном скрипте Не забудьте добавить порт 9091 в ваш список правил /opt/etc/ndm/netfilter.d/100-tailscale.sh, иначе Keenetic заблокирует вход: bash добавить в /opt/etc/ndm/netfilter.d/100-tailscale.sh iptables -I INPUT -i tailscale0 -p tcp --dport 9091 -j ACCEPT Используйте код с осторожностью. Для Windows-пк: Чтобы не перегружать слабый CPU роутера протоколом Samba (95% нагрузки), используем rclone на Windows-ПК в качестве WebDAV-сервера. На Windows-ПК: Скачайте rclone, запустите: rclone.exe serve webdav "D:\Photos" --addr :9090 --user admin --pass admin --vfs-cache-mode minimal На Keenetic: Пробросьте порт 9090 через iptables добавить в /opt/etc/ndm/netfilter.d/100-tailscale.sh iptables -I INPUT -i tailscale0 -p tcp --dport 9090 -j ACCEPT обращайтесь напрямую по локальному IP (благодаря priority 1 в скрипте выше, это теперь работает). На телефоне: В (Cx Проводник) добавьте WebDAV по адресу 192.168.1.XX:9090. добавил запуск rclone в автозагрузку через планировщик windows Почему это работает лучше ZeroTier (пояснения от google): DERP-реле: Если UDP блокируется (Мегафон), Tailscale прозрачно переходит на TCP/443. Priority 1: Правило маршрутизации обходит системные политики KeeneticOS 5.x, которые раньше «сливали» ответы Windows-ПК в интернет-канал провайдера. ЗЫ. дольше всего искал это # 1. Routing Priority (FIX для доступа к Windows) при этом все другие устройства в сети были доступны. сначала была много попыток по MASQUERADE и FORWARD и добавлению правил в файервол windows. помог tcpdump по всем интерфейсам, и было выяснено, что keenetic кидает ответные пакеты в основной WAN интерфейс.
  2. как вам удалось добраться до настройки маршрутов? в новом ZeroTier Central ничего нет. мне удалось получить доступ к ПК только по IP сети ZeroTier. установил клиент на windows ПК. при этом в windows нужно сделать сеть, к которой подключен виртуальный адаптер ZeroTier частной. в панели управления, в списке ethernet, ее естественно нет. поправил через powershell. https://winitpro.ru/index.php/2016/06/07/kak-izmenit-profil-seti-s-public-na-private-v-windows-8-1server-2012-r2/ нативный пакет keenetic использую для доступа к сетевому хранилищу. тут тоже без костылей не обошлось. в CLI не силен. стоит entware. в entware поправил iptables, добавил в автозагрузку, по инструкции https://telegra.ph/Nastrojka-ZeroTier-na-Entware-Keenetic-OS-10-03 и отсюда https://telegra.ph/Nastrojka-ZeroTier-na-Entware-v-2022-Keenetic-OS-08-02 мне нужна только samba. x.x.x.x - ваш IP роутера ZeroTier y.y.y.y - ваш локальный IP роутера eth3 - внешний интерфейс роутера zt0 - интерфейс роутера ZeroTier /opt/etc/ndm/netfilter.d/001zerotier-rules.sh #!/bin/sh [ "$table" != "filter" ] && exit 0 iptables -I INPUT -i zt0 -j ACCEPT iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 80 -j DNAT --to-destination y.y.y.y:80 iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 445 -j DNAT --to-destination y.y.y.y:445 iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE iptables -I FORWARD -i zt0 -j ACCEPT iptables -t nat -I POSTROUTING -o br0 -j MASQUERADE
×
×
  • Создать...

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

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