23.06.2018

sip trace debug sipgrep sngrep

Для отлова sip сообщение сообщений в удобном виде использую две утилиты sipgrep и sngrep.

sngrep хорош тем что работает в консоле сервера и позволяет быстро найти сообщения и посмотреть полный siptrace.

чтобы постоянно следить за сообщениями я запускаю в screen режиме sipgrep складываю всё в файлики по 2Гб.
Если открывать их wireshark то это занимает много времени и требует дофига ресурсов, а так быстро и главное call flow присутствует.

Затем “sngrep -I sipgrep.pcap”.

установка на centos 7 одним скриптом:

touch /etc/yum.repos.d/sngrep.repo
cat > /etc/yum.repos.d/sngrep.repo <<EOF 
[irontec]
name=Irontec RPMs repository
baseurl=http://packages.irontec.com/centos/\$releasever/\$basearch/
EOF
rpm --import http://packages.irontec.com/public.key
#yum update -y
yum install sngrep -y

18.06.2018

бесплатный sip телефон. удобный. tls.

Один из самых удобный для отладки бесплатных sip клиентов для windows:

phonerlite!

15.06.2018

Добавление ssl сертификата к сайту. certbot. lets encrypt.

Добавить на сайт сертификат без лишних эмоций можно так:
Используем сервис let’s encrypt И certbot
Я буду использовать в ручном режиме, потому, что у меня сайты находятся на разных портах, например на 84, вместо 80.

    1. Создам сертификат для нашего сайта, в чем преимущество let’s encrypt так это в том, что выдаст удостоверенный сертификат. правда бесплатно только на 3 месяца.

      1.1. установить certbot в систему. проходим по ссылке и выбираем web сервер и OS которая стоит на сервере. там на самом сайте прекрасная, короткая инструкция.
      2.2 воспользуемся ручным режимом, который спросит у вас имя вашего сайта, попросит внести в DNS TXT запись и выдаст сертификат:

      certbot certonly --manual --preferred-challenges dns

      примерно так:
      —————————————————-
      Please deploy a DNS TXT record under the name
      _acme-challenge.yourdomain.ru with the following value:

      Z9zqdbasdfasdfasdfsad1UabqXXadfasdfqwerE4oc
      —————————————————-
      Если всё ок, то сертификаты он сохранит в каталог /etc/letsencrypt/live/yourdomain.ru,
      а сообщит он об этом примерно так:
      —————————————————-
      IMPORTANT NOTES:
      – Congratulations! Your certificate and chain have been saved at:
      /etc/letsencrypt/live/yourdomain.ru/fullchain.pem
      Your key file has been saved at:
      /etc/letsencrypt/live/yourdomain.ru/privkey.pem
      —————————————————-

      Лично использую dns сервера от yandex – работают абсолютно бесплатно, редактировать одно удовольствие.

    2. Таким образом мы быстренько получили сертификаты не трогая никаких конфигураций web-сервера на самом сервере. Теперь остаётся включить ssl в apache и прописать в конфигурацию полученные сертификаты.

Ну и надо добавить обновление сертификатов в crontab чтобы не дергаться каждые три месяца на эту тему.

certbot renew --manual --preferred-challenges dns

31.05.2018

tftp ports provisioning

Специфика протокола TFTP такова, что получая запрос на 69 порт, сервер будет отправлять ответы со случайных портов. Клиент находящийся за любым роутером может и не воспринять такой трафик.
Штатный tftpd не может приниматься запросы на 69 и отправлять с него.
Удивительно но не особо кто с такой проблемой сталкивается, вероятно потому, что роутеры должны уметь работать с TFTP протоколом, но нет.
Итак решение установить opentftpd сервер.

Для centos 7 мне пришлось его скомпилировать, что заняло 1 сек.
Затем, скопировав файл с настройками в /etc сервер запускается и работает только через порт 69.

30.05.2018

Cisco 7911 Asterisk Issabel

Надо было организовать provisioning для cisco 7911.
Сама по себе процедура описана много где хорошо. Принцип работы: Телефон при загрузке запрашивает файлы с конфигурацией у tftp сервера.
Изменить TFTP сервер на 7911 так:
Enter Menu,
Press ( **# ) to make setting editable,
Settings → Network → IP4 → Alternate TFTP (YES),
Settings → Network → IP4 → TFTP Server (111.111.111.111),
Press ( **#** ) to restart phone.

Настройки файла можно найти в статье. В приложенном архиве рабочая конфигурация.
PS: Мне удалось настроить работу только по протоколу TCP. По UDP есть подозрение, что циско слишком умная, описание проблемы с UDP здесь

25.04.2018

AWK ASTERISK CSV

Получить все звонки длительностью болье 3900 секунд.

awk ‘{FS=”,”; if ($16 > 3900) print $0}’ Master.csv > long

28.03.2018

Репликация таблиц в postgres 9.5 и выше

Для репликации таблиц в постгресе я использовал pglogical, который на первый взгляд может показаться не нужной надстройкой в вопросе репликации.
Однако, в процессе сравнения инструментов для репликации а, также при попытки реализовать её, я обнаружил, что pglogical очень простой способ реплицировать несколько таблиц в базе данных постгрес.

итак, описание установки исключительно полезное и находится здесь:

Моя задача состояла в том, что есть основная база данных постгрес к которой подключаются астериски, и используют ее для realtime, но не только, еще и скрипты на этих астерисках спрашивают при каждом звонке информацию о балансах, маршрутах, стоимости звонков.

А поскольку астерисков много а БД одна и еще находится далеко поэтому network latency > 120ms. поэтому я создал кеширующий несколько таблиц сервер. скорость репликации отличная, проблем не замечено.

15.01.2018

Обновление дисков виртуальных машин на Linux без перезагрузки в инфраструктуре VMware

как добавить новый hdd к виртуалке vmware

Работа с lvm

Расширить / раздел если Home слишком большой.

Расширить размер диска для виртуалки оказалось крайне просто.
1. добавляем размер диска в настройках виртуальной машины ESXI.
2. Перечитать конфигурацию шины, чтобы Unix без перезагрузки узнал что размер диска уже другой. echo "1" > /sys/class/block/sda/device/rescan
3. создаем раздел primary из свободного места командой fdisk /dev/sdX
4. создаем PV носитель pvcreate /dev/sdXN
5. расширяем VG с новым PV : vgextend current-vg /dev/sdXN
6. расширяем LV том До нужных размеров: lvextend -L+40G -r /dev/current-pv-path

9.01.2018

Номного о возможностях посмотреть кто нагружает в PHP

xhprof

9.01.2018

работа с RAID Centos 7. mdadm.

Удобно показано как подключить и отключить диск от RAID массива.

Оптимизация файловой системы ext4.

Про журналирование файловой системы ext4:
здесь
и
здесь