Показаны сообщения с ярлыком tips. Показать все сообщения
Показаны сообщения с ярлыком tips. Показать все сообщения

Настраиваем NAT iptables

iptables -t nat -I POSTROUTING 1  -s 10.254.254.0/24 -o ens3 -j MASQUERADE

(только из 10.254.254.0/24)

iptables -t nat -I POSTROUTING 1 -o ens3 -j MASQUERADE

из любых сетей в мир через ens3

ntp сервера stratum 1 для рф сервера и европейского

server -4 ntp.ix.ru iburst
server -4 ntp4.vniiftri.ru iburst
server -4 ntp3.aas.ru iburst
server -4 ntp.kaluga.net iburst
server -4 ntp.zev.su iburst
server -4 ntp3.stratum1.ru iburst
server -4 atomic.zxlab.ru iburst
server -4 ntp.arity.ru iburst
server -4 rt.swl.su iburst
server -4 ntp0.nl.uu.net iburst
server -4 ntp2.fau.de iburst
server -4 ntp.nic.kz iburst


server -4 time.esa.int iburst
server -4 ntp5.leontp.com iburst
server -4 ntp.ripe.net iburst
server -4 ntp0.nl.uu.net iburst
server -4 ntp1.time.nl iburst
server -4 time.t3kkit.com iburst
server -4 ntp2.oma.be iburst 
server -4 ntp-p1.obspm.fr iburst
server -4 gbg1.ntp.se iburst
server -4 time2.stupi.se iburst
server -4 ntp2.fau.de iburst
server -4 ntp2.inrim.it iburst



Полезные ссылки:

Установка NTP сервера для включения его в pool.ntp.org https://habr.com/ru/post/536436/

Патченный java webstart чтобы не добавлять руками "небезопасные" сайты

 Патченный java webstart чтобы не добавлять руками якобы "небезопасные" сайты

$ cat /usr/bin/javaws

#!/bin/sh

cat "$1"|head -n3|grep -oE "htt.*([0-9]{1,3}[\.]){3}[0-9]{1,3}...." >> $HOME/.java/deployment/security/exception.sites


prog="$0"

while [ -h "$prog" ]; do prog=$(readlink -f $prog); done

