ZFS, це як FreeBSD, з базовими налаштуваннями її мало хто використовує. І є люди, які незаслужено її звинувачують у тому, що вона повільна. Так, в default конфігурація вона не швидка (в першу чергу створювалася не для швидкості, а для стабільності). Почнемо з простих і далі будемо рухатися до більш складних:
Архіви категорій: Misc, staff, other
[Linux] Grub features error
Всі помилки в даній статті зʼявляються, якщо раніше розділ оброблявся через e2fsck/tune2fs новою версією (до 1.46 включно), а потім диск використовується на старому grub. Це відомий bug. Отже, у кожної ФС є так звані features, які час від часу додаються і на старих версіях grub можуть працювати некоректно чи бути відсутні.
[Solaris] setgid privilege
Зіштовхнувся нещодавно з тим, що у Solaris немає ‘proc_setgid’ privilege, який, наприклад, вимагає powerdns при старті, якщо запускати не від root’a. Помилка наступна:
pdns_server[401190]: missing privilege "proc_setid" (euid = 0, syscall = "setgid") at setgid+0xcf
Каже, що немає proc_setid, але воно є, а далі вже йде уточнення, що треба не setid, а саме setgid, але у Solaris цього немає. Чому? Не знають навіть у Solaris community. Workaround – стартувати сервіс від root’a.
UPD. Згідно man то типу повинно використовувати syscall від set_uid, але не хоче.
Outlook: проблеми з підключенням через SSL/TLS
Після оновлення MS від жовтня 2022 Outlook частково перестав працювати через SSL/TLS. Проблема в тому, що Outlook перестав приймати session ticket. Нижче є тимчасовий workaround для цього.
exim
Додаємо в exim.conf:
openssl_options = +no_ticket
postfix
Додаємо в master.cf:
submission inet n - n - - smtpd ... -o tls_ssl_options=NO_TICKET .... smtps inet n - n - - smtpd .... -o tls_ssl_options=NO_TICKET ...
Radius + LDAP
Виникло завдання зробити зовнішлю авторизацію через LDAP для сервіса, який її не підтримував, зате підтримував авторизацію через Radius. А у radius’a виявився модуль LDAP.
Тестовий стенд: Debian Linux 11.6 + Freeradius.
Нам знадобляться пакети freeradius-ldap, freeradius-utils (для локального тесту через утиліту radtest).
[ZFS] ashift
Якщо коротко, то ashift = степінь 2-ки результат якого дорівнює block size. Для нових дисків block size = 4K, тому, ashift = 12 (бо 2^12=4096). Для старих дисків все ще використовується ashift = 9. Чим більше ashift тим буде продуктивніше працювати пул, бо за 1 раз буде більше зчитуватися даних. Але є і інша сторона – зайняте місце. Справа в тому, що якщо у вас багато маленьких файлів, по декілька КБ, то при виборі більшого ashift’y буде більше зайнятого місця. В середньому (якщо порівнювати з ashift=9) це буде в 3 рази більше зайнятого місця. Тому, при виборі ashift треба бути уважним. Головний нюанс в тому, що ashift можна змінити лише при створенні zfs pool.
[NAT] Log sessions
В данній статті розглянемо, як можна логувати сесії NAT в різних файерволах.
iptables
Тут є декілька варіантів, почнемо з найнадійнішого:
conntrack -E --event-mask NEW --any-nat >> /var/log/nat_log
Є ще класичний варіант
iptables -t nat -I PREROUTING 1 -j LOG
iptables -t nat -I POSTROUTING 1 -j LOG
iptables -t nat -I OUTPUT 1 -j LOG
але, як пишуть у мережі, частина пакетів може не попадати в лог, якщо використовувати маркування або додаткову обробку.
pf
Є застарілий проект , який працює виключно на BSD-системах (на Solaris – ні)
ipfw
Тут мені не вдалося нічого знайти.
[jira] Slack alerts
Зʼявилася задача повідомляти про ticket’и jira у slack. На вигляд завдання просте, але є нюанси. google каже, що треба створити новий app у slack’y, згенерувати webhook URL, створити новий webhook у jira вставити його туди.
І… воно не працює. Точніше, якщо тестово відправлєш через curl, то все приходить у slack, а якщо через jira – то отримуєш 400 помилку. Щоб дізнатися, що саме не так, треба ввімкнути debug для webhook’ів у jira. Робиться це так:
[Для початківців] Розслідування однієї помилки SPF
Нещодавно до мене звернувся один користувач з проблемою SPF. Його поштовий сервер видава помилку на прийом пошти від одного домену baddomain.com:
Not authorized by SPF
При цьому, клієнт каже, що якщо перевірити цей baddomain.com на https://mxtoolbox.com, то там немає жодної помилки.
outrun: execute a local command using the processing power of another Linux machine
Знайшов нещодавно досить цікавий проект, який дозволяє використовувати потужності віддаленого сервера, не встановлюючи при цьому ПЗ (програмного забезпечення) на ньому.
Припустимо, у вас є якесь ПЗ, але вам не вистачає потужності поточного серверу, але є інший сервер. При цьому, на іншому потужнішому сервері зовсім не треба ставити це ПЗ, достатньо поставити лише outrun:
pip3 install outrun
Які обмеження при використанні:
- Linux only (насправді, можна ще і BSD, але можуть бути нюанси)
- підтримка fuse (ось із-за цього і обмеження Linux/BSD)
- ssh root access (так, бо після запуску на віддаленій машині виконується chroot)
Домашня сторінка