DeSoft.ru
236 subscribers
116 photos
10 videos
1 file
213 links
Авторский канал: ИТ, разработка, безопасность, администрирование.

Сайт: desoft.ru
Автор: @y_demin
Download Telegram
Существует множество способов быстро передать данные с целевой машины. Одним из наиболее простых вариантов является публикация через веб сервер для открытия в браузере. Приведу несколько решений по организации доступа к локальным данным по http протоколу, как для одноразового применения, так и для постоянного целевого использования.

📌 python нынче поставляется в комплекте многих операционных систем, его базовый http сервер и применим.

▪️ Переходим в каталог с данными.
▪️ Запускаем сервер
python3 -m http.server 8000

▪️ Забираем данные через браузер.
▪️ Завершаем работу сервера.

Для разовых манипуляций более чем достаточно.

📌 Браузерный файловый менеджер File Browser
Уже куда более приятный инструмент для работы с расшаренными ресурсами прямо в веб интерфейсе.

▪️ Загрузка каталогов и файлов на / с сервера
▪️ Создание, удаление, изменение файлов и директорий
▪️ Доступ по временной ссылке
▪️ Многопользовательский доступ
▪️ Обработка событий с возможностью добавления собственных скриптов
# устанавливаем
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash

# задаем адрес и порт в настройках
filebrowser config init -a 0.0.0.0 -p 8080

# добавляем админа
filebrowser users add demo demo -perm.admin

# запускаем над каталогом с данными
filebrowser -r /home/desoft/data


📌 Схожим набором функций обладает еще одно минималистичное решение - Mikochi
Можно запустить через бинарник, поднять в docker или kubernetes.
# запускаем
docker run \
-p 8080:8080 -v /home/desoft/data:/data \
-e DATA_DIR="/data" -e USERNAME=demo \
-e PASSWORD=demo zer0tonin/mikochi:latest


📌 Богатая на возможности программа RClone
Помимо основного назначения синхронизации файлов с облачными хранилищами, утилита предоставляет функцию трансляции файловой системы через веб сервер для взаимодействия по http протоколу.
# устанавливаем
sudo -v ; curl https://rclone.org/install.sh | sudo bash

# запускаем
# --dir-cache-time - время хранения кэша записей смонтированной директории
# --poll-interval - время ожидания между опросами изменений
rclone serve http -vvv /home/desoft/data --addr 0.0.0.0:8020 --dir-cache-time 5s --poll-interval 0


▪️ Широкий выбор операционных систем, в том числе Linux, macOS, BSD, Windows
▪️ Поддержка буферизации и кэширования файлов
▪️ Подключение как локальных, так и облачных хранилищ
▪️ Поддержка запросов на чтение отдельных частей файлов
▪️ Мониторинг обращений
▪️ Гибкая настройка параметров

Полный перечень доступных конфигураций здесь.

#share #opensource #selfhosted #tools
👍6
💎 Для тех, кто хочет глубже погрузиться в работу с командной строкой Unix, найти готовые инструменты для определенных задач, поднатаскаться в написании скриптов, подобрал ряд полезных ресурсов по теме.

📚 Гайд "Искусство командной строки" - от азов до продвинутого использования.

📝 Список программ по категориям

⚖️ Современные аналоги популярных утилит

💡 Недавно познакомился с оболочкой fish-shell, осваиваю постепенно. На первый взгляд - сборник лучших практик из разных командных оболочек, уже преднастроенных.
▫️ Репозиторий проекта
▫️ Дополнительная информация

💻 Сборник эмуляторов терминала под разные системы

#terminal #unix #linux #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2
Новые китайские AI модели заполонили новостные ленты, а отличительной особенностью является не только заявленная эффективность, но и доступность - поработать с ними можно бесплатно как в веб чате от разработчика, так и в мобильных приложениях.

Поскольку модели были выложены в открытый доступ, то подключить их можно и на своей машине. Уже писал ранее про два инструмента для запуска моделей локально:

