Категорії
FreeBSD Linux Misc, staff, other Solaris

[ZFS] Import broken pool

Маємо наступну ситуацію:

root@solaris:~# zpool import -f -N -F 9663859789121603598 sata_pool
cannot import 'rpool' as 'sata_pool': one or more devices is currently unavailable
root@solaris:~# zpool import -f -N -F -o readonly=on 9663859789121603598 sata_pool
cannot import 'rpool' as 'sata_pool': one or more devices is currently unavailable
root@solaris:~# zpool import
    pool: rpool
      id: 9663859789121603598
   state: UNAVAIL
  status: One or more devices are missing.  There are insufficient
        replicas for the pool to continue functioning.
  action: The pool cannot be imported. Connect the missing
        device(s) and try again.
     see: http://support.oracle.com/msg/ZFS-8000-6X
    scan: resilvered 33.2G in 9m23s with 0 errors on Fri Oct  3 10:17:14 2025
  config:
 
        NAME        STATE
        root        UNAVAIL
          mirror-0  DEGRADED
            c1t1d0  ONLINE
            c1t0d0  UNAVAIL

Категорії
FreeBSD Misc, staff, other

[FreeBSD] Швидко збираємо ядро

В даній статті розкажу про деякі методи швидкого збирання чи перезбирання ядра.

Типове збирання ядра виконується командою

$ make buildkernel

Ця команда не лише збирає ядро, а і ще перезбирає всі модулі, які входять у GENERIC (або у custom kernel, якщо вказана опція KERNCONF=MYKERNEL).

Категорії
Misc, staff, other Security Windows

Неочевидна проблема з SSL сертифікатом

Є сервер під windows і є центр сертифікації у них в організації і треба було просто перевипустити сертифікат для одного із сервісів. Нічого складного, але щось пішло не так і браузери постійно скаржилися на SSL-зʼєднання.
В першу чергу перевірив чи новий сертифікат підписаний саме тим CA, який у них:

openssl verify -verbose -CAfile ca_ad.crt newcrt.crt 

client

            X509v3 Authority Key Identifier: 
                5A:E5:8A:6D:B0:93:BF:58:8C:88:06:B4:28:99:05:13:4F:1A:B6:9F

ca
            X509v3 Subject Key Identifier: 
                5A:E5:8A:6D:B0:93:BF:58:8C:88:06:B4:28:99:05:13:4F:1A:B6:9F

Все збігається, йдемо далі. Перевіримо, що скаже curl, якщо йому примусово підсунути ще наш CA:

> curl.exe -I --cacert root-ca-chain.pem https://zabbix.domain.local
curl: (60) SSL: no alternative certificate subject name matches target hostname 'zabbix.domain.local'

І тут все стало на свої місця: домен був лише в Subject Common Name (CN) і не було в Subject Alternative Name (SAN) , а оскільки зараз майже ніхто не “дивиться” в CN, то маємо проблему. Доречі, саме це і збило з пантелику системного адміністратора, оскільки він бачив домен в CN, але не очікував, що треба, щоб домен був саме в SAN полі. Після правильної генерації сертифіката все запрацювало, як треба.

Тобто, резюмуючи, якщо генеруєте SSL-сертифікат то обовʼязково вказуйте все в SAN, навіть те, що ВЖЕ вказали в CN.

Категорії
Linux Mikrotik Misc, staff, other Routers, GW, Internet

TTL shift для файерволів

Це потрібно для того, що приховати наявність хопа/роутера від таких команд, як traceroute. Але, це доступно не у всіх файерволах, а тільки в деяких.

iptables

iptables -t mangle -А PREROUTING -i eth0 -J TTL --ttl-inc 1

mikrotik

[admin@MikroTik] /ip/firewall/mangle> add chain=prerouting action=change-ttl new-ttl=incrernent:1 passthrough=yes in-interface=\ log=no log-prefix=""
Категорії
Misc, staff, other

socket dump

Як же дивитися трафік, якщо зʼєднання йде через unix socket? Нижче ми розглянемо деякі методи вирішення цього питання.

socat

Тут ідея проста: дублюємо весь трафік на tcp socket і далі вже через tcpdump дивимося:

socat -v UNIX-LISTEN:/path/to/some.sock,fork TCP-CONNECT:127.0.0.1:8090

Категорії
FreeBSD Misc, staff, other

[FreeBSD] Перезапуск xhci

Якщо у вас відпав xhci і немає можливості перезавантажити сервер, то є 2 варіанти, як це зробити (не мої, знайшов у мережі інтернет)

Варіант 1

# grep xhci /var/run/dmesg.boot | grep pci
xhci0: <Intel Lynx Point USB 3.0 controller> mem 0xf7d00000-0xf7d0ffff irq 21 at device 20.0 on pci0
xhci0: <Intel Lynx Point USB 3.0 controller> mem 0xf7d00000-0xf7d0ffff irq 21 at device 20.0 on pci0
# devctl suspend pci0
# devctl reset pci0
# devctl resume pci0

Варіант 2

# pciconf -lv | grep -B 2 xhci
    class      = display
    subclass   = VGA
xhci0@pci0:0:20:0:      class=0x0c0330 rev=0x05 hdr=0x00 vendor=0x8086 device=0x8c31 subvendor=0x1043 subdevice=0x8534
# pciconf -f -r 0:20:0

Категорії
Mikrotik

[Mikrotik] OpenVPN + TLS

Нарешті! В mikrotik в OpenVPN можна використовувати TLS auth. Це можливо лише починаючи з версії 7.17rc3.

Щоб це спрацювало, треба імпортувати конфіг openvpn як один файл, всередині якого будуть і ключі і сертифікати. А також, є один нюанс, про який не пишуть в документації – треба в самому початку конфігу вказувати, що це client, інакше буде помилка:

Категорії
Misc, staff, other

Оновлюємо graphite

Я буду оновлювати звʼязку з версії 0.9.15 (python-2.7) на 1.1.10 (python-3.11). Нову версію буду піднімати у python venv, щоб потім було легше переносити.

Категорії
FreeBSD Hardware Linux Misc, staff, other Solaris

Підсвітити порт/слот при заміні диску

Якщо у вас сервер, який не дозволяє через iDRAC/IPMI підсвічували диски для заміни, то ця стаття буде вам корисна. Вашій увазі пропонується декілька варіантів утиліт під різні ОС.

Категорії
FreeBSD Misc, staff, other Solaris

[Dtrace] curpsinfo->pr_psargs

Для чого взагалі ця конструкція? А для того, щоб визначити аргументи з якими запускається програма. Це буває дуже корисно. Так от, є деякі нюанси та відмінності в роботі на різних ОС.

Ось простий приклад використання:

#!/usr/sbin/dtrace -s
#pragma D option quiet
proc:::exec-success
{
     printf("%s", curpsinfo->pr_psargs);
}

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP