[Linux] Tracing: bcc-tools, bpftrace

BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above.

bpftrace is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x)

[FreeBSD] Альтернативний TCP-стек на прикладі RACK

Дана стаття є вільним перекладом цієї .

Якщо вас якимось чином не влаштовує стандартний стек TCP, то, починаючи з 13.0, можна використовувати свій власний. В даній статті ми розглянемо RACK-TLP TCP стек. Основна суть якого, в передачі timestamps, і при втраті пакету за рахунок цього швидше відновлюється передача даних. Тобто, даний стек буде біль ефективним в мережах з частими обривами звʼязку. У стабільних мережах, його немає сенсу застосовувати.

Читати далі

[FreeBSD] Install from Linux

1) Install Linux (Debian)
2) Install grub-iso
3) upload liveCD mfsBSD.iso
4) set network settings via kFreeBSD.mfsbsd.ifconfig in /boot/grub/grub.cfg
menuentry "$file1" {
set isofile=/boot/images/$file1
loopback loop (hd0,1)\$isofile
kfreebsd (loop)/boot/kernel/kernel.gz -v
kfreebsd_module (loop)/boot/kernel/ahci.ko
kfreebsd_module (loop)/mfsroot.gz type=mfs_root
set kFreeBSD.vfs.root.mountfrom="ufs:/dev/md0"
set kFreeBSD.mfsbsd.hostname="$hostname"
set kFreeBSD.mfsbsd.mac_interfaces="ext1"
set kFreeBSD.mfsbsd.ifconfig_ext1_mac="${iface_mac}"
set kFreeBSD.mfsbsd.ifconfig_ext1="inet $ip/${ip_mask_short}"
set kFreeBSD.mfsbsd.defaultrouter="${ip_default}"
set kFreeBSD.mfsbsd.nameservers="8.8.8.8 1.1.1.1"
set kFreeBSD.mfsbsd.ifconfig_lo0="DHCP"
...
}
5) Reboot

Даний мануал не мій, знайшов в мережі інтернет.

[exim] postfixadmin: використовуємо квоти для цілого домену.

Одразу скажу, що нормального вирішення саме по квотам для цілого домену я не знайшов, тому зробив декілька workaround’ів. Я використовую звʼязку exim (+dovecot delivery) + dovecot + postfixadmin.

postfixadmin

Тут все достатньо просто. Вмикаємо підтримку квот в конфігу:

$CONF['quota'] = 'YES';
$CONF['domain_quota'] = 'YES';

Читати далі

Деякі хитрі методи видалення/очистки файлів

Тут будуть описані деякі методи, які краще використовувати у HighLoad, замість класичних, оскільки вони менше навантажують ПЗ.

  • truncate

Дозволяє обрізати файл до розміру, який вказано, наприклад, до 5Gb (зараз файл займає, наприклад, 10Gb):

$ truncate -s 5G file

Зауваження.

Чим цей метод краще, ніж, echo > file. Тим, що echo це робить дуже агресивно і дуже навантажує диски, а також блокує файловий дескриптор. truncate можна виконувати, наприклад, поєтапно, за 1 раз “обрізаючи” по 1Gb, або менше.

Читати далі

udp load balancer

Не так багато існує варіантів, щоб реалізувати тему, тому запишу сюди:

[Solaris] Зламаний openssl зламав систему.

Якщо ви невдало поесперементували з mediator’ом openssl і отримали щось, на зразок такого:

root@old:~# bootadm list-menu
Traceback (most recent call last):
  File "/usr/lib/python3.7/vendor-packages/bootadm-helper.py", line 29, in 
    from bemgmt import BEManager
  File "/usr/lib/python3.7/vendor-packages/bemgmt/__init__.py", line 45, in 
    from bemgmt.be import USERPROP_ZONE_PARENTBE, ALLOWED_POLICIES, \
  File "/usr/lib/python3.7/vendor-packages/bemgmt/be.py", line 22, in 
    from bemgmt.utils import get_be_pool_and_name, get_mountpoint_from_vfstab, \
  File "/usr/lib/python3.7/vendor-packages/bemgmt/utils.py", line 20, in 
    from bemgmt.zfs_rad import ZfsRad
  File "/usr/lib/python3.7/vendor-packages/bemgmt/zfs_rad.py", line 17, in 
    import rad.connect as radcon
  File "/usr/lib/python3.7/vendor-packages/rad/connect.py", line 21, in 
    import ssl
  File "/usr/lib/python3.7/ssl.py", line 98, in 
    import _ssl             # if we can't import it, let the error propagate
ImportError: ld.so.1: bootadm: relocation error: file /usr/lib/python3.7/lib-dynload/_ssl.cpython-37m.so: symbol GENERAL_NAME_free: referenced symbol not found
bootadm: Unable to load python helper module

Читати далі

[Windows] RDP: різні трюки та покращення

Multi-сессійний

Для цього використаємо RDPwrap , а саме виконаємо таку команду:

>RDPWInst.exe ‐i ‐s

Працює, починаючи з Vista.

tunnel TCP traffic over an RDP Virtual Channel.

Для цього можна використати rdp-tunnel

Повільний RDP, коли заборонений інтернет

Зіштовхнувся з проблемою, коли клієнти підключаються до віддаленного RDP з дуже великою затримкою (може тривати до 40-50 секунд). При чому, проявляється лише у тих клієнтів, які не мають доступу до інтернету. Відключення телеметрій, спроби виявити службовий трафік на шлюзу не привели до успіху. Проблема, як виявилося, у автоматичному оновленні корневих сертифікатів. При відсутності доступ до інтернету воно все гальмує. Відключимо це (робимо через групові політики) на клієнті:

Computer Configuration ---> Policies ---> Administrative Templates ---> System ---> Internet Communication Settings ---> "Turn off Automatic Root Certificates Update"

і виставляємо в Enabled. Якщо не запрацювало одразу, треба перевантажити клієнт.

[OpenLDAP] Особенности и нюансы

В статье будут описаны нюансы в работе, возможно некоторые очевидны, но все это понимают.

OS

По сути один и тот же openldap, но в разных ОС с одними и теми же ключами может работать или не работать. Вот пример:

Читати далі