[ $# -eq 0 ] && set -- -viewer

exec $(dirname $prog)/javaws.real "$@"


Тестируем скорость диска при помощи fio

Тест случайных операций на чтение/запись

При запуске такого теста, будет создан файл размером 4Gb. Затем утилита fio выполнит чтение/запись блока 4Kb (размер блока по-умолчанию) с разделением на 75/25% по количеству операций чтения и записи и замерит производительность, ключ iodepth при этом позволяет процессу получить приоритет над другими создав глубину очереди, после теста удаляем тестовый файл с диска

fio --ioengine=libaio --direct=1 --name=fiotest --filename=testfio --iodepth=32 --size=4G --rwmixread=75 --readwrite=randrw ; rm -f testfio

Тест линейных операций на чтение/запись будет отличаться одним ключем --readwrite

fio --ioengine=libaio --direct=1 --name=fiotest --filename=testfio --iodepth=32 --size=4G --rwmixread=75 --readwrite=rw ; rm -f testfio

При измерении скорости на NVMe дисках следует указывать параметр блока --bs=128k
Устройство AHCI ограничено одной очередью глубиной 32, в то время как NVMe поддерживает 64К (65536) очередей с глубиной 65536 каждая тем самым достигается высокая параллельность операции на NVMe устройствах. Это одна из причин, почем использовать утилиты на них dd и hdparm бесполезно и для измерения реальной скорости необходимо измерять скорость блоками 32k, 64k, 128k. Линейное и случайное чтение в норме должны быть почти одинаковыми. То же касается и записи данных.

Полезная ссылка: https://habr.com/ru/post/154235/

Удаляем старые версии snap пакетов

Как известно, в новых Ubuntu некоторый софт ставится из snap

Данное ПО автоматически обновляется и старые версии занимают место

# df -h
/dev/loop0       56M   56M     0 100% /snap/core18/2066
/dev/loop2      9.2M  9.2M     0 100% /snap/canonical-livepatch/98
/dev/loop1      100M  100M     0 100% /snap/core/10958
/dev/loop3      9.2M  9.2M     0 100% /snap/canonical-livepatch/99
/dev/loop4       99M   99M     0 100% /snap/core/11081
/dev/loop5       56M   56M     0 100% /snap/core18/1997

Как их удалить?

Получаем список с ключем --all

# snap list --all
Name                 Version    Rev    Tracking       Publisher   Notes
canonical-livepatch  9.6.1      98     latest/stable  canonical✓  disabled
canonical-livepatch  9.6.2      99     latest/stable  canonical✓  -
core                 16-2.49.2  10958  latest/stable  canonical✓  core,disabled
core                 16-2.50    11081  latest/stable  canonical✓  core
core18               20210309   1997   latest/stable  canonical✓  base,disabled
core18               20210507   2066   latest/stable  canonical✓  base

И удаляем snap пакеты которые помечены как disabled указывая ключ --revision=

# snap remove canonical-livepatch --revision=98
canonical-livepatch (revision 98) removed
# snap remove core --revision=10958
core (revision 10958) removed
# snap remove core18 --revision=1997
core18 (revision 1997) removed

Также настраивается политика хранения версий

# snap set system refresh.retain=1
# snap get system refresh.retain
1

Необходимо на системах с малым количеством места в /snap

https://forum.snapcraft.io/t/managing-updates/7022

The refresh.retain value can be a number between 2 and 20. The default is refresh.retain=3 on Ubuntu Core systems and refresh.retain=2 on classic Ubuntu systems, such as those running Ubuntu 18.04 LTS (Bionic Beaver) and Ubuntu 16.04 LTS (Xenial Xerus).

Отключить обновления

# snap set system refresh.metered=hold

Включить обновления

# snap set system refresh.metered=null

bitrix просит авторизацию на каждой странице - изменить путь к директории сайта

bitrix просит авторизацию на каждой странице - требуется изменить путь к директории сайта

update b_lang set DOC_ROOT="/var/www/bitrix/data/www/new" where DOC_ROOT="/var/www/old";


rm -rf bitrix/cache/*

rm -rf bitrix/managed_cache/*

Поднимаем свой DNS-over-TLS сервер на nginx proxy debian 9

# cat /etc/nginx/nginx.conf
load_module modules/ngx_stream_module.so;
worker_processes 1;
events {
}

stream {
    # DNS upstream pool
    upstream dns {
        server 127.0.0.1:53;
    }

    # DoT server for decryption
    server {
        listen 853 ssl;
        ssl_certificate /root/.acme.sh/dns.myserver.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/dns.myserver.com/dns.myserver.com.key;
        ssl_protocols TLSv1.2;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 1d;

        proxy_pass dns;
    }
}


На 127.0.0.1 запускаем всеми любимый pdns-recusor или unbound или все что угодно,
при использовании unbound в конфиг пишем access-control: 127.0.0.0/8 allow_snoop чтобы работал dig +trace (администраторам это важно)

# crontab -l
15 15 * * * /root/.acme.sh/acme.sh --issue -d dns.myserver.com --standalone --pre-hook "service nginx stop" --post-hook "service nginx start"  > /dev/null

На роутере следовательно используем ваш сервер DNS-over-TLS не завися от выкрутасов провайдера (подмена DNS) или google / cloudflare (у них также DNS есть с TLS на 8.8.8.8 и 1.1.1.1 на 853 порту

MySQL 5.7 : Сброс пароля root

mkdir /var/run/mysqld && chown mysql:mysql /var/run/mysqld

mysqld_safe --skip-grant-tables &

mysql> use mysql
mysql> update user set authentication_string=PASSWORD("passw0rd") where User='root';

FreeBSD : Linux : Перемонтировать файловую систему в rw

Перемонтировать файловую систему в r/w - на FreeBSD другой синтаксис

Linux:
mount -o remount,rw /

FreeBSD:
mount -o rw /
zfs set readonly=off zroot

VMmanager поиск образа диска по всем нодам

Поиск qemu-диска по всем нодам кластера

/usr/local/mgr5/sbin/mgrctl -m vmmgr vmhostnode | awk -F'=| ' {'print $6'} | grep -vE '10.7.22.1|10.7.22.7'| grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | xargs -i ssh -i /usr/local/mgr5/etc/ssh_id_rsa root@{} "hostname && find /vm/ -name '*vm6504904*'"

strace подключиться к процессам пользователя

Когда httpd выполняет много юзеров, а нужно подключиться к конкректному

USER=opencod
while true; do a=$(ps aux | grep httpd | grep $USER | awk '{print $2}' | head -n 1); echo "DEBUG pid is "$a; if [ -z $a ] ; then echo -e 'no pid now\n'; else echo "pid is "$a; strace -p $a; fi; sleep 1; done

ISPmanager : поменять статус обновления доменов на ведомых серверах имен (в DNSmanager)

Иногда бывает ситуация, что ISPmanager передает домены в DNSmanager, но при этом в Доменные имена рисует треугольник с ошибкой - Состояние Не синхронизировано
Убрать этот статус и выставить его как синхронизированно можно удалив файл в каталоге  /usr/local/mgr5/var/slavestatus/

# rm -rf  /usr/local/mgr5/var/slavestatus/*

bitrix циклический редирект на самого себя (отключить проактивную защиту)

Иногда после переноса сайта на bitrix на php-fpm (например, на шаблон Bitrix GT) возникает у сайта циклический редирект на самого себя

Лечится отключением проактивной защиты в базе так как не срабатывает список разрешенных доменных имен

MariaDB [bitrix0]> DELETE FROM b_module WHERE `ID`='security' ;
Query OK, 1 row affected (0.001 sec)


Был случай что данный метод не помог, сайт все равно выдавал forbidden, отключил как

# diff /home/bitrix/www/bitrix/modules/main/include.php.bak /home/bitrix/www/bitrix/modules/main/include.php
290,291c290,291
< foreach (GetModuleEvents("main", "OnPageStart", true) as $arEvent)
< ExecuteModuleEventEx($arEvent);
---
> //foreach (GetModuleEvents("main", "OnPageStart", true) as $arEvent)

> // ExecuteModuleEventEx($arEvent);

MySQL : ошибка репликации : Last_SQL_Errno: 1396

Настроено по документации ruhighload.com репликация mariadb 10.3
На исходном сервере запущено в docker, на slave - на localhost

https://ruhighload.com/%D0%9A%D0%B0%D0%BA+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+mysql+master-slave+%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8E%3F

Репликация у клиента остановилась с ошибкой:
Last_SQL_Errno: 1396
Last_SQL_Error: Error 'Operation ALTER USER failed for 'username'@'172.17.0.1'' on query. Default database: ''. Query: 'ALTER USER 'username'@'172.17.0.1' IDENTIFIED BY 'passwd''


Решение: прописать на slave в [mysqld]
slave-skip-errors = 1396

Причина: нет такого пользователя на slave, данный запрос вручную также не проходил
Пользователь репликации не может управлять пользователями БД

PHP geoip и browcap для альтернативной версии PHP 7.1 ISPmanager CentOS 7

yum groupinstall "Development Tools"
 

yum install GeoIP
yum install GeoIP-data
yum install GeoIP-devel

/opt/php71/bin/pecl install geoip-1.1.1
echo 'extension=geoip.so' > /opt/php71/etc/php.d/geoip.ini

mkdir /usr/local/browcap/
wget http://browscap.org/stream?q=PHP_BrowsCapINI -O /usr/local/browcap/php_browscap.ini

tail -3 /opt/php71/etc/php.ini
[browscap]
; http://php.net/browscap
browscap = /usr/local/browcap/php_browscap.ini

Именуем интерфейсы по-старому eth0 вместо ens3

Как известно, сейчас Linux дистрибутивы именуют интерфейсы по новому алгоритму. Если хочется старых добрых eth0 / eth1, то это меняется в параметрах ядра net.ifnames=0


# vi /etc/default/grub

GRUB_CMDLINE_LINUX="net.ifnames=0"

# update-grub2

Отключить патчи meltdown и spectre

# vi /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="fsck.repair=yes elevator=deadline"

GRUB_CMDLINE_LINUX="noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off mitigations=off"

# update-grub2

Linux kernel 5.2 и выше достаточно только указать mitigations=off и будет отключать и все остальные опции


См. также: https://make-linux-fast-again.com

yum удалить пакет только из базы не трогая файлы ключ --justdb

rpm -e --justdb --nodeps packagename

2 раза на неделе требовалось, сначала недобновленная CentOS 7 где задвоились пакеты, потом апгрейд очень старой версии гермошлема где pkg-httpd переименовывался и конфликтовал

P.S.
в dpkg правками /var/lib/dpkg/status

bitrix php-fpm ЧПУ rewrite в ISPmanager

if (!-e $request_filename) {
       rewrite  ^(.*)$  /bitrix/urlrewrite.php last;
    }

Настроить CPU в performance mode для хорошей производительности

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# yum install cpupowerutils kernel-tools
# systemctl enable --now cpupower
# cpupower frequency-set --governor performance



Да будут колоситься попугаи на битрикс

В убунте
apt install cpufrequtils
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do cpufreq-set -c $i -g performance; done
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
vi /etc/default/cpufrequtils
GOVERNOR="performance"