LINUX.ORG.RU

Сообщения i3draven

 

Пакетный менеджер междистровый

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

  1. Отпадает проблема имен.
  2. Отпадает проблема бинарной совместимости и патчей.
  3. Не надо тащить с каждой софтиной все на свете и даже делать «кор сборки» всякие, при затаскивании либ у одинаковых адреса одинаковые в песочнице. Дедупликация автоматом.

Какие недостатки видите у этой мысли?

P.S. Да, это как бы пакетный менеджер. Но по сути это инсталлер конкретной софтины, а IPFS пакетный менеджер, его делать не надо.

 , , ,

i3draven
()

Ansible playbook для разворачивания своего VPN+DNS

Привет. По итогам моего разбирательства в iptables+ansible в качестве домашней работы сделан плейбук, который на серваке в одну команду развернет впн с резаком рекламы и контролем п2п трафика неизвестного. Сам пользуюсь на телефоне, экономит батарейку и в целом приятно. Может кому пригодится.

https://github.com/3DRaven/pi-hole2vpn

 , , ,

i3draven
()

Подскажите метод определения DoH

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

https://github.com/3DRaven/pi-hole2vpn

Но хочется даже тех кто шибко умный победить. Сейчас все кто пытается пойти куда-то на 53 порт попадают на резак даже если отправляют запрос прямой к 8.8.8.8, но есть DoH и особо хитрые могут напрямую сходить на сервис и резолвить все через него. Хочется как-то либо DoH зарезать целиком, либо определять и редиректить на себя, реализуя DoH. Может у кого есть толковые идеи как это сделать?

Кстати, в итоге время автономной работы телефона выросло более чем в три раза :)

 , , , ,

i3draven
()

Помогите понять работу iptables

Привет. Есть на сервере VPN Wireguard, в docker запущен DNS сервер pi-hole. Наружу проброшены порты 53 и 80 из докера, что бы DNS был доступен и его админка. Мне нужно что бы днс и админка были доступны только внутри VPN сети. Сейчас VPN отключен. Делаю с своего локалхоста

dig -t A ya.ru @<pi-hole-server-ip>

он отвечает нормально, резолвит адрес. Но я не понимаю почему, в правилах все кроме VPN и SSH закрыто вроде. При этом делаю на самом серваке куда я по ssh подключился

dig -t A ya.ru @<wireguard-interface-ip>
dig -t A ya.ru @<pi-hole-server-ip>
dig -t A ya.ru @127.0.0.1

не овечает. Одновременно такое

curl http://<pi-hole-server-ip>:80

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

# Generated by iptables-save v1.8.7 on Thu Aug 10 08:30:46 2023
*filter
:INPUT DROP [195:10870]
:FORWARD DROP [26:1870]
:OUTPUT ACCEPT [6821:537827]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A INPUT -i eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp ! --dport 56777 -j DROP
-A INPUT -i eth0 -p udp -m udp ! --dport 51820 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 56777 -m recent --update --seconds 60 --hitcount 6 --name SSH --mask 255.255.255.255 --rsource -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 56777 -m recent --set --name SSH --mask 255.255.255.255 --rsource -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 51820 -j ACCEPT
-A INPUT -i wg0 -j ACCEPT
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o br-a34535bd1500 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-a34535bd1500 -j DOCKER
-A FORWARD -i br-a34535bd1500 ! -o br-a34535bd1500 -j ACCEPT
-A FORWARD -i br-a34535bd1500 -o br-a34535bd1500 -j ACCEPT
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wg0 -j ACCEPT
-A DOCKER -d 172.18.0.2/32 ! -i br-a34535bd1500 -o br-a34535bd1500 -p tcp -m tcp --dport 80 -j ACCEPT
-A DOCKER -d 172.18.0.2/32 ! -i br-a34535bd1500 -o br-a34535bd1500 -p tcp -m tcp --dport 53 -j ACCEPT
-A DOCKER -d 172.18.0.2/32 ! -i br-a34535bd1500 -o br-a34535bd1500 -p udp -m udp --dport 53 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i br-a34535bd1500 ! -o br-a34535bd1500 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o br-a34535bd1500 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Thu Aug 10 08:30:46 2023
# Generated by iptables-save v1.8.7 on Thu Aug 10 08:30:46 2023
*nat
:PREROUTING ACCEPT [68541:9815794]
:INPUT ACCEPT [41:2701]
:OUTPUT ACCEPT [2043:106845]
:POSTROUTING ACCEPT [2014:104848]
:DOCKER - [0:0]
-A PREROUTING -i eth0 -p udp -m multiport --dports 123,1194 -j REDIRECT --to-ports 51820
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.18.0.0/16 ! -o br-a34535bd1500 -j MASQUERADE
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -s 172.18.0.2/32 -d 172.18.0.2/32 -p tcp -m tcp --dport 80 -j MASQUERADE
-A POSTROUTING -s 172.18.0.2/32 -d 172.18.0.2/32 -p tcp -m tcp --dport 53 -j MASQUERADE
-A POSTROUTING -s 172.18.0.2/32 -d 172.18.0.2/32 -p udp -m udp --dport 53 -j MASQUERADE
-A DOCKER -i br-a34535bd1500 -j RETURN
-A DOCKER -i docker0 -j RETURN
-A DOCKER ! -i br-a34535bd1500 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.18.0.2:80
-A DOCKER ! -i br-a34535bd1500 -p tcp -m tcp --dport 53 -j DNAT --to-destination 172.18.0.2:53
-A DOCKER ! -i br-a34535bd1500 -p udp -m udp --dport 53 -j DNAT --to-destination 172.18.0.2:53
COMMIT
# Completed on Thu Aug 10 08:30:46 2023

На всякий случай маршрутизация

default via 193.42.36.1 dev eth0 onlink 
10.156.12.0/24 dev wg0 proto kernel scope link src 10.156.12.1 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-a34535bd1500 proto kernel scope link src 172.18.0.1 
193.42.36.0/24 dev eth0 proto kernel scope link src 193.42.36.76 

Там еще wireguard запущен, так что есть таблицы маршрутизации его стандартные.

 ,

i3draven
()

Подскажите как маршрутизируется трафик для впн?

Привет. Подрубаю ВПН wireguard, доступ в интернет пропадает. Причем так только с компа, на телефоне он работает нормально. Комп подрублен к интернету через роутер с openwrt на борту. Телефон через него же. Без впн интернет пашет нормально. Таблица маршрутизации без впн на компе

default via 192.168.1.1 dev wlp4s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp4s0 scope link metric 1000 
192.168.1.0/24 dev wlp4s0 proto kernel scope link src 192.168.1.163 metric 600 
192.168.32.0/20 dev docker0 proto kernel scope link src 192.168.32.1 linkdown 

С впн

default via 192.168.1.1 dev wlp4s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp4s0 scope link metric 1000 
192.168.1.0/24 dev wlp4s0 proto kernel scope link src 192.168.1.163 metric 600 
192.168.32.0/20 dev docker0 proto kernel scope link src 192.168.32.1 linkdown 

Что бы через дефолт в впн все текло вайргард делает такие правила ip rule

0:	from all lookup local
31038:	from all lookup main suppress_prefixlength 0
31039:	not from all fwmark 0xcc58 lookup 52312
32766:	from all lookup main
32767:	from all lookup default

с ними все, что в дефолт роут приходит в ip route уходит в тонель. Вроде все верно, но не работает не понимаю почему. Причем пинги

ping goole.com

работают. Включен ufw

Состояние: активен
Журналирование: on (medium)
По умолчанию: deny (входящие), allow (исходящие), deny (маршрутизированные)
Новые профили: skip

В                          Действие    Из
-                          --------    --
22/tcp                     ALLOW IN    Anywhere                  
22/tcp (v6)                ALLOW IN    Anywhere (v6)             

Я в маршрутизации мало чего понимаю, может что то очевидное упускаю? Или надо вообще не туда смотреть?

 ,

i3draven
()

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

