LINUX.ORG.RU

Сообщения Dodik

 

Rx и Tx на VPS. Какой из них исходящий?

Форум — Admin

Немного запутался.

Есть VPS, на котором заветное ПО, доступ к которому, заботливый и контролирующий госорган всячески пытается меня оградить. Попробую набросать схему

user - 40.40.40.40 (внешний IP)
VPS - 50.50.50.50 (внешний IP)
VPS - eth0 (смотрит в мир)
Сеть на VPS - 10.10.10.0/28 (внутренняя)

user, подключаясь к VPS получает адрес 10.10.10.2. Затем отрабатывает правило NAT, которое выглядит следующим образом

oifname "eth0" ip saddr 10.10.10.10/28 snat to 50.50.50.50

Опустим теорию работы цепочки FORWARD

На VPS установлено ограничение исходящего трафика, которое за последние 2 месяца упиралось в потолок, что повлекло заставить меня навесить на VPS экспортёр метрик, данные которых опрашивает отдельно стоящий прометей-сервер.
Получив данные, сортирую юзеров по Rx

Time	                Username	Address	        Rx		Tx
2026-03-11 05:32:25.931	user1		10.10.10.2	19 GiB		909 MiB
2026-03-11 05:32:25.931	user2		10.10.10.3	2 GiB		1 GiB
2026-03-11 05:32:25.931	user3		10.10.10.4	229 MiB	        9 GiB
2026-03-11 05:32:25.931	user4		10.10.10.5	218 MiB	        987 MiB

По статисте за последние сутки, user1 получил 19Gb. А теперь переходим к вопросу в шапке. Для VPS это трафик исходящий или входящий?

 , ,

Dodik
()

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

Форум — Admin

Года два уже как предпочитаю шифровать раздел при установке системы. Ну и сам вопрос в шапке. Будет ли иметь значение или какой-то выйгрыш в производительности

cryptsetup -v -y -c aes-xts-plain64 -s 512 -h sha512 -l 5000 --use-random luksFormat /dev/nvme0n1p3

или достаточно скомандовать

cryptsetup luksFormat /dev/nvme0n1p3

 

Dodik
()

Как curl'ом отловить искомое слово, чтобы при наличии его, срабатывал условный оператор?

Форум — Admin

Хочу раз в минуту, по крону, проверять курлом доступность узла.
При доступности, в выхлопе нет упоминания слова error, а при отсутствии доступа - есть.
Дальше в тот же крон оформить скрипт типа

#!/bin/bash
HOST="yandex.ru"
curl -v $HOST > /dev/null
if [ !встречается совпадение 'error' ]; then
    echo "Работаем дальше"
else
    Выполняем необходимые команды
    для того, чтоб хост стал доступен
fi

Помогите с реализацией скрипта

P.S. Почему курлом? Потому что пингом ответы от узла идут, а страничка в браузере не открывается.

 ,

Dodik
()

Сервер видеонаблюдения на Linux

Форум — Admin

Есть ip-камеры, работу которых можно посмотреть в реалтайме командой mpv rtsp://login:pass@ip/mpeg4
Есть задумка, не прибегая к приобретению каких-нибудь DAHUA регистраторов, организовать подобное (или часть необходимого функционала) под линуксом.
Великий гугл наискал решений типа ZoneMinder, Motion, Shinobi и Xeoma. Может был у кого опыт использования этих решений, да кто что посоветует?

P.S> Ну или может кто подкинет идею как красиво это организовать при помощи ffmpeg?

 ,

Dodik
()

Nouveau. По всей видимости проблема 2-х мониторов

Форум — Desktop

Помню сношения с nouveau, когда очень часто, при использовании 2-х мониторов, один вылетал с наличием артефактов, как будто матрица потекла. При установке проприетарных драйверов нвидиа, такого нет.
Вот откопал старый системник, а на нём GeForce GT 730. Проприетарщину не накатишь, так как поддержка ушла. Приходиться юзать nouveau, но как указал выше, есть проблема.

