среда, 24 января 2018 г.

CentOS 7. Отдельный лог iptables.

Создаем файл /etc/rsyslog.d/iptables.conf. Пишем в него:
:msg, contains, "Iptables: " -/var/log/iptables.log
& stop
Перегружаем rsyslog.
В правила iptables добавляем логирование, например:
-A INPUT -p udp --dport 5060 -j LOG --log-prefix "Iptables: SIP "
-A INPUT -p tcp --dport 22 -j LOG --log-prefix "Iptables: SSH "



CentOS 7. Ротация логов Asterisk.

Создаем файл /etc/logrotate.d/asterisk.
Пишем в него:
/var/log/asterisk/messages
/var/log/asterisk/security
/var/log/asterisk/*log {
    missingok
    rotate 60
    daily
    create 0640 asterisk asterisk
    sharedscripts
    compress
    postrotate
    /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
    endscript
}
И лучше перенести logrotate в cron.hourly, чтобы cron его запускал, а не anacron.

CentOS 7. Избавляемся от мусора в /var/log/messages (Created slice..., Stopping User...)

Создаем файл garbage.conf в /etc/rsyslog.d/ с таким содержанием:
if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting User" or $msg contains "Removed slice User" or $msg contains "Stopping User") then stop

Перегружаем rsyslog:
# systemctl restart rsyslog

вторник, 23 января 2018 г.

Разворачиваем LAMP+Asterisk 15 на CentOS 7.

# yum update
# systemctl stop firewalld && systemctl disable firewalld
Правим SELINUX=disabled в /etc/sysconfig/selinux

# yum -y install mariadb-server mariadb
# systemctl enable mariadb.service
# systemctl start mariadb.service
# mysql_secure_installation

четверг, 3 августа 2017 г.

Настройка отправки почты через gmail с помощью php и msmtp.

В настройках аккаунта Google разрешаем доступ для "менее безопасных" приложений!
Ставим msmtp. Создаем файл конфига /usr/local/etc/msmtprc:
account default
host smtp.gmail.com
port 587
from user@gmail.com
user user@gmail.com
password my_password
auth on
tls on
tls_certcheck off
keepbcc on

Пишем в php.ini:
sendmail_path = "/usr/local/bin/msmtp -t"

Пример кода на PHP:
<?php
$BODY = "Body is here";

$to = 'user@mail.ru';
$subject = '=?utf-8?b?' . base64_encode("Subject is here") . '?=';
$message = "$BODY";.
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8'."\r\n";
$headers .= 'From: '.'=?utf-8?b?' . base64_encode("My Name") . '?='.' <user@gmail.com>'."\r\n";

if(!mail($to, $subject, $message, $headers)){
    die('error');
}
?>

вторник, 1 августа 2017 г.

Установка sipcapture сервер (HOMER) на FreeBSD.

Если не распознается логин/пароль при входе в UI, то проверяем две вещи:
1) доступность API, выполнив вызов http://ip_adress/homer/api/v1/test/. Если вызов не прошел, проверяем настройку mod_rewrite в Апаче.
2) наличие модуля php pdo_mysql. Без него не идут запросы в базу.

EEP поддерживает sngrep (надо собирать из портов с поддержкой EEP). Пример команды:
# sngrep port 5060 -H udp:192.168.2.216:9060 -d em1 -N -q

пятница, 19 мая 2017 г.

Установка chan_dongle на FreeBSD 10, Asterisk 13

Подключаем драйвера umodem и u3g.
Не забываем добавить загрузку в loader.conf.

Скачиваем chan_dongle для asterisk 13. Распаковываем.
Ставим autotools.
# pkg install autotools-20130627
Далее сносим внешний libiconv, если ставился (для mc, например). Для chan_dongle нужен родной.
# pkg delete -f libiconv-1.14_9
Переходим в папку распакованного chan_dongle.
Выполняем:
# aclocal
# autoconf
# automake -a
# ./configure --with-astversion=13.13.1 (например)
Открываем Makefile и комментируем последние 3 строки:
ifneq ($(wildcard .*.d),)
   include .*.d
endif

Далее:
# make install
# cp etc/dongle.conf /usr/local/etc/asterisk
Ставим обратно libiconv
# pkg install libiconv-1.14_10

Модем можно взбодрить командой AT^SYSCFG=2,2,3FFFFFFF,1,2.

По мотивам.
Использование.

Update:
Собираем компилятором gcc46
# make install gcc46-4.6.4_8,1
Далее в Makefile правим:
CC = gcc46
LD = gcc46

После подключения модема убеждаемся в наличие устройств cuaUx.x.
Включаем asterisk в группу dialer:
# pw groupmod dialer -m asterisk

Update2:
Для CentOS и Asterisk 15 берем отсюда https://github.com/wdoekes/asterisk-chan-dongle
# ./bootstrap
# DESTDIR="/usr/lib64/asterisk/modules" ./configure --with-astversion=15