LINUX.ORG.RU

Сообщения vitruss

 

Помогите с пониманием где могут быть проблемы

Привет! Что-то я читаю про всякие self-hosted штуки и постоянно пишут про безопасность. Пытаюсь понять, упустил ли я что-то или в моей ситуации всё более-менее под контролем.

Итак есть:

  1. подкроватный сервер, с докером и сервисами (там достаточно много портов доступно из локалки). Контейнеры с веб сервисами находятся обычно в своих сетях с http за nginx и для доступа извне используют авторизацию + https. На том же сервере ssh + fail2ban.
  2. Роутер от провайдера с белым IP, где наружу мапятся только порты 80, 443, один не стандартный для ssh на сервер и ещё один для *** (подключения снаружи в домашнюю сеть). Есть ещё порт для торрентов через UPnP. Вайфай на роутере выключен. Веб управление снаружи выключено.
  3. Есть второй роутер в OpenWRT, он же DHCP, DNS и *** сервер. Веб управление доступно по http. Раздаёт сеть WiFi с WPA3 для всех + WPA2 для всяких устройств типа колонок и розеток. Эти сети используют один диапазон адресов.
  • Правильно ли я понимаю, что в данной ситуации я защищён от атак снаружи? Если нет уязвимостей в тех сервисах что выставлены наружу (nginx + авторизация + контейнеры, openssh, *** и qbittorrent).

  • Что можно улучшить в данном варианте?

 , ,

vitruss
()

Написать или доработать телеграмм бот

Всем привет.

Долго собирался сделать сам и решил что, вероятно, будет проще кого-то попросить сделать за деньги.

