Микротик — Туннель IPsec не пропускает трафик

Имеется проблема при настройке IPsec туннеля на маршрутизаторе Mikrotik: туннель поднимается, пакеты из удаленной сети приходят и даже возвращаются ICMP ответы, однако, из сети со стороны Микротика, пакеты предназначенные в удалённую сеть, в туннель не перенаправляются.
Для начала следует понять пропускает ли Микротик вообще эти пакеты, и если да, то куда перенаправляет. Если их не блокирует фаервол, то скорее всего они уходят в интернет, через шлюз по умолчанию. Проверить это можно встроенной программой сниффера: ToolsPacket Sniffer.
Если пакеты уходят в интернет, то скорее всего обрабатываются правилом по умолчанию (маскарада). Соответственно, нужно перед ним добавить правило, исключающее обработку пакетов, предназначенных для IPsec туннеля:

  • переходим во вкладку IPFirewallNAT;
  • добавляем правило Chain: srcnat;
  • указываем Src. Address сети за Микротиком и Dst. Address удаленной сети;
  • указываем Action: Accept и нажимаем кнопку Ok;
  • перетягиваем созданное правило на самый верх, чтобы оно было с номером 0.

https://superuserdo.info/?p=928

bxSiteFiles::bx_dbconn: Cannot open dbconn.php

Не выполняется создание резервной копии по расписанию. При попытке запустить сценарий bx_backup.sh вручную отображается ошибка:

bxSiteFiles::bx_dbconn: Cannot open /home/bitrix/site.ru/bitrix/php_interface/dbconn.php: Permission denied at /opt/webdir/lib/bxSiteFiles.pm line 273

Данный сайт был создан через меню управления окружением, запущенным от имени root. Поэтому владельцем директории с ядром Битрикса стал root. Исправить это можно сменив владельца директории на bitrix командой:

chown -R bitrix:bitrix /home/bitrix/site.ru

Запрет протокола UDP в RDP сессиях

При плохом качестве связи или неправильных настройках MTU, использование протокола UDP для RDP-подключения может вызывать проблемы: периодическое замирание картинки, обрывы RDP сессий, пользователи видят черных экран вместо удаленного рабочего стола, сообщение о внутренней ошибке при RDP подключении и т.п.

Проверить, используется ли UDP протокол, можно во время подключения к удалённому рабочему столу, нажав на пиктограмму качества соединения:
UDP включен

На стороне сервера запрет использования протокола UDP для RDP-подключений настраивается так:

  1. открываем редактор групповой политики: нажимаем клавиши Windows + R → вводим gpedit.msc → нажимаем кнопку Ok;
  2. в редакторе групповой политики переходим в раздел Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовПодключения;
  3. открываем свойства политики Выбор транспортных протоколов RDP дважды нажав ЛКМ;
  4. устанавливаем переключатель на Включено;
  5. в выпадающем меню выбираем тип транспорта Использовать только TCP и нажимаем кнопку Ok;
  6. перезагружаем сервер.

На стороне клиента запрет использования протокола UDP для RDP-подключений настраивается так:

  1. открываем редактор групповой политики: нажимаем клавиши Windows + R → вводим gpedit.msc → нажимаем кнопку Ok;
  2. в редакторе групповой политики переходим в раздел Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы удаленных рабочих столовУзел сеансов удаленных рабочих столовКлиент подключения к удаленному рабочему столу;
  3. открываем свойства политики Отключение UDP на клиенте дважды нажав ЛКМ;
  4. устанавливаем переключатель на Включено и нажимаем кнопку Ok;
  5. перезагружаем компьютер.

В ОС Windows версии Home, редактор групповых политик отсутствует. Вместо его использования, можно изменить значение ключа реестра посредством командной строки.
Для этого в строку поиска на панели задач вбиваем cmd → нажимаем ПКМ на результате поиска и выбираем Запустить от имени администратора → в открывшееся окно копируем команду:

reg add «HKLM\software\policies\microsoft\windows nt\Terminal Services\Client» /v fClientDisableUDP /d 1 /t REG_DWORD

и нажимаем Enter. После этого компьютер перезагружать не требуется.

https://superuserdo.info/?p=910

PHP-FPM: как узнать, какие строки кода долго выполняются

PHP-FPM поддерживает опцию журналирования медленных участков кода. Для её включения, необходимо в конфигурационный файл воркера добавить строки:

slowlog = /var/log/php-fpm/www-slow.log
request_slowlog_timeout = 5s

где slowlog — принимает путь, до файла для ведения журнала;
request_slowlog_timeout — задаёт максимальное время исполнения команды интерпретатора, при превышении которого она будет добавлена в журнал.

Bash: сценарий удаления таблиц MySQL

Код сценария для удаления всех таблиц базы данных MySQL без удаления самой базы:

#!/bin/bash
MUSER="$1"
MPASS="$2"
MDB="$3"
 
# Detect paths
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
 
