Как стать автором
Поиск
Написать публикацию
Обновить
0
0

Пользователь

Отправить сообщение

у меня socks и туннель в разных сетях, наверное надо проверку на необходимость маршрута добавить

На xray используете fake dns?

Исключите интерфейс или ip byedpi из маркировки или правил маршрутизации

Ну в этом случае зовем друга - Wireshark-а )

Через socks не проходит icmp, можно с mtu/mss поиграться

Надо настройки byedpi крутить, начните с самых простых стратегий. Подключайтесь напрямую к socks, без tun. В туннеле задержка минимальна.

выбран byedpi https://github.com/hufrea/byedpi

а это socks сервер

byedpi ничего не модифицирует, это socks. Из второго контейнера открывается новое подключение к dst и это надо пускать напрямую, т.е. либо исключать из маркировки или правилами маршрутизации

hev-socks5-tunnel сам поднимает tun0 в отличии от tun2socks

и запускает настройку маршрутов

Забыл про ipv6 написать, ну и пример переменных:

И hev-socks5-tunnel тоже можно:

entrypoint.sh

#!/bin/sh

TUN="${TUN:-tun0}"
MTU="${MTU:-9000}"
IPV4="${IPV4:-198.18.0.1}"
IPV4GW=$(ip -o -f inet route show default | awk '/dev eth0/ {print $3}')
IPV6="${IPV6:-}"

MARK="${MARK:-0}"

SOCKS5_ADDR="${SOCKS5_ADDR:-172.17.0.1}"
SOCKS5_PORT="${SOCKS5_PORT:-1080}"
SOCKS5_USERNAME="${SOCKS5_USERNAME:-}"
SOCKS5_PASSWORD="${SOCKS5_PASSWORD:-}"
SOCKS5_UDP_MODE="${SOCKS5_UDP_MODE:-udp}"

LOG_LEVEL="${LOG_LEVEL:-warn}"

config_file() {
  cat > /hs5t.yml << EOF
misc:
  log-level: '${LOG_LEVEL}'
tunnel:
  name: '${TUN}'
  mtu: ${MTU}
  ipv4: '${IPV4}'
  ipv6: '${IPV6}'
  post-up-script: '/route.sh'
socks5:
  address: '${SOCKS5_ADDR}'
  port: ${SOCKS5_PORT}
  udp: '${SOCKS5_UDP_MODE}'
  mark: ${MARK}
EOF

  if [ -n "${SOCKS5_USERNAME}" ]; then
      echo "  username: '${SOCKS5_USERNAME}'" >> /hs5t.yml
  fi

  if [ -n "${SOCKS5_PASSWORD}" ]; then
      echo "  password: '${SOCKS5_PASSWORD}'" >> /hs5t.yml
  fi
}

config_route() {
  echo "#!/bin/sh" > /route.sh
  chmod +x /route.sh

  for addr in $(echo ${IPV4_INCLUDED_ROUTES} | tr ',' '\n'); do
    if [ ${addr} = "0.0.0.0/0" ]
    then
      echo "ip route del default" >> /route.sh
      echo "ip route add default via ${IPV4} dev ${TUN}" >> /route.sh
    else
      echo "ip route add ${addr} via ${IPV4} dev ${TUN}" >> /route.sh
    fi
  done

  echo "ip route add ${SOCKS5_ADDR} via ${IPV4GW} dev eth0" >> /route.sh

  for addr in $(echo ${IPV4_EXCLUDED_ROUTES} | tr ',' '\n'); do
    echo "ip route add ${addr} via ${IPV4GW} dev eth0" >> /route.sh
  done

  if [ ${IPV6} != "" ]
  then
    sysctl -w net.ipv6.conf.all.forwarding=1

    for v6addr in $(echo ${IPV6_INCLUDED_ROUTES} | tr ',' '\n'); do
      if [ ${v6addr} = "::/0" ]
      then
        echo "ip -6 route del default" >> /route.sh
        echo "ip -6 route add default dev ${TUN}" >> /route.sh
      else
        echo "ip route add ${v6addr} dev ${TUN}" >> /route.sh
      fi
    done

    for v6addr in $(echo ${IPV6_EXCLUDED_ROUTES} | tr ',' '\n'); do
      echo "ip route add ${v6addr} dev eth0" >> /route.sh
    done
  fi
}

run() {
  config_file
  config_route
  echo "echo 1 > /success" >> /route.sh
  hev-socks5-tunnel /hs5t.yml
}

run || exit 1

и Dockerfile

FROM ghcr.io/heiher/hev-socks5-tunnel

COPY --chown=0:0 --chmod=755 entrypoint.sh /entrypoint.sh

Параметры через параметры окружения

Собирать под свою архитектуру...

Про +5 зимой:

  • если электричество отключат, то температура может упасть очень быстро

  • не используйте холодильник при такой температуре

  • учитывайте разницу температур по объему помещения, у пола внешних стен разница может быть приличной

Постить не буду, это для себя и в вечном процессе доработки… ну и объяснять там много придется.
В основном это система контроля, используется OpenTherm gateway, на батареях стоят электронные термоголовки с термостатами, датчиками открывания окон и кубом, их мониторинг с помощью Ардуины
Т.е. в основном контроль, но добавил управление горячей водой по расписанию, регулировку температуры котла (у меня нельзя управлять термостатом), мониторинг электрической сети с помощью NUT, сбор статистики в emoncms и т.п.
Сделан watchdog для датчиков, т.е. при отсутствии сообщений либо извещение, либо «эмуляция», сейчас делаю управление по СМС и Telegram…
Из железа в планах реализовать термостат, переведя OpenTherm gateway в интерфейсный режим, заменить eQ3 Cube на что-то свое, сделать управление насосами и клапанами, а также панель управления на планшете и телефоне с помощью node-red-dashboard или node-red-vis
Если есть вопросы, спрашивайте, готов поделиться
Пользуюсь уже очень давно, управляет системой отопления…
В вашем случае при перезапуске не будет установлен параметр flow.Light_brightness, я делаю такие настройки с помощью блока inject или с сохранением параметров в MQTT (retain сообщения)

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность