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

[FreeBSD] Підміняємо драйвер

Інколи буває, що стандартний драйвер працює не так, як потрібно, або підтягується старий драйвер. Отже, план такий: вивантажити старий драйвер, завантажити новий і назначити пристрою відповідний драйвер:

# kldunload if_iwm
# kldload if_iwlwifi
# pciconf -l | grep iwm
iwm0@pci0:3:0:0:        class=0x028000 rev=0x78 hdr=0x00 vendor=0x8086 device=0x24fd subvendor=0x8086 subdevice=0x0010
# devctl detach pci0:3:0:0
# devctl set driver -f pci0:3:0:0 iwlwifi

Як тепер це зробити persistent across reboot? В першу чергу забороняємо завантаження старого драйверу і включаємо примусово новий (додаємо в /boot/loader.conf):

devmatch_blocklist="if_iwm"
if_iwlwifi_load="YES"

Якщо драйвер автоматично не підхоплюється, додаємо правило devd (додаємо таке в /usr/local/etc/devd/iwlwifi.conf):

attach 100 {
    device-name "iwm0";
    action "devctl set driver -f iwm0 iwlwifi";
};

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

[exim] Пропускаємо перевірку spam

exim дуже тісно повʼязаний з spamassassin і, якщо так трапляється, що падає останній, то і exim переводить всі листи в статус deffered. Щоб такого не було, треба додати такий ACL в секцію acl_check_data:

warn    spam = spamd:true/defer_ok
        hosts = !+relay_from_hosts
        add_header =    X-Spam_score: $spam_score \n\
                        X-Spam_score_int: $spam_score_int \n\
                        X-Spam_report: $spam_report
Категорії
Linux Misc, staff, other Routers, GW, Internet

[pritunl] Включаємо додатковий захист

Якщо хтось не знає, що таке pritunl, то це openvpn на стероїдах. Він досить зручний для нових користувачів: достатньо просто залогінитися і одразу формується тобі готовий конфіг, який можна додати хоч на телефон, хоч на компʼютер. Але мінуси теж досить значні: працює лише на Linux, бо має жорсткі залежності від команди ip для керування мережевим стеком.

По замовчуванню, єдиний захист – це просто форма login/pass без обмежень в RPS чи капчі, чи чогось іншого. Як результат можливість підбору login/pass без обмежень. Виправимо це.

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

[salt stack] Деякі нюанси при роботі

Нижче будуть описуватися неочевидні нюанси при роботі з системою salt stack. Стаття буде доповнюватися по мірі накопичення таких знань.

  • Недокументований параметр –preview-target

Даний параметр використовується для того, щоб зрозуміти, які target’и будуть опрацьовані при конкретному критерії. Приклад

# salt -C 'G@roles:VPN' --preview-target test.ping
- srv2
- srv54
Категорії
Mail systems Misc, staff, other

[exim] Порожній return_path і проблеми

При default налаштуваннях в exim маємо

Return-path: <>

і через це, маємо наступні проблеми:

  • не завжди проходить перевірка SPF
  • не коректно працюють автовідповідачі: або bounce або порожній відправник.

Рішення просте: прописати явно return_path в транспорті remote_smtp:

remote_smtp: 
    return_path = ${local_part}@${domain} 
Категорії
Misc, staff, other Solaris

[Solaris] pkg.sysrepo socket.timeout: timed out

Ось повний текст помилки

[ 2023 Mar 22 01:00:54 Executing refresh method ("/lib/svc/method/svc-pkg-sysrepo refresh"). ]
Traceback (most recent call last):
  File "/usr/lib/pkg.sysrepo", line 978, in handle_errors
    __ret = func(*args, **kwargs)
  File "/usr/lib/pkg.sysrepo", line 958, in main_func
    http_proxy=http_proxy, https_proxy=https_proxy)
  File "/usr/lib/pkg.sysrepo", line 861, in refresh_conf
    http_timeout, api_inst.root)
  File "/usr/lib/pkg.sysrepo", line 521, in _get_publisher_info
    http_timeout)
  File "/usr/lib/pkg.sysrepo", line 267, in _follow_redirects
    http_timeout)
  File "/usr/lib/python3.7/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/lib/python3.7/urllib/request.py", line 543, in _open
    '_open', req)
  File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.7/urllib/request.py", line 1378, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/usr/lib/python3.7/urllib/request.py", line 1353, in do_open
    r = h.getresponse()
  File "/usr/lib/python3.7/http/client.py", line 1373, in getresponse
    response.begin()
  File "/usr/lib/python3.7/http/client.py", line 319, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.7/http/client.py", line 280, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out
Категорії
Misc, staff, other WWW

Пересилання log із cloudflare у logstash

Як відомо, логи у CloudFlare (CF) дивитися дуже незручно. А от в kibana – зовсім інша річ. Наше завдання зробити пересилку log’ів у logstash. Дана стаття припускає, що у вас вже є налаштований ELK стек і розкаже, як додати в існуючий стек новий source, тобто CF. Стаття буде розбита на 2 частини: Logstash і CF

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

[Nginx] Змушуємо працювати openssl-3 з ключами 1024 біт

Проблема виглядає наступним чином: є зібраний nginx з openssl-3, але є старі клієнтські сертифікати з ключам 1024 біта і відповідно, стандартним чином воно не працює, бо для openssl-3 ключ повинен бути мінімум 2048 біт і маємо помилку:

"FAILED:CA certificate key too weak"

Рішення просте – CipherString = DEFAULT@SECLEVEL=0, але не хочеться ламати все інше на цьому хості, тому просто так вставити це в /etc/ssl/openssl.cnf не можна.

Виявляється, можна через ENV в nginx передавати OPENSSL_CONF, де вказати шлях до кастомного файлу openssl.cnf.

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

[Solaris] The kernel device tree was changing too frequently

Дана помилка зʼявилася після оновлення і наразі питання відкрите, як правильно її вирішити.

В даній статті буде показано спосіб, як “замʼютити” дану помилку, бо інакше кожну хвилину в лог буде писати

SUNW-MSG-ID: FMD-8000-GN, TYPE: Alert, VER: 1, SEVERITY: Major
EVENT-TIME: Wed Feb 7 10:09:39 UTC 2024
PLATFORM: SSG-5049P-E1CR45L, CSN: A313853X0400066, HOSTNAME: mailserver.domain.com
SOURCE: software-diagnosis, REV: 0.2
EVENT-ID: 185c1062-7deb-43c1-a5de-d02f0e95051e
DESC: The kernel device tree was changing too frequently for the fault management daemon to form a stable topology snapshot.
AUTO-RESPONSE: None.
IMPACT: This may temporarily affect the fault management daemon's ability to diagnose or repair faults in the part of the device tree that is unstable.
REC-ACTION: This alert should resolve itself automatically once the underlying kernel device tree has stabilized.
FRU-LOCATION:

Пробуємо обнулити і дивимося:

# fmstat | grep software-diagnosis
software-diagnosis          1193       0  0.0    0.9   0   0    10     0  66.6K    26K
# fmadm reset software-diagnosis
fmadm: software-diagnosis module has been reset
# fmstat | grep software-diagnosis
software-diagnosis             2       0  0.0    0.0   0   0     0     0    368      0

Якщо це не допомагає, тоді примусово вивантажуємо модуль software-diagnosis:

# fmadm unload software-diagnosis
Категорії
Misc, staff, other Solaris Virtualization

VBoxManage: warning: Interface “vboxnet0” doesn’t seem to exist

Дана помилка виникає на VirtualBox 7.2.X, причому на 7.0.Х все працює нормально. Отже, розберемося, чому так відбувається і як це виправити.

# VBoxManage modifyvm mincss-pdf --nic1 hostonly --hostonlyadapter1 vboxnet0
VBoxManage: warning: Interface "vboxnet0" doesn't seem to exist

# VBoxManage list hostonlyifs
#

А далі починається найцікавіше:

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