Может это как-то лечится?

 ,

Dodik
()

Android TV vs Linux

Форум — Linux-hardware

Решил обновить ТВ в загородном доме. Полез на сайт DNS’а выбрать и завошкался, обратив внимание на параметр ОС. Как давно у телевизоров появился Linux?
Для примера чем отличается ECON EX-40FS014B от ECON EX-40FS013B?
Интересует именно отличие андройда от линукса

Перемещено hobbit из general

 ,

Dodik
()

Маркировка трафика и маршрут его через другой интерфейс

Форум — Admin

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

В общем что я сделал:
Добавил таблицу мангл в нфтаблес

table ip mangle {
    set some_service_ipv4 {
        type ipv4_addr
        flags interval
        elements = { ip-раз, ip-два...ip-сто-пятьсот )
    }
    chain prerouting {
        type filter hook prerouting priority mangle; policy accept;
        ip daddr @some_service_ipv4 meta mark set 0x2
        tcp dport { port-раз, port-два...port-десять } meta mark set 0x2
    }
    chain output {
        type route hook output priority mangle; policy accept;
        ip daddr @some_service_ipv4 meta mark set 0x2
        tcp dport { port-раз, port-два...port-десять } meta mark set 0x2
    }
}

Добавил таблицу маршрутизации для маркированных пакетов

ip route flush table 100
ip route add default dev <interface через который хочу выпустить mangle-пакеты> table 100

Добавил правило для пуска mangle-пакетов через вышесозданную таблицу

ip rule add fwmark 0x2 table 100

И нифига не ходит :(
ЧЯДНТ…?!?

 , ,

Dodik
()

Wi-Fi модули для hostapd + роуминг

Форум — Admin

В принципе я и так уже давно ушёл от брендов, а в свете последних событий в очередной раз убедился, что лучше опенсорса на своих железках ничего нет!

Хочу сделать вай-фай роуминг на hostapd, но нет опыта (от слова совсем) с выбором вай-фай модуля. Хотелось бы поинтересоваться у знающих господ, какой лучше взять и если можно, то ссылку на него.

И ещё момент. Разместить надо пару точек на расстоянии метров 10 от (программного) маршрутизатора. Как должен выглядеть вай-фай модуль? Существует ли возможность его запитать по PoE?

 , ,

Dodik
()

hostapd. Проблема 10-ти минут

Форум — Admin

Впервые пробую настроить Wi-Fi и сразу же упёрся в проблему. Вай-фай есть! Подключается, работает, но через 10 минут все клиенты отваливаются.

interface=wlp2s0
driver=nl80211
ssid=(имя точки)
hw_mode=g
ieee80211n=1
channel=9
wpa=2
wpa_passphrase=(пассворд точки)
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0

Народ пишет, что точка по энергосбережению уходит в сон. Добавил wmm_enabled=0 - не помогло. Следом добавил wpa_group_rekey=86400 - клиенты продержались 3 часа, но не сутки и всё равно отвалились.

Сам Wi-Fi модуль в -> этом <- чуде. Выглядит вто так -> 02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter. Драйвер -> Kernel driver in use: rtw_8821ce

Может кто подскажет, ЧЯДНТ…?

 , ,

Dodik
()

ipip туннель на pppoe

Форум — Admin

Сторона А.
Провайдер предоставляет подключение по DHCP-Client

Сторона Б Провайдер предоставляет подключение по PPPoE

По всей видимости туннель поднялся только на стороне А, так как отправляя пинг на сторону Б, в nftables пакетик приходит. Tcpdump’ом на стороне Б вижу, что реплай уходит

14:47:43.931266 IP 192.168.200.0 > 192.168.200.1: ICMP echo request, id 17, seq 1, length 64
14:47:43.931402 IP 192.168.200.1 > 192.168.200.0: ICMP echo reply, id 17, seq 1, length 64
14:47:44.945854 IP 192.168.200.0 > 192.168.200.1: ICMP echo request, id 17, seq 2, length 64
14:47:44.945982 IP 192.168.200.1 > 192.168.200.0: ICMP echo reply, id 17, seq 2, length 64

а вот на сторону А ничего не доходит.

Есть ли какие-то подводные камни в организации IPIP туннеля при подключении к миру через PPPoE?

 , ,

Dodik
()

Как перенести диск logical volume на другой сервер?

Форум — Admin

Есть два гипервизора QEMU-KVM На обоих LVM разметка Диски для ВМ - это блочные устройства. Выглядит так

NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                          8:0    0  4.4T  0 disk 
├─sda1                       8:1    0  976M  0 part /boot/efi
├─sda2                       8:2    0  977M  0 part /boot
└─sda3                       8:3    0  4.4T  0 part 
  ├─kvm--02--vg-lv--root   254:0    0 27.9G  0 lvm  /
  ├─kvm--02--vg-win11--rdp 254:1    0  1.2T  0 lvm  
  ├─kvm--02--vg-dc2        254:2    0    9G  0 lvm  
  ├─kvm--02--vg-fileserver 254:3    0  1.7T  0 lvm  
  ├─kvm--02--vg-proxy      254:4    0    8G  0 lvm  
  ├─kvm--02--vg-omada      254:6    0   16G  0 lvm  
  └─kvm--02--vg-staff      254:7    0  500G  0 lvm  
sr0                         11:0    1 1024M  0 rom  

Как перенести lv-диск на другой, аналогичный гипервизор?
Понятно, что перекидываем xml самой ВМ’ки
dd’шкой перекидываем сам диск. Например dd if=/dev/kvm-02-vg/omada | ssh root@serverB "dd of=/dev/kvm-03-vg/omada"
А как потом этот LV включить в группу VG?

 , ,

Dodik
()

ct state invalid drop. Зачем, если в самом низу drop На всё?

Форум — Admin

Пример таблицы фильтр

table ip filter {
	chain INPUT {
		type filter hook input priority filter; policy accept;
		ct state established,related accept
		ct state invalid drop
		ip protocol icmp accept
		drop
	}

Если в самом низу мы блокируем всё, то зачем правило, которое блокирует нелегитимный трафик?

 , ,

Dodik
()

Стена огня не пропускает

Форум — Admin

Дано:
172.25.76.249 - Файлопомойный сервер samba с интеграцией в линуксовый AD
172.25.1.1 - Пограничный маршрутизатор
172.25.1.17 - Рабочая станция linux

На марше - nftables
На рабочей станции, в файле /etc/fstab строчка

//172.25.76.249/fgarbage/IT		/home/dodik/shared	cifs	user,rw,uid=1000,gid=1000,credentials=/home/dodik/.smb	0 0

В файле .smb данные типа

username=dodik
password=password
domain=do.main

Скомандовав на рабочей станции

sudo mount -a

вываливается ошибка

mount error(111): could not connect to 172.25.76.249Unable to find suitable address.

Так-с-с… Вероятнее всего nftables на марше.
Лезу на файлопомойку, смотрю чего она там слушает.

ss -tulnp
Netid         State          Recv-Q          Send-Q                          Local Address:Port                   Peer Address:Port         Process                                            
udp           UNCONN         0               0                                   127.0.0.1:323                         0.0.0.0:*             users:(("chronyd",pid=702,fd=5))                  
udp           UNCONN         0               0                        172.25.76.249%enp1s0:68                          0.0.0.0:*             users:(("systemd-network",pid=343,fd=30))         
udp           UNCONN         0               0                               172.25.76.255:137                         0.0.0.0:*             users:(("nmbd",pid=720,fd=15))                    
udp           UNCONN         0               0                               172.25.76.249:137                         0.0.0.0:*             users:(("nmbd",pid=720,fd=14))                    
udp           UNCONN         0               0                                     0.0.0.0:137                         0.0.0.0:*             users:(("nmbd",pid=720,fd=12))                    
udp           UNCONN         0               0                               172.25.76.255:138                         0.0.0.0:*             users:(("nmbd",pid=720,fd=17))                    
udp           UNCONN         0               0                               172.25.76.249:138                         0.0.0.0:*             users:(("nmbd",pid=720,fd=16))                    
udp           UNCONN         0               0                                     0.0.0.0:138                         0.0.0.0:*             users:(("nmbd",pid=720,fd=13))                    
tcp           LISTEN         0               50                                    0.0.0.0:445                         0.0.0.0:*             users:(("smbd",pid=740,fd=28))                    
tcp           LISTEN         0               50                                    0.0.0.0:139                         0.0.0.0:*             users:(("smbd",pid=740,fd=29))                    
tcp           LISTEN         0               128                                   0.0.0.0:22                          0.0.0.0:*             users:(("sshd",pid=708,fd=6))

Аха…! Добавляю правила на сам маршрутизатор (потому как на файлопомойке всё открыто) типа

nft add rule ip filter INPUT ip saddr 172.25.1.0/24 tcp dport { 139, 445 } counter accept
nft add rule ip filter INPUT ip saddr 172.25.1.0/24 udp dport { 137, 138 } counter accept

Снова пытаюсь смотнитроваться - результат тот же

Хорошо. Отключаю последнее правило в nftables, которое звучит как counter drop монтируюсь - фиг!

Погнали траблшутить.

На марше командую

tcpdump -i enp48s0.90 src 172.25.1.17 and portrange 1-1024 and port not 22

Самба же попадает в диапазон портов 1-1024? И чтоб не фонил ssh исключаем 22 порт.
Монтируюсь на рабочей станции, а на роутере смотрю выхлоп

11:59:25.967274 IP 172.25.1.17.55692 > 172.25.76.249.microsoft-ds: Flags [S], seq 243504943, win 64240, options [mss 1460,sackOK,TS val 3606572534 ecr 0,nop,wscale 7], length 0
11:59:25.967990 IP 172.25.1.17.49322 > 172.25.76.249.netbios-ssn: Flags [S], seq 3652756034, win 64240, options [mss 1460,sackOK,TS val 3606572534 ecr 0,nop,wscale 7], length 0

Чё-та пытается проскочить. Иду на файловый сервер, командую

tcpdump -i enp1s0 src 172.25.1.17 and port not 22

Монтируюсь и тишина. Пытаюсь пинговаться, выхлоп в tcpdump файлового сервера сыплет.

Вывод. На маршрутизатор пакеты приходят. С него на файловый сервер нет. Соответственно где-то в nftables марша затык, но я же полностью отключил drop всего. Что не так-то?

Цепочка input таблицы filter маршрутизатора

table ip filter {
	chain INPUT {
		type filter hook input priority filter; policy accept;
		ct state established,related counter packets 4431 bytes 372877 accept
		ct state invalid counter packets 98 bytes 4508 drop
		iifname "lo" counter packets 0 bytes 0 accept
		icmp type echo-request meta length 93-65535 counter packets 5 bytes 1740 drop
		ip protocol icmp counter packets 279 bytes 16286 accept
		ip saddr { 172.25.1.0/24, 172.25.76.240/28 } tcp dport 22 counter packets 0 bytes 0 accept
	}

 , ,

Dodik
()

Расскажите про VPN-туннель перед OSPF

Форум — Admin

Есть 2 точки с белыми IP. Между ними IPIP и далее динамическая маршрутизация. Сеть внутри туннеля с 32-ым битом маски. То есть (для примера) на одном конце 192.168.0.1/32, на другом 192.168.0.0/32. В такой реализации, отсутствие broadcast’а, исключает возможность широковещательного шторма.

Появилась необходимость добавить ещё один узел в действующую инфраструктуру и естественно все локальные сети, средствами OSPF, должны будут обмениваться трафиком.

А теперь, уважаемые знатоки, внимание вопрос: - «Я так понимаю, что для организации туннеля необходимо перебить сеть (например) на 29-ый бит и соединять уже не ptp, а broadcast или всё-таки как-то можно добавить ещё один (например) 192.168.0.2/32 узел?»

Для примера на одном из узлов вот так выглядят конфиги

cat /etc/systemd/network/ipip-msk.netdev

[NetDev]
Name=ipip-msk
Kind=ipip

[Tunnel]
Remote=1.2.3.4
Local=4.3.2.1
TTL=64
cat /etc/systemd/network/ipip-msk.network

[Match]
Name=ipip-msk

[Network]
Address=192.168.0.1/32

 , , ,

Dodik
()

nftables. web-сервер внутри

Форум — Admin

172.16.1.0/24 - локальная сеть
172.16.1.100 - web-server

Добавляю правило

nft add rule ip nat PREROUTING tcp dport { http, https } dnat to 172.16.1.100

При попытке открыть любую страницу, весь трафик уходит на веб-сервер внутри сети.

Как сделать правильно?

P.S> Полагаю, что необходимо применить технологию Hairpin, но не совсем понимаю как.

 , ,

Dodik
()

BIND. Обратная зона

Форум — Admin

Хочу усложнить смоделированную сетевую инфраструктуру, а именно DNS-сервер BIND.

Есть сеть 172.25.1.0/24
Добавим ей vlan-тег 11
Добавим ещё сеть 172.25.2.0/24 и аналогично накинем ей тег 12
Опущу настройки systemd-networkd
DNS-зоны будут следующие:
Прямая /var/lib/bind/forward.zone

…
resource1	IN	A	172.25.1.50
resource2	IN	A	172.25.2.50
…

Обратная /var/lib/bind/reverse.zone

…
50	IN	PTR	resource1
50	IN	PTR	resource2
…

правильно я понимаю, что обратная зона смотрит в прямую и от этого уже понимает в какой vlan отдавать ресурс1, а в какой ресурс2?

А что делать с named.conf.local? Там прописана обратная зона так

zone "1.25.172.in-addr.arpa" {
	type master;
	file "/var/lib/bind/reverse.zone";
};

Надо ещё одну обратную прописывать для влана 12?

 , ,

Dodik
()

Расскажите про опции монтирования устройств

Форум — Admin

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

[86904.649838] EXT4-fs (dm-1): re-mounted c65de52f-87e1-4cec-ba8f-bdc801059a91 ro.

Содержание fstab

UUID=2568-AAE8					/boot	vfat	noatime				0 2
UUID=c65de52f-87e1-4cec-ba8f-bdc801059a91	/	ext4	rw,relatime,data=ordered	0 1

Грепаю dmesg на предмет интересующего UUID и смущает параметр ro

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.12.41-gentoo-dist root=/dev/mapper/vg-lv ro ipv6.disable=1 rd.luks.uuid=7fe1c181-07cb-471a-ba80-c52baad20e50 rd.lvm.vg.uuid=c65de52f-87e1-4cec-ba8f-bdc801059a91 dolvm quiet
[    0.065480] Kernel command line: BOOT_IMAGE=/vmlinuz-6.12.41-gentoo-dist root=/dev/mapper/vg-lv ro ipv6.disable=1 rd.luks.uuid=7fe1c181-07cb-471a-ba80-c52baad20e50 rd.lvm.vg.uuid=c65de52f-87e1-4cec-ba8f-bdc801059a91 dolvm quiet
[   29.647492] EXT4-fs (dm-1): mounted filesystem c65de52f-87e1-4cec-ba8f-bdc801059a91 ro with ordered data mode. Quota mode: none.
[   34.191143] EXT4-fs (dm-1): re-mounted c65de52f-87e1-4cec-ba8f-bdc801059a91 r/w.
[   34.227729] EXT4-fs (dm-1): re-mounted c65de52f-87e1-4cec-ba8f-bdc801059a91.

В параметрах загрузки grub.cfg я ro не указывал.

GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.luks.uuid=7fe1c181-07cb-471a-ba80-c52baad20e50 rd.lvm.vg.uuid=c65de52f-87e1-4cec-ba8f-bdc801059a91 dolvm quiet"

Откуда он берётся и почему не завершает работу правильно?

 , ,

Dodik
()

Расскажите про назначение прав на папки файлового сервера в домене.

Форум — Admin

Дано:
dc1 на samba
RSAT на windows для управления доменом ибо админить его в консоли зашкварно
Отдельно стоящий файловый сервер на samba с интеграцией в домен

На файловом сервере смотрим группы

wbinfo -g
---
domain users
domain admins
chief
---

Нас интересует группа chief, в которую входит руководство.
Создаю папку на ФС, даю владельцу всё, группе - чтение+исполнение, остальным ничего и меняю овнера

mkdir /filestorage/chief  
chmod 750 /filestorage/chief  
chown "chief":"domain admins" /filestorage/chief

В файле /etc/samba/smb.conf добавляю блок под папку

[Chief]
comment = Для руководства!
path = /filestorage/Chief
public = yes
writable = yes
read only = no
guest ok = no
inherit acls = yes
inherit owner = yes
inherit permissions = yes
valid groups = "@ИМЯ_ДОМЕНА\Chief" "@ИМЯ_ДОМЕНА\Domain Admins"

С винды захожу под администратором домена, который входит в группу domain admins, который должен мне показать содержимое папки, но проводник в культурной форме мне говорит что у меня нет прав на просмотр.

ЧЯДНТ?

 , ,

Dodik
()

Интернет в частный дом

Форум — General

Не так давно приобрёл недвижимость в частном секторе, куда ни один провайдер не желает вести линию. Сотовая связь там есть. До ближайшей вышки, исходя из данных сервиса cellmapper, метров 150.

Местные кулибины предлагают за 35к - 40к безлимитный интернет «под ключ», но хотелось бы организовать всё самому.

Может есть у кого кейсы, либо ссылка на how to как всё это замутить? Финдебоберных модемов, с вай-фай антеннами, количеством лап как у паука не надо! Надо только приёмник сигнала, который будет передавать его (скорее всего) в такой микрот, а дальше я уже сам. Дело в том, что с таким я не сталкивался никогда от слова совсем, в связи с чем приполз сюда на полусогнутых за советом.

P.S> Где-то тут на форуме есть деревенский житель. Встречал его ранее. На аве у него дом заснеженный =) Отзовись. Посоветуй чё-нить пжлста.

 , , ,

Dodik
()

Скрипт по крону не выгружает БД из контейнера

Форум — Admin
#!/bin/sh

cd /home/<user>
docker exec -it websrv-db-1 mariadb-dump -uroot --password=<password> db > db.sql

cd /home/<user>/docker/websrv/usr/share/nginx/html
tar -cf files.tar --exclude=*.tar *

mv files.tar /home/<user>
cd /home/<user>

DATA=`date +"%Y-%m-%d_%H-%M-%S"`
tar -czf $DATA-website.tar.gz db.sql files.tar

rm db.sql files.tar

crontab -l (от пользователя)

39 5 * * * bash /home/<user>/backup.sh

Если скрипт отрабатывает по крону, то БД выгружается без данных (размер 0)

-rw-r--r-- user/user          0 2025-06-08 05:39 db.sql
-rw-r--r-- user/user	1402880 2025-06-08 05:39 files.tar

Еже-ли скрипт запустить ручками, то с базулей в архиве всё ок

-rw-r--r-- user/user	  63503 2025-06-08 06:28 db.sql
-rw-r--r-- user/user	1402880 2025-06-08 06:28 files.tar

WTF…?!?

 ,

Dodik
()

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