💥 LM Studio

💥 LobeChat

Дополню список еще несколькими решениями, благодаря которым удастся опробовать и оценить нашумевшие DeepSeek и Qwen самостоятельно.

🔸 GPT4All

🔸 Ollama

🔸 LocalAI

#tools #ai #полезное
👍4👏1
🔥 Компания Apple на регулярной основе выпускает патчи безопасности, не обошлось без обнов и в январском выпуске. Особый интерес как у исследователей, так и рядовых пользователей вызвала исправленная уязвимость CVE-2025-24085 в компоненте CoreMedia, позволяющая вредоносным приложениям повысить привилегии в системе iOS в версиях до 17.2, а значит, потенциально, получить доступ к данным.

⚡️ Случаев эксплуатации этой уязвимости до сих пор раскрыто не было, однако, подробности опубликованы, а значит существует риск. Поскольку исправления уже выпущены, всем пользователям iPhone и iPad настоятельно рекомендуется обновиться до версии 18.3.

📚 Источники: [1], [2], [3]

#security #leaks
👍4😱1
Про бэкапы в autobase (см. полную версию на сайте).

Текущая версия autobase в ui консоли не поддерживает управление резервным копированием, поэтому настроим эту опцию через предлагаемые конфигурации.

📦 Подготавливаем s3 хранилище

🔹 Ставим MinIO s3 локально или арендуем хранилище с большим диском у облачных провайдеров.
Для поддержки https протокола подключим самоподписанный сертификат.
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v ~/autobase/minio/data:/data \
-v ~/autobase/minio/certs:/certs \
-e "MINIO_ROOT_USER=demouser" \
-e "MINIO_ROOT_PASSWORD=demouser" \
-e "MINIO_SCHEME=https" \
-e "SSL_CERT_FILE=/certs/public.crt" \
quay.io/minio/minio server /data --console-address ":9001" /data --certs-dir /certs


🔹 Идем в веб панель на порт 9001
- Создаем bucket autobase для хранения резервных копий.
- Создаем Access Key.
- В настройках прописываем регион хранилища.

⚒️ Настраиваем и пересобираем образ automation

🔹 Клонируем ветку актуального релиза autobase
git clone --branch 2.1.0 --single-branch https://github.com/vitabaks/autobase.git


🔹 Настраиваем pgbackrest под s3
Для включения бэкапов нужно внести корректировки в конфигурацию вспомогательного образа automation, который ранее подтягивался из dockerhub уже в готовом виде.
vi ./autobase/automation/vars/main.yml


‼️ pgbackrest требует работу через https. Регион хранилища также должен быть задан.

✔️ Находим секцию pgbackrest и заменяем значения на заготовленную конфигурацию для бэкапов в MinIO S3 из документации. Не забываем внести свои значения параметров доступа к развернутому ранее MinIO.

✔️ Устанавливаем расписание бэкапов в секции pgbackrest_cron_jobs (по умолчанию еженедельные полные бэкапы).

✔️ Указываем pgbackrest как метод создания реплик patroni.

✔️ Примеры конфигураций

🔹 Собираем локальный образ automation
cd ./autobase
docker build -t automation-pgrest:latest -f ./automation/Dockerfile .


🚀 Запускаем консоль autobase

🔹 Указываем в переменной окружения консоли PG_CONSOLE_DOCKER_IMAGE собранный выше локальный образ automation и запускаем.
docker run -d --name autobase-pgrest-console \
  --publish 80:80 \
  --publish 8080:8080 \
  --env PG_CONSOLE_API_URL=http://192.168.1.135:8080/api/v1 \
  --env PG_CONSOLE_AUTHORIZATION_TOKEN=secret_token \
  --env PG_CONSOLE_DOCKER_IMAGE=automation-pgrest:latest \
  --volume console_postgres:/var/lib/postgresql \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume /tmp/ansible:/tmp/ansible \
  --restart=unless-stopped \
  autobase/console:latest


🔹 Создаем и разворачиваем кластер согласно инструкции из первой части.

pgbackrest устанавливается как на основной хост кластера, так и на реплики. Для проверки и отладки работы программы можно отслеживать логи по пути, указанному в конфигурационном файле main.yml собственного образа automation, { option: "log-path", value: "/var/log/pgbackrest" }.

📌 Согласно информации от разработчика, ведется работа над Expert mode, который раскроет дополнительные опции в веб интерфейсе autobase, включая управление резервным копированием. Ожидаем появления нового режима в будущих релизах.

#db #tools #selfhosted
👍5
🥷 Тот, кто решил не разворачивать китайские модели локально для тестирования, как я предлагал ранее, а подключиться к API DeepSeek, используя разработанные клиентские решения, имел все шансы нарваться на любезно подготовленные злоумышленниками вредоносы в репозитории PyPI.

🔎 Исследователи из Positive Technologies обнаружили замаскированные под Python-клиенты инфостилеры в пакетах deepseek и deepseekai. Сбор и отправка информации на удаленный сервер (пользователь, машина, переменные окружения) происходят после запуска консольных команд установленных пакетов.

Руку на пульсе новых, в особенности трендовых, технологий держат не только профильные специалисты, но и недоброжелатели, желающие поживиться на резко набирающей популярность теме, поэтому стоит внимательнее относиться к использованию новых, не имеющих истории пакетов, библиотек, инструментов.

#security #leaks
👍3🔥1
🔧 Очередная подборка. Полезные инструменты для монтирования удаленных каталогов, дисков, хранилищ.

⭐️ В контексте организации доступа к данным по http протоколу была представлена утилита RClone, однако основное ее назначение как раз в работе с удаленными хранилищами. Поддержка широкого набора протоколов и облачных решений делает ее приоритетным инструментом для гибкой и быстрой настройки.

🔸 SSHFS - простая и удобная программа для подключения удаленных файловых систем по SFTP.

🔸 HTTPDirFS - монтирование http каталога, как локальной директории.

💥 SFTPGo - активно развивающийся инструмент для монтирования удаленных хранилищ. Поддержка протоколов и облачных провайдеров постепенно расширяется, бонусом идет наличие WebUI как для администрирования, так и для клиентского использования.

🔥 BTFS - монтирование .torrent файлов или magnet ссылок в качестве каталогов, доступных только на чтение. Содержимое загружается по требованию, а поскольку реализовано на базе виртуальной файловой системы, то и стандартные файловые операции также работают корректно.

#tools #mount #полезное
🔥3👍2
🔥 Добавил в управление каналом первую версию бота MiniDe на aiogram - анализатор ссылок в сообщениях через VirusTotal.

Логика несложная, как и сам скрипт:
✔️ Перехват сообщений
✔️ Поиск скрытых за текстом и прямых ссылок
✔️ Отправка найденного в VirusTotal через API
✔️ Обработка и представление результата в ответном сообщении.

🔎 Как попробовать самостоятельно

🔹 Заводим аккаунт на VirusTotal. По умолчанию выдается доступ к API с ограничением на проверку 4 ссылок в минуту и 500 в день - для тестовых запусков и ненагруженного ссылками потока сообщений более чем достаточно. Забираем API_KEY.

🔹 Создаем нового бота в @BotFather. Сохраняем token.

🔹 Добавляем бота в администраторы чата, сообщения из которого хотим получать для анализа, и куда будут поступать ответы с результатами. В моем случае это чат с комментариями к этому каналу. Запоминаем имя чата.

🔹 Забираем исходники бота minide из репозитория на gitverse.
Для работы потребуется docker. Можно запустить, к примеру, локально или на VPS сервере.

🔹 Прописываем в docker-compose.yml контейнера minide полученные ранее BOT_TOKEN, VIRUSTOTAL_API_KEY и CHANNEL_NAME.

🔹 Запускаем бота
docker compose up -d


🔹 Делаем отправку тестовых сообщений с ссылками или без, смотрим на результат.

💡 Что дальше

▫️ Добавить поддержку большего числа внешних сервисов проверки.
▫️ Проверять не только ссылки, но и файлы.
▫️ Сохранять историю.

#проекты
🔥4👏1
🔎 Для расширения перечня сервисов, задействованных в проверке файлов и ссылок с помощью представленного бота, собрал ряд инструментов, предоставляющих API для взаимодействия.

🔹 Платформа от Лаборатории Касперского

🔹 Уже примененный к решению задачи VirusTotal

🔹 Triage

🔹 Hybrid Analysis

🔹 Metadefender

🔹 Intezer

🔹 FileScan

🔹 URLQuery

🔹 urlscan

В большинстве случаев требуется завести аккаунт и получить API KEY для отправки запросов.

Каждый ресурс предоставляет разное количество бесплатных запросов, а также использует разный набор баз и движков для анализа, именно поэтому одного лишь источника будет недостаточно для получения более-менее достоверного результата.

#security #scan
👍3
📝 Несколько доработок для бота

Добавил простую проверку на сокращенные ссылки путем HEAD запросов и обработки статусов для забора локации редиректа.

Поправил некоторые ошибки обработки невалидных сообщений, разнес бота и сервисы проверки.

Если сервис сокращенных ссылок закрыт за CloudFlare - отправка запросов именно из docker контейнера не срабатывает. Если просто запустить на хосте - все отлично проходит. Попробовал обогатить запросы заголовками для обмана системы с помощью aiocfscrape, однако ошибка сохранилась, ловлю 403, также попробовал поиграться с сетью docker, вынести на host например, но и это не спасло. Надо отследить цепочку запросов дабы объяснить проблему.

🌐 Исходники

#проекты #changelog
👍4
Рассматривал ранее вариант построения виртуальной сети с помощью zerotier. На днях попробовал еще одно решение на эту тему - Nebula - инструмент для построения защищенных оверлейных сетей. Узлы сети устанавливают прямое vpn соединение между собой (p2p). Отличительная особенность системы - ее простота - все поставляется в комплекте, запускается посредством бинарника с раскиданными по хостам конфигурационными файлам и сертификатами, которыми подтверждается принадлежность к сети.

🗝 Ключ и сертификат сети

▪️ Забираем актуальную версию Nebula из релизов под любую систему.
▪️ Воспользуемся nebula-cert из архива для генерации ключа и сертификата для последующего выпуска сертификатов хостов сети.
./nebula-cert ca -name "DeSoft.ru"


🔖 Сертификаты хостов

▪️ Создаем и подписываем сертификаты для хостов системы
# контроллер сети и его внутрисетевой адрес
./nebula-cert sign -name "lighthouse-1" -ip "10.10.101.1/24"
# хост №1
./nebula-cert sign -name "vps-1" -ip "10.10.101.11/24" -groups "vps"
# хост №2
./nebula-cert sign -name "vps-2" -ip "10.10.101.12/24" -groups "vps"


⚙️ Конфигурационные файлы хостов

▪️ Берем конфигурационный файл из репозитория
curl -o config.yml https://raw.githubusercontent.com/slackhq/nebula/master/examples/config.yml


▪️ Готовим конфиг для контроллера сети, он же lighthouse
cp config.yml config-lighthouse.yaml


Раздел static_host_map оставляем пустым, в разделе lighthouse выставляем параметр am_lighthouse в true, а hosts также оставляем пустым.
static_host_map:
lighthouse:
am_lighthouse: true
hosts:


▪️ Готовим конфиг для хостов
cp config.yml config.yaml


В разделе static_host_map должен быть прописан внутренний и внешний адреса lighthouse сервера. По умолчанию используется udp порт 4242, не забываем оставить его открытым.
static_host_map:
"10.10.101.1": ["<vps ip>:4242"]


В разделе lighthouse в hosts прописываем внутренний адрес сервера lighthouse.
lighthouse:
am_lighthouse: false
interval: 60
hosts:
- "10.10.101.1"


❗️ Отдельно упомяну про раздел firewall, параметры которого позволяют разграничить трафик между хостами в сети. По умолчанию весь исходящий трафик открыт, а вот входящий заблокирован, кроме icmp пакетов. Также в конфиге представлен пример разграничения по группам, что добавляет гибкости в настройках взаимодействия между устройствами в сети.
firewall:
outbound:
- port: any
proto: any
host: any
inbound:
- port: any
proto: icmp
host: any
- port: 443
proto: tcp
groups:
- laptop
- home


🚀 Запускаем lighthouse

▪️ Скачиваем бинарник под систему, на которой будет располагаться lighthouse.
▪️ Переносим на сервер подготовленные ранее ca.cert, lighthouse-1.crt, lighthouse-1.key, config-lighthouse.yaml.
▪️ Поскольку в конфигурационных файлах указаны пути до рабочего каталога и файлов в нем (раздел pki), перенесем всю рабочую конфигурацию в этот каталог, соблюдая типовое наименование.
mkdir /etc/nebula
mv ca.crt /etc/nebula/ca.crt
mv lighthouse-1.crt /etc/nebula/host.crt
mv lighthouse-1.key /etc/nebula/host.key
mv config-lighthouse.yaml /etc/nebula/config.yaml

▪️ Стартуем
./nebula -config /etc/nebula/config.yaml


🚀 Запускаем host

▪️ Переносим на сервер подготовленные ранее ca.cert, vps-1.crt, vps-1.key, config.yaml.
▪️ Можно также создать каталог и перенести туда рабочую конфигурацию или внести корректировки в pki раздел config.yaml, указав собственные пути. Для единообразия оставим предложенную схему.
mkdir /etc/nebula
mv ca.crt /etc/nebula/ca.crt
mv vps-1.crt /etc/nebula/host.crt
mv vps-1.key /etc/nebula/host.key
mv config.yaml /etc/nebula/config.yaml

▪️ Стартуем
./nebula -config /etc/nebula/config.yaml

По аналогии настраиваем и запускаем nebula на втором хосте (vps-2).

🔎 Проверка

Осталось проверить поднятую сеть, но получится лишь пропинговать устройства как с хостов так и с контроллера. Для разрешения других протоколов смотри настройки firewall в конфигурационном файле.

#vpn #nebula
👍4🔥3
📝 Changelog анализатора ссылок

Добавил поддержку нового сервиса проверки - Kaspersky Threat Intelligence Portal.

Пришлось распиливать ссылку на составные части с помощью urllib.parse.urlsplit для определения наличия path, поскольку в запросе нужно отправлять домен на один endpoint, а если это ссылка на ресурс, то на другой. Заодно добавил метод по проверка ip адреса (да, у него тоже отдельная ручка), нужно будет валидацию ссылки на ip учесть в следующей версии.

Учел обработку ошибок запросов, прикрутил корректную обработку exception к каждому сервису.

Докинул параметров в переменные окружения.

🌐 Исходники

#проекты #changelog
🔥3👍1
🔥 Наткнулся на интересный сборник ресурсов по 10 направлениям в AI. Как его характеризуют авторы - required reads для AI инженеров. Подборка и правда получилась "без воды", взял оттуда несколько занятных источников для изучения. Подойдет как практикующим специалистам, так и тем, кто только знакомится с областью.

📚 Разделы

1️⃣ Передовые языковые модели
2️⃣ Бенчмарки, тесты
3️⃣ Промпт
4️⃣ Генерация с расширенным поиском (RAG)
5️⃣ Агенты
6️⃣ Кодогенерация
7️⃣ Обработка и анализ изображений
8️⃣ Голос / речь
9️⃣ Генерация изображений / видео
🔟 Настройка / "тюннинг" моделей

🌐 Источник

#ai #полезное
🔥3
⚡️ Yandex опубликовали свою новую модель YandexGPT 5 Lite на 8B параметров в открытый доступ. Это pre-trained версия, т.е. обученная на универсальном наборе данных, и пригодная для дальнейшего дообучения под узкоспециализированные задачи.

📌 Некоторые особенности

🔹 В модели нет никакой цензуры.
🔹 Отлично ладит с русским языком.
🔹 Согласно бенчмаркам, несколько превосходит аналогичные по размеру модели от LLaMA и Qwen по производительности.

🤗 Модель на HuggingFace.
🔎 Чат с Алисой, где уже доступна YandexGPT 5 Pro и скоро обещают прицепить Lite.

#ai #полезное
👍7
Помимо специализированных систем управления под конкретные базы данных, например, pgAdmin или MongoDB Compass, существует множество альтернатив, в том числе с открытым исходным кодом и возможностью подключения различных источников. Собрал некоторые из них в подборку вместе с сопутствующими инструментами.

📌 Универсальные админки

▫️ DBeaver
▫️ Bytebase
▫️ DBVisualizer
▫️ Adminer

📌 Low-code/no-code решения

▪️ NocoDB
▪️ Baserow
▪️ Mathesar
▪️ Appsmith

📌 Мониторинг, оптимизация

🔥 WAL-Listener - отслеживание изменений данных в базе PostgreSQL с отправкой событий в брокеры сообщений.
🔥 PgAssistant - мониторинг, трассировка, анализ, оптимизация и генерация запросов с возможностью подключения LLM.

📌 Визуальные редакторы схем

▫️ drawDB
▫️ ChartDB

#db #полезное
👍6
На неделе пропустил несколько запланированных публикаций. Две темы завершились безуспешно прямо во время проработки.

Откопал старенький роутер Asus RT-N12 C1. Поскольку скорости выдает небольшие по современным меркам, то как основной вряд ли захочется использовать, поэтому думал над иными вариантами его применения, чтобы не валялся без дела. Прошерстил 4PDA форум, изучал разные прошивки, как родные так и кастомные, и наткнулся на DD-WRT со сборками vpn, big и mega, как раз подходящие для рассматриваемого устройства. Сборки имеют на борту поддержку wireguard, что в свою очередь позволит организовать постоянное соединение с рабочей vpn и выделить для нее отдельный источник связи как с проводным так и беспроводным подключением.

В чем собстственно фейл. Каждую прошивку я пробовал поставить как с помощью специальной утилиты, так и напрямую, отработал несколько инструкций с оф сайтов и из опыта пользователей форума. Все прошивки с расширенной функциональностью уводили устройство в бесконечные перезагрузки, тогда как их младшие версии с урезанной функциональностью вставали без проблем. В итоге вернул сей девайс на родную прошивку последней версии и бросил пылиться до лучших времен.

Еще одной темой экспериментов было построение системы управления знаниями на базе RAG. Нашел занятный инструмент simba, реализующий задуманное, да еще и с веб интерфейсом и возможностью настройки на лету, судя по описанию и презентации.

Начал разбор и параллельно документировал процесс установки и настройки. Сразу бросилось в глаза большое число непредусмотренных зависимостей, которые нужно было "доставить". Отдельное раздражение вызвала необходимость вносить корректировки в пути сборочных файлов, подкручивание параметров для поддержки более свежей версии docker compose и прочее и прочее.

С установкой, с горем пополам, разобраться удалось - контейнеры взлетели, модели подгрузились, осталось лишь начать работу через web ui. Но тут меня встретило очередное разочарование, веб клиент, очевидно, недоработан, ошибки валятся горой в консоли, а часть функциональности просто отсутствует. Убедившись в несостоятельности текущей версии, забросил идею и инструмент до выхода обновлений. На сегодняшний день уже несколько глобальных изменений было внесено и опубликовано. Повторю процесс по прошествии времени.

Под задачу с роутером нашел более свежего представителя, а значит тема будет доведена до своего логического завершения.

simba обзавелась новыми сборками, активность авторов сильно повысилась за последнее время, а значит можно ожидать более стабильного выпуска, и продолжения экспериментов на эту тему.

#fail
👍4😱1
📚 В процессе освоения новых языков, фреймворков, инструментов через решение далеких от реальности задач часто можно столкнуться с ситуацией недопонимания ради чего выполняется то или иное задание, какова итоговая цель учебных теоретических или практических материалов, что в свою очередь снижает эффективность переваривания приобретенной информации, а также напрочь убивает мотивацию к продолжению развития в выбранном направлении.

На помощь в данном случае приходят несколько отличных репозиториев - сборников для обучения через практику на очень даже интересных полноценных проектах, и это не змейка или калькулятор или список ToDo. К примеру, написать свой BitTorrent клиент, клон SQLite, Git, поисковый движок или вовсе операционную систему. Подход позволит не только погрузиться в разработку полезного проекта на интересующем языке, но и изучить принцип работы того или иного сервиса изнутри в ходе реализации.

🔥 Project Based Learning

🔥 Build your own x

#полезное
👍3
Поборол наконец прошивку старого роутера Asus RT-N12 C1, о проблемах с которым говорил ранее. По рекомендации поставил open-wrt. Поддержка устройства закончилась еще в 2022, поэтому версия довольно старая - 19.07.10. Судя по описанию, слабые характеристики устройства, а именно 4/32 flash/ram, не позволяют использовать более современные версии. Текущая поддерживаемая - 22.03.7, однако разработчики не рекомендуют ее конкретно на этой модификации роутера.

Ставил open-wrt впервые, поэтому сразу столкнулся с несколькими неудобными ситуациями.
1️⃣ Для управления в LAN подключал ноутбук, а на WAN основной домашний роутер, от которого был получен адрес автоматически через DHCP, только вот адрес этот был в той же самой сети, что и сеть по умолчанию на установленной прошивке. Меняем внутреннюю сеть, чтобы разрешить конфликт.
▪️ Подключаемся к старому роутеру по ssh
▪️ Тут сразу загвоздка. Современная версия ssh оболочки на linux не включает по умолчанию поддержку устаревшего алгоритма RSA/SHA1 (ssh-rsa) - ее нужно активировать отдельно.
▪️ Прописываем дополнительный параметр подключения и попадаем на устройство
ssh -oHostKeyAlgorithms=+ssh-rsa  root@192.168.1.1

▪️ Меняем адрес lan и перезагружаем сетевой интерфейс
uci set network.lan.ipaddr="192.168.200.1"
uci commit network
/etc/init.d/network restart

▪️ Переподключаем кабель к ноутбуку. Новая сеть активирована, доступ через основной роутер наружу появился.

⁉️ Через веб интерфейс luci такое проделать можно, но проблематично. Устройство уходит в откат настроек автоматически, если не успеть вовремя переключиться на новую сеть на рабочей машине.

2️⃣ Цель сего мероприятия была организовать на выделенном устройстве постоянное подключение к рабочей vpn, поэтому доставил соответствующий пакет
opkg update && opkg install openvpn-openssl

Для настройки vpn через веб интерфейс luci нужен еще один пакет
opkg install luci-app-openvpn

После перезагрузки в панели управления появился раздел VPN, где можно подгрузить свой конфиг, создать зону для OpenVPN и настроить перенаправление трафика.

Продолжу эксперименты уже на тестовом окружении, посмотрим как хорошо старичок будет справляться с поставленной задачей.

#vpn #openvpn #openwrt
👍2👏1