note

mysql: BIGINT UNSIGNED value is out of range in

Всё дело в режимах sql_mode
Проблема такая вылезла у меня на MariaDB

> show variables LIKE 'sql_mode';
+---------------+--------------------------------------------------------------------+
| Variable_name | Value                                                              |
+---------------+--------------------------------------------------------------------+
| sql_mode      | NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION                         |
+---------------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

FTP в активном режиме через NAT в Linux

Столкнулся с такой проблемой, что не работал у клиентов ftp в активном режиме.
Оказалось, что при прохождении пакетов от ftp-клиентов на инициализацию активного режима, в которых клиент сообщает свой ip-адрес и номер порта для ftp-сервера, NAT должен залезть туда и подменить адрес клиента на тот в который транслирует, в линухе за это отвечает отдельный модуль.
Проблема решилась после того как его подгрузил.

modprobe nf_nat_ftp

Фильтрация PADI на коммутаторах Huawei с помощью ACL

Для начала о предстоящей задаче.
Мне необходимо было зафильтровать все PADI пакеты на порту во всех VLAN-ах, кроме одного, в моем случае vid 113
Теперь по порядку.

1.Создаем сами ACL-ы. Их нам нужно будет 2 штуки один для блокировки PADI глобально, другой для пропуска PADI в 113 vlan-е

acl number 4001
 rule 5 permit l2-protocol 0x8863
acl number 4002
 rule 4 permit l2-protocol 0x8863 vlan-id 113

2. Создаем 2 классификатора и привязываем к ним наши ACL-ы

traffic classifier c_padi operator and
 if-match acl 4001

Облегчаем docker контейнеры

Иногда требуется сократить использование RAM, например на слабых хостингах, в тестовых средах или для локальной разработки.

Для сокращения использования памяти контейнерами mysql, mariadb можно добавить "--innodb-buffer-pool-size=64m" к запуску. Например для docker-compose:

  db:                                                                                             
    image: mariadb:10.1
    ...                                                                          
    command: --innodb-buffer-pool-size=64m

Сбросить пароль IPMI SUPERMICRO

Качаем тут утилиту IPMICFG

https://www.supermicro.com/SwDownload/SwSelect_Free.aspx?cat=IPMI

Там есть под разные операционки.
Закидываем например на линух

для удобства можно сделать симлинк типа

ln -s /<путь где лежит утилита>/IPMICFG-Linux.x86_64 /user/local/bin/ipmicfg

Узнаем текущие сетевые настройки

ipmicfg -m
ipmicfg -k
ipmicfg -g

Сбрасываем к заводским

ipmicfg -fd

Проверяем не сбросились ли текущие сетевые настройки, при необходимости устанавливаем их с теми же ключами что и смотрели

Заметка по GIT

1.В дире разработки смотрим статус, что было изменено

# git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
 
        modified:   navegacion_en_dispositivos.php
 
no changes added to commit (use "git add" and/or "git commit -a")

2.Коммитим с комментариями
# git commit -m 'added huawei3 in navegacion_en_dispositivos.php' -a

Формат файлов зон на bind9 slave

После того как поднял slave на свежем bind9 заметил, что файлы зон начали выглядеть в бинарном формате и не читаемы для глаз. Народ пишет, что это было сделано начиная с версии 9.9, для оптимизации скорости передачи данных с мастера на слейв.

Для того, чтобы вернуть всё к читабельному виду необходимо добавить опцию masterfile-format text; в настройки зоны на слейве

zone "lan" {
        type slave;
        file "/etc/bind/db.lan";
        masterfile-format text;
        masters {
          xx.xx.xx.xx;
        };
};

и перезапустить bind

dumping master file: /etc/bind/tmp-WshV8qdRaf: open: permission denied

dumping master file: /etc/bind/tmp-WshV8qdRaf: open: permission denied

Проблема возникла, когда я решил перенести slave на другую тачку на debian 10 и поставил новый bind.
Оказалось, что apparmor защищает от записи каталог /etc/bind/

находим файлик /etc/apparmor.d/usr.sbin.named
и менеяем в нем строчку

/etc/bind/** r,

на

/etc/bind/** rw,

после этого перечитываем настройки apparmor

apparmor_parser -r /etc/apparmor.d/usr.sbin.named

Не переключается раскладка в RDP на windows 2008

При подключении к серверу по RDP не работает переключение раскладки клавиатуры на русский язык, хотя в трее значоек раскладок показывает что переключается.

На сервере поправить реестр.
[HKLM\System\CurrentControlSet\Control\Keyboard Layout]
добавить ключ
"IgnoreRemoteKeyboardLayout"=dword:00000001

Python. Вывод чисел с плавающей точкой в фиксированном формате.

Чтобы вывести число с плавающей точкой в фиксированном формате с указанным числом знаков после запятой:

>>> '%0.8f' % (0.00004069/185)
'0.00000022'