if [ $# -ne 3 ]
then
	echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}"
	echo "Drops all tables from a MySQL"
	exit 1
fi
 
TABLES=$($MYSQL -u $MUSER -p$MPASS $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
 
for t in $TABLES
do
	echo "Deleting $t table from $MDB database..."
	$MYSQL -u $MUSER -p$MPASS $MDB -e "drop table $t"
done

Пример использования:

$ ./drop_tables.sh user_name password database_name

Hyper-V — нет пункта «удалить контрольную точку»

В Hyper-V Manager не удаётся удалить контрольную точку, так как в выпадающем меню ПКМ нет соответствующего пункта.
Такое иногда случается после сбоя резервного копирования DPM или Veeam: нельзя удалить сломанные контрольные точки восстановления для виртуальной машины, созданной Hyper-V.
Решить проблему можно тремя способами.
Первый вариант:

  1. проверить наличие контрольной точки командой PowerShell:
  2. Get-VMSnapshot -VMName "virtual machine name"

  3. в случае если место на диске нет и машина в приостановленном состоянии — выключить ее;
  4. удалить контрольные точки командой PowerShell:
  5. Get-VMSnapshot -VMName "virtual machine name" | Remove-VMSnapshot

Второй вариант:

  1. создать новую контрольную точку;
  2. выбрать её и экспортировать (это создаст копию VHD диска в одном файле);
  3. удалить старую виртуальную машину, после чего импортировать копию.

Второй вариант:

  1. в Hyper-V Manager используя функцию Изменить диск, выбрать наиболее свежий AVHDX файл с последней контрольной точкой;
  2. выбрать действие Объединить;
  3. выбрать пункт К родительскому жесткому диску.

https://superuserdo.info/?p=885

BitrixVM — не работает почта

В журнале msmtp_site.ru.log присутствуют записи вида:
msmtp: cannot connect to 127.0.0.1, port 25: Connection refused
msmtp: could not send mail (account default from /etc/msmtprc)

Скорее всего в этом случает не установлен почтовый агент (MTA), проверить это можно командой:

echo -e «test message» | /usr/bin/msmtp —debug -t -i admin@mail.ru

Для решения проблемы, его необходимо установить командами:

yum install sendmail
systemctl start sendmail.service

После чего добавить в автозагрузку:

systemctl enable sendmail.service

Proxmox и ZFS — значительное потребление памяти

При использовании ProxmoxVE с ZFS, при работе виртуальных машин, память на хосте постепенно расходуется до полного исчерпания, результатом чего может стать выключение виртуальных машин:

kernel: [1123659.062155] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/qemu.slice/104.scope,task=kvm,pid=1045923,uid=0
kernel: [1123659.062203] Out of memory: Killed process 1045923 (kvm) total-vm:10639204kB, anon-rss:8332420kB, file-rss:2320kB, shmem-rss:4kB, UID:0 pgtables:17172kB oom_score_adj:0
kernel: [1123660.010306] oom_reaper: reaped process 1045923 (kvm), now anon-rss:0kB, file-rss:68kB, shmem-rss:4kB
systemd1: 104.scope: A process of this unit has been killed by the OOM killer.

Следует понимать, что ZFS требовательна к памяти сервера и по умолчанию использует 50% установленной памяти для ARC (Adaptive Replacement Cache). Текущие минимальные и максимальные пределы можно посмотреть командой:

cat /proc/spl/kstat/zfs/arcstats

где c_min и c_max являются таковыми.

Изменить используемые в настоящее время лимиты можно, установив значения в байтах в файлах /sys/module/zfs/parameters/zfs_arc_min и /sys/module/zfs/parameters/zfs_arc_max соответственно, например командой:

echo «$[10 * 1024*1024*1024]» >/sys/module/zfs/parameters/zfs_arc_max

где 10 — максимальный предел выделяемой памяти в ГБ.

Чтобы изменить максимальный предел ARC навсегда, необходимо добавить в файл /etc/modprobe.d/zfs.conf опцию:

options zfs zfs_arc_max=8589934592

где 8589934592 — устанавливаемый предел в 8 ГБ ОЗУ.

Если корневая файловая система также на ZFS, то после изменения лимитов, необходимо обновить образ initramfs:

update-initramfs -u

После чего требуется перезагрузить сервер.

Proxmox: no device with valid iso found

При попытке установки ProxmoxVE с USB-флэшки, отображается ошибка: no device with valid iso found, please check your intallation medium.
Проблему решает запись флэшки программой Rufus в режиме DD-образа.

1С: Ошибка при выполнении запроса POST к ресурсу /e1cib/login

При попытке открытия файловой базы 1С, отображается сообщение: «Ошибка при выполнении запроса POST к ресурсу /e1cib/login по причине Ошибка открытия файла блокировки».
Скорее всего причина заключается в отсутствии прав на чтение и запись файлов БД у пользователя, от имени которого запускается 1С.