Полез посмотреть и выяснил, что единственный простой шейпер, который умеет ограничить трафик на закачку для процесса, не работает так как устарел. В итоге остается cgroup+tc, но там черт ногу сломит разбираться.

Подскажите как пошейпить трафик для процесса, при этом что бы условия можно было в любой момент сменить. Трафик входящий. Хочу сделать расписание более сложное чем steam умеет по умолчанию на закачку игр. Прочитать доки я могу, но на такую задачку лучше спросить тех кто уже прочитал :)

 

i3draven
()

Подвисает комп при отрубленном HDMI, как починить?

Привет всем. Подрубаю проектор к hdmi порту, пока на него включен экран второй (то есть идет изображение) все норм. Но если я второй экран выключу, проектор сигнал теряет и старается подрубиться к компу повторно. При этом комп подвисает на мгновение. Это как то можно вылечить? Вырубить через xrandr –output {screen} –off не помогает. Пока что приходится в проекторе закрывать дополнительно приложение, которое коннектится к компу. Там андроид тв стоит, на него переходить.

ubuntu 22.04 nvidia-driver-535

 ,

i3draven
()

Есть пруфы о дырках в гостовских алгоритмах шифрования?

Собственно сабж, любопытно.

 ,

i3draven
()

Как включить ksm для обычных процессов?

Привет. Хочется на своей мелкой vps попробовать дедубликацию страниц памяти (ksm) включить. Но оригинальный ksm требует что бы приложения помечали страницы памяти как пригодные для дедубликации. Что работает только с виртуалками всякими. Подскажите как включить этот механизм просто для определенного круга процессов или всех процессов на серваке где виртуализации нет?

Может есть еще советы как палиативными средствами понизить потребление памяти? Сейчас поставлен jemalloc и zram. Уже стало намного легче жить и дешевле на 10 баксов в месяц :)

 ,

i3draven
()

Подскажите как узнать чей коннект?

Проблема такая, включаю фаерфокс, включаю nethog nethog сразу же (только при включенном фаере) показывает это

   ? root     192.168.50.253:48612-34.107.221.82:80 0.000       0.000 KB/sec                                                                                                        
      ? root     192.168.50.253:50614-142.251.36.99:443 0.000       0.000 KB/sec    
      ? root     unknown TCP 0.000       0.000 KB/sec 

Фаер запущен без рута. Сервера какие-то странные, на некоторых нгинкс пустой, на других файл скачать можно в котором success написано. В общем похоже меня ломанули что ли. Не знаю уж как. Вопрос вот в чем, как вычислить приложение, которое это делает? Или как фаер это делает не имея рута?

netstat -tnap показывает, что это месенджеры, но не верится, что фаер от рута делает коннекты. Непонятно.

 ,

i3draven
()

Подскажите как тестовы smtp сделать?

Есть droplet на digital ocean, он хочет что бы я при старте указал smtp сервер, мне с него надо слать почту в количестве 10 штук в день может, для тестов. Не хочется платить за это. Как решить попроще задачку? Может есть бесплатные смтп или может можно как-то легко поднять свой сервер не полноценный, а совсем тупой какой-то рассчитанный на одно письмо в час?

 ,

i3draven
()

Как сделать hedless монитор для X11?

Привет. Хочется странного. Есть проектор, на который сделан вывод игрушек из steam с помощью steam link, все классно пашет, кроме одного, плохо определяется разрешение монитора, так как сам стим запускается на ноуте и его разрешение отличается от проектора. Есть идея сделать headless монитор виртуальный, на котором запускать отдельно steam с нужным разрешением, что бы не мешал. Но никак не удается никаким способом создать в X11 виртуальный монитор, подрубленный к моей Nvidia карточке. Может кто сталкивался с задачкой, так еще x11Vnc на серверах делают вроде, не знаю точно.

Driver Nvidia 515 Ubuntu 22.04 X11

 , ,

i3draven
()

Как происходит очищение папки tmp?

Хочу тут в tmp налить своих временных файлов, но никак не найду полноценной инфы о том как чистится эта папка. Есть дистры на базе debian и centos всякие. Везде при перезагрузке очищается tmp? Есть ли очистка по времени? Файлы при очистке по времени, если она есть, стираются только закрытые или даже те, что сейчас кем то используются?

 ,