Есть сэлфхост приложение для хранения ссылок. Называется karakeep. У него есть rest api. Хочется иметь возможность сохранять в него информацию пересылая боту сообщение в телеграмм. Сейчас есть реализация бота на го (https://github.com/Madh93/karakeepbot), но она не поддерживает сохранение картинок и разметки из постов. Хотелось бы реализацию которая это умеет.

Поэтому я ищу человека, кто готов или доработать вариант на го или сделать вариант на питоне со всеми картинками и ссылками. В результате хочется готовый рецепт для docker compose + код на гитхабе.

Посмотрим найдутся ли желающие. Начальная цена 10 тыс/100€. Или предлагайте свою в комментариях.

Связь для начала в теме.

 , , selfhost

vitruss
()

Смена меток в Prometheus blackbox

Добрый день!

У меня на сервере несколько туннелей через SSH. Хотелось бы мониторить их доступность во времени через Grafana. Каждый из туннелей открывает свой порт (xxx или yyy) для обратного подключения. Сейчас в статистике portainer через blackbox exporter (ssh_banner) они выглядят как probe_success{instance="127.0.0.1:xxx",job="SSH"}, а хочется чтобы было отдельное поле со значением host1 или host2 или изменить значение instance.

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

Вот часть конфига:

  - job_name: 'SSH'
    scrape_interval: 10s
    metrics_path: /probe
    params:
      module: [ssh_banner]
    static_configs:
      - targets:
        - 127.0.0.1:xxx
        - 127.0.0.1:yyy
        labels:
          host: ['host1', 'host2']
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: host
      - target_label: __address__
        replacement: localhost:prometheus_port

 ,

vitruss
()

Посоветуйте какой дистрибутив/стратегию выбрать

Всем привет!

Сложилась следующая ситуация: У меня в хозяйстве есть 2 сервера и десктоп с Debian. DE, где есть, KDE.

На днях купил бук на Zen 4 (7840U), и хочу отдать его ребенку. Это достаточно новый проц + планируются игры, поэтому хочу поставить систему новее чем Debian stable (в основном из-за месы и ядер для WiFi от Qualcomm) и поставить KDE, потому что ребенок привык более-менее к нему.

К сожалению я не нашел нормального варианта как поставить новую месу под стабильный Debian и не нашёл никаких производных с KDE но без уродского snap.

С одной стороны не хочется поддерживать зоопарк дистров, с другой стороны, кажется, что проблем с установкой и поддержкой какого-нибудь арча (много лет на нём сидел, перешёл на Debian stable для унификации между всеми устройствами) будет не сильно больше чем если поставить Kubuntu или что-то аналогичное. Может и ребенок больше научится.

Пока вижу следующие варианты:

  • Поставить Debian testing/sid, но смущает что он с большей вероятностью может сломаться при обновлении + есть периоды заморозки
  • Поставить Kubuntu LTS и разрулить все со snap, но потом надо тащить PPA и обновляться между релизами
  • Поставить другой дистр (склоняюсь к арчу, но может какой-нибудь сусе, как вариант).

Собственно вопросы:

  1. На сколько проблемно сидеть на testing/sid и как быстро прилетают новый месы/ядра?
  2. Может ли кто-то посоветовать производное Debian где есть свежий софт и хорошо готовят KDE?
  3. Что посоветуете?

 , , , ,

vitruss
()

Не работает bridge

Всем привет! Есть компьютер-1 с 2-мя сетевыми интерфейсами и выходом в интернет. Есть компьютер-2 к которому нельзя протянуть отдельный кабель, но хочется подключиться к интернету. Я попробовал сделать brigde из сетевых интерфейсов на компьютер-1. Есть ping компьютер-2 <–> компьютер-1 и компьютер-1 <–> маршрутизатор, но вот компьютер-2 <–> маршрутизатор не работает. Не понимаю где не так. На компьютер-1 так же стоит докер и есть другие bridge сети с NATом, но я не уверен что это как-то влияет. На обоих компах Debian12.

Подскажите как это заставить работать без организации ещё одной сети и NAT?

Конфиги:

bridge0.nmconfig:

[connection]
id=bridge0
type=bridge
interface-name=bridge0

[bridge]
stp=false

[ipv4]
address1=192.168.1.3/24,192.168.1.1
dns=192.168.1.1;
may-fail=false
method=manual

[ipv6]
addr-gen-mode=stable-privacy
method=ignore

[proxy]

ens4f0.nmconfig:

[connection]
id=ens4f0
interface-name=ens4f0
type=ethernet
slave-type=bridge
master=bridge0
metered=2

[ethernet]
mac-address=00:1x:xx:xx:xx

[bridge-port]

ens4f1.nmconfig:

[connection]
id=ens4f1
type=ethernet
interface-name=ens4f1
master=bridge0
metered=2
slave-type=bridge

[ethernet]
mac-address=00:2x:xx:xx:xx

[bridge-port]
~ $ sudo brctl show
bridge name     bridge id               STP enabled     interfaces
...
bridge0         8000.ceb8acceb061       no              ens4f0
                                                        ens4f1
...

 , , , ,

vitruss
()

Админка для локальных контейнеров и reverse proxy

Всем привет!

Админ локалхоста на связи. На этом локалхосте работают:

  • nginx как reverse proxy
  • десяток контейнеров в докере
  • Portainer для управления докерами/мониторинга ресурсов
  • certbot для получения сертификатов
  • самописный dns скрипт, дёргающий api регистратора при изменении внешнего адреса, добавлении или удалении доменов.
  • зачаточный дашборд

В результате получается огромное количество ручной работы: для каждого контейнера надо настроить nginx, запустить dns скрипт, чтобы добавить домен, перевыпустить сертификат. Может быть кто-то может посоветовать что-то для оптимизации/автоматизации/организации всего этого?

Я видел контейнер SWAG, который, по идее, должен заменить/автоматизировать nginx + certbot. Есть ещё Nginx proxy manager, который, вроде, это тоже как-то умеет. Можно, в принципе, поменять nginx на traefic, если это упростит управление.

 , , ,

vitruss
()

«Проброс» smb шары

Добрый день!

Возник вопрос по поводу самбы. Имеется NAS с неизвестно чем на борту, который работает как smb сервер. Нужно организовать к нему доступ с различных компьютеров (Win XP/7), которые не должны иметь прямого доступа в сеть, где этот нас находится.

Есть идея поставить между компьютерами и насом «шлюз» на Linux, на котором смонтировать шару и потом директорию, куда оно примонтировано снова раздать по smb

Можно ли сделать такой проброс самбы средствами iptables?

 

vitruss
()

Внешняя видеокарта через Thunderbolt 3

Добрый день! У кого-то был опыт с внешними видеокартами через Thunderbolt 3? Оно нормально работает в онтопике?

Хочется использовать для игр, в свете выхода Дьябло 2 :)

 , ,

vitruss
()

Унификация платформы для десктопа и NAS

Добрый день! У меня проблема с выбором дистрибутива/ПО. Есть 2 компьютера, которые в скором будущем будут находиться на расстоянии нескольких тысяч км от меня:

  1. Дектоп (Intel NUC 10, KDE) для неискушённого пользователя: браузер, skype, личные документы.
  2. NAS (Intel Celeron J4125, 2 * 4 Tb WD Red, raid 1): резервные копии с десктопа и другого сервера.

Хочется поставить на обе железки один дистрибутив одинаковой версии (выбираю сейчас между Ubuntu LTS и Debian Bullseye), чтобы не париться с зоопарком ОС, поставить на NAS какую-то оболочку, типа OpenMediaVault (принимаются предложения), настроить мониторинг, постоянное подключение через VPN на другой сервер (для администрирования в случае необходимости), автоматические обновления безопасности и забыть про всё это до истичения срока поддержки/поломки.

Debian:

  • + на нём основан OpenMediaVault
  • + верю что не сломается на автоматических обновлениях безопасности
  • - не понятно сколько продлится поддержка Bullseye и на сколько легко его потом удалённо обновить на следующий релиз

Ubuntu:

  • + LTS до 2025 года и понятно как его потом обновить (в интернете про этот процесс обычного много пишут).
  • - Не понятно есть ли интегрированное решение для NAS
  • - Не уверен что не сломается на автоматических обновлениях безопасности

Вроде бы принципиально варинты очень похожи, но хочется минимизировать заботу об этом хозяйстве, не наступив на грабли. Есть небольшой опыт с древними Debian в качестве сервера/декстопа. И большой опыт с Arch в качестве дектопа/домашнего сервера. Можете помочь определиться/предложить свои решения ?

Всем спасибо! Решил поставить Debian и OMV

 , , ,

vitruss
()

многопоточный питон

Господа, в этот праздничный день, помогите, пожалуйста, создать змея с многими головами! :)

file является гиперспектральным изображением (т.е. избражение, где каждый пиксель представляет собой спектр). hs - библиотека hyperspy для работы с этими изображениями. Функция multifit приближает каждый из спектров в пикселе при помощи функции войта. Так как файлов больше одного, а процессинг каждого занимает у моего компьютера примерно 2 минуты, я бы хотел это сделать сразу в несколько потоков. Есть вот такой код:

from multiprocessing import Pool

def fit_file(file):
    image = hs.load(file).T
    m = image.create_model()
    v1 = hs.model.components1D.Voigt()
    m.append(v1)
    m.multifit()
    return file, v1

with Pool(processes=4) as pool:
    v = list(pool.map(fit_file, files[:2]))

В результате получаю:

---------------------------------------------------------------------------
MaybeEncodingError                        Traceback (most recent call last)
<timed exec> in <module>

/usr/lib/python3.7/multiprocessing/pool.py in map(self, func, iterable, chunksize)
    266         in a list that is returned.
    267         '''
--> 268         return self._map_async(func, iterable, mapstar, chunksize).get()
    269 
    270     def starmap(self, func, iterable, chunksize=None):

/usr/lib/python3.7/multiprocessing/pool.py in get(self, timeout)
    655             return self._value
    656         else:
--> 657             raise self._value
    658 
    659     def _set(self, i, obj):

MaybeEncodingError: Error sending result: '[('filename', <ZLP (Voigt component)>)]'. Reason: 'KeyError('__getstate__')'

Как я понимаю это связано сериализацией, но я не так хорошо разбираюсь в питоне чтобы решить эту проблему. Пробовал ещё ipython.parallel и Ray, но обычно сталкивался с такой же (ну или внешне похожей) проблемой. Всё это выполняется Jupyterlab.

Может кто-то подсказать что делать?

 ,

vitruss
()

Интеграция Samba с AD

Добрый день!

Есть Windows домен AD с контроллером на Windows 2008 и сервер на Debian 9.1. Я хочу сделать файловый сервер на Дебиане. Для настройки пользовался инструкциями с samba.org. Сейчас файловый сервер включен в домен, оснастки его видят и позволяют задать права на шары, но getent group и getend passwd показывают только ллкальных пользователей, а chown не может опознать группу и потому не меняет права на директории на сервере.

Уже всё перепробовал и перегуглил. Есть идеи почему это может быть так? Пакет libnss-winbind установлен.

 ,

vitruss
()

Порекомендуйте свич с SPF

Добрый день!

Посоветуйте пожалуйста оборудование: 1000M, 8 портов свич с SFP портом, SFP модули и медиаковертер. Смотрел на HP 1920-8G, но местные (Новосибирск) магазины почему-то не могут продать подходящие модули.

Есть свободное волокно и надо его задействовать, на имеющемся волокне стоят OptiCin SFP-WDM5.10.

 , ,

vitruss
()

Подскажите шрифт

Подскажите, пожалуйста, шрифт, которым написан этот текст. Очень надо.

 ,

vitruss
()

DHCP выдавать разные конфигурации

Есть сеть организации (около 500 компов). В этой сети есть DHCP сервер (dhcpd). В недавнем прошлом вся эта сеть была одинаковой. Но вот недавно завёлся Windows домен и появилась проблема что доменным компам надо отдавать по DHCP доменный DNS, а не доменным не надо. Это как-то можно оформить в конфиге?

В принципе, есть возможность вести отдельно список MAC адресов для доменных и не доменных компов, но всё равно не очень понятно как это оформить в конфиг одного DHCP сервера.

P.S. DHCP сервер под FreeBSD. Выжечь Windows домен калёным железом не предлагать.

 ,

vitruss
()

Создание изолированной сети

Помогите советом, пожалуйста. Есть сеть организации, есть оборудование, которое в эту сеть (и в интернет) доступа иметь, не должно, но к нему нужно иметь возможность подключиться из этой сети. Подключение к этому оборудованию будет по VNC и RDP, в перспективе, возможно, через VPN. Текущее решение - взять, поставить маршрутизатор, обрезать на нём NAT, чтобы у оборудования не было доступа наружу и пробросить нужные порты/сделать VPN.

На текущий момент варианта маршрутизатора два: Mikrotik hEP или ASUS RT-N18U с TomatoUSB. Первый - более серьёзный, но не изведанный для меня; второй - понятный и там я точно уверен что всё смогу сделать. Цена примерно одинаковая.

Кроме того интересует вопрос с VPN. Хотелось бы что-то более-менее простое в настройке и, желательно, без дополнительного ПО под оффтопик. Что посоветуете?

 , ,

vitruss
()

Выбор усилка

Помогите с выбором усилка. У меня дома есть колонки Yamaha NS-G40 (рекомендуемый усилитель 60W), хочется подключить их к телевизору (лучше по коаксиалу) и иметь запас входов на будущее (типа S/PDIF). На алиэкспрессе нашёл 5 усилков:

Первые три немного выше по мощность (80W), последние два немного ниже (50W), на 60W ничего не нашёл. Помогите, пожалуйста, с выбором основываясь на китайском описании и своих знаниях.

 

vitruss
()

Дистрибутив с LTS и простотой Арча.

Решил перевести несколько машин в одной сети на линукс. Однако с одной стороны хочется стабильности, с другой - простоты. Есть ли что-то с длительным циклом релизов основных компонент (скажем 1 раз в год, ну или раз в 2 года, как Ubuntu LTS) и простотой сборки необходимых пакетов как в Арче (чтобы не надо было писать всякие описания и править чейнджлог для сборки пакета, а можно было просто описать «последовательность сборки» как в PKGBUILD?

Боюсь, что если обновлять Арч раз в год, то тогда будет жесть. Каждое обновление придётся серьёзно париться.

vitruss
()

Тормозной OpenVPN

Есть маршрутизатор (Asus RT-N66U), там стоит Tomato от Shibby. Он работает как VPN сервер. За ним стоит комп с торрентами и домашними облаками. Так вот, если я подключаюсь по VPN к маршрутизатору и лезу на этот комп - получаю скорость порядка 0.5 МBps, а если не используя VNP пробросить порт - скорости раз в 10 выше. Под нагрузкой у маршрутизатора la ~ 0.3-0.4, что не должно быть очень критично.

Есть идеи, что можно проверить и подкрутить, чтобы всё работало? При этом из другого места (ближе) получается ~ 2МBps.

В OpenVPN включен tls-auth. Пакеты UDP. Пробовал менять MTU на 1300 - эффекта не увидел. Цифры измерял при помощи iperf.

vitruss
()

Обработка загрузок в Хроме

Хочется при загрузке некоторых типов файлов (типа .bib, .ris и т.п.) автоматически запускать скрипт на скачанном файле, ну или запускать «JabRef.exe --importToOpen $имя_файла».

Можно ли в Хроме сделать обработку файлов как в «старой» Опере? Там можно было выбрать, что делать с каждым конкретным типом файлов.

 ,

vitruss
()

В какой момент освобождается память?

Использую python для решения всяких вычислительных задач по работе. Опыта пока не много.

Иногда возникает ситуация, когда не хватает 4 гига оперативной памяти, в связи с этим возникает следующий вопрос: очень часто в процессе работы программы используются временные переменные, которые изменяются в теле цикла и могут содержать много данных, а после цикла уже не нужны совсем. Собственно вопрос: когда они уничтожаются gc? Сразу по окончанию цикла (если их имя не упоминается дальше в коде)? Или только в конце выполнения (обычно всё выполение занимает несколько минут)? Нужно ли им делать del вручную?

 

vitruss
()

RSS подписка на новые темы