i3draven
()

Подскажите как понизить приоритет трафика для процесса

На своем домашнем компе хочу понизить приоритет трафика стима на закачку игр, что бы кину смотреть спокойно, а когда не смотрю, что бы стим игру качал. Простого способа не нашел. Потому вопрос к знатокам как это сделать просто? Роутера нет для QoS кручений с нормальным гуем, так что хочется на своем ubuntu 20.04 десктопе парой команд настроить или может гуй есть какой где можно выбрать приложение и выставить минимальный приоритет трафика? Или пример команды был бы тоже к месту.

 , , ,

i3draven
()

btrfs уже можно юзать для root дома?

Пробовал пару раз переезжать рутом на бтр, нравится то, что там снапшеты есть и сжатие фс. Но оно оба раза ломалось в итоге сильно. Теперь не рискую. Как там сейчас с стабильностью этой штуки и скоростью? Раньше проблемы были

  1. Образы виртуалок на ней нельзя было хранить и запускать, как и swap. Решалось выставлением атрибутов каких то уже не помню каких, запрещающих для этих файлов все на свете из плюшек ФС.
  2. В директориях с большим числом файлов можно было повесить систему навсегда.
  3. Удаление мелких файлов в больших количествах шло вечно.
  4. Было непонятно сколько реально свободного места есть на диске при сжатии и никаких прогнозов построить нельзя было на предмет когда закончится.
  5. С метаданными были проблемы уже не помню какие, но ломающие к хренам все ФС.
  6. Проблемы с работой на SSD, приводящие к их выходу из строя без тюнинга ФС и каких то уже не помню настроек.

Это уже пофикшено и что сейчас еще есть из проблем?

 ,

i3draven
()

Что значит нулевой уровень в audacity?

Никогда не записывал звук и не понимаю. Все шкалы идут от 0 и в минус децибелы. Понятно, что нулевой уровень это некий максимум громкости, но чему он равен? Отсюда еще вопрос, какую громкость должна иметь аудиозапись? Мне кажется микрофон записывает тихо, а на этих шкалах громкость в красной зоне под нулем, делаю громче, начинает зашкаливать. В итоге слушатель с какой громкостью будет слышать? У него же там свой усилок и пр. Какой уровень сигнала «нормальный»?

 ,

i3draven
()

pipewire заикается с bluetooth колонкой, что можно покрутить?

Есть у меня пищалка блютусная старая. Пульсаудио с ней норм работало. Поставил pipewire и теперь при старте любого звука первые секунда оно заикается, потом работает. Что можно в pipewire накрутить или может в wireplumber что бы настроить? В пульсе при таких признаках я размеры буферов считал и проставлял в конфиге, тут не знаю что как, может подскажет кто.

 , ,

i3draven
()

Подскажите смотрелку для логов

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

С консолью я awk могу возится конечно и пр, но хочется удобства и что бы просто совсем и при этом что бы в динамике, логи небольшие.

 

i3draven
()

Подскажите куда смотреть когда непонятно почему не качаются торенты?

В общем решил я ubuntu через торент скачать. Поставил qbitorrent а он вообще ничего не качает, причем и другие торент клиенты тоже. Где посмотреть обо что спотыкаются? У меня поставлен cloudflare warp+ufw. Отключал обоих совсем, не качают все равно. Все остальное по умолчанию. Ноут новый, рядом еще есть винда, в ней работает.

 ,

i3draven
()

Как лучше копировать дирректорию с большим количеством файлов?

Есть огромная ветвистая дирректория с миллионами файлов. Гит репы и пр. Нужно ее перенести с одного диска на другой. Обычное копирование будет их читать по одному и это очень долго. Есть ли инструменты, которые просто выяснят сектора, которые этими файлами заняты (а они дефрагментированы, это один кусок по сути, может несколько) и перенесут это «место на диске» на другой, потом зарегают там «файлы, которые тут лежат»? Такой инструментарий существует кроме копии партишена целиком?

 ,

i3draven
()

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