Запуск команд на Mikrotik по звонку на FreePBX

Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.

В данной заметке я опишу решение задачи, согласно которой было необходимо по звонку на внутренний телефонный номер FreePBX запустить определенные команды на маршрутизаторе Mikrotik.

Настраиваем FreePBX для подключения к Mikrotik

В данной заметке я опишу решение задачи, согласно которой было необходимо по звонку на внутренний телефонный номер FreePBX запустить определенные команды на маршрутизаторе Mikrotik.

Конфигурируем выбранный внутренний номер 998 для целей запуска команд на Микротике:

Настраиваем FreePBX с помощью командной строки

1 шаг. Создаем звонок в [link]/etc/asterisk/extensions_custom.conf[/link]:

[office1-block] exten => s,1,Noop(***Red Button***) same => n,Background(beep) same => n,WaitExten(3)

exten => 1,1,Noop(***Shutdown inteface GRE-to-office1***) same => n,Authenticate(1) ;same => n,Playback() same => n,System(/var/lib/asterisk/scripts/red_button.sh &) same => n,Noop(Результат выполнения: ${SYSTEMSTATUS}) same => n,Hangup

2 шаг. Меняем права на /var/lib/asterisk/scripts/red_button.sh: chown asterisk. scripts -R

[root@freepbx scripts]# cat red_button.sh #!/bin/bash

ssh red_button@192.168.2.1 /interface gre disable gre-office1

[root@freepbx scripts]# ls -l total 20 -rwxrwxr-x 1 root root 109 Jul 12 11:24 red_button.sh [root@freepbx scripts]# chown asterisk. red_button.sh [root@freepbx scripts]# ls -l total 20 -rwxrwxr-x 1 asterisk asterisk 109 Jul 12 11:24 red_button.sh

3 шаг. Запускаем оболочку под asterisk: sudo -u asterisk bash

Генерируем ключ для подключения по SSH

4 шаг. Генерируем rsa ключ для пользователя: asterisk ssh-keygen -t rsa

bash-4.1$ ssh-keygen -t rsa Genetrating public/private rsa key pair. Enter file in which to save the key (/home/asterisk/.ssh/id_rsa): Enter passphrase (empty fo no passphrase): {press enter} Enter same passphrase again: Your identification has been saved in /home/asterisk/.ssh/id_rsa. Your public key has been saved in /home/asterisk/.ssh/id_rsa.pub. The key fingerprint is: 7c:b7:fa:7b:a0:c6:bb:11:61:88:01:d5:88:b0:e8:7d asterisk@freepbx.company.com The key's random image is: +--[ RSA 2048]----+ | ...+oo | | . .. .o.. | |. . . . o | |. . . . . | | . . E S o . | | . . o . | | ..... | | +o . | | .++oo | +-----------------+

5 шаг. Загружаем файл /home/asterisk/.ssh/id_rsa.pub по ftp на mikrotik:

bash-4.1$ ftp 192.168.2.1 Connected to 192.168.2.1 (192.168.2.1). 220 office1 FTP server (MikroTik 6.39.2) ready Name (192.168.2.1:asterisk): user1 331 Password required for user1 Password: 230 User user1 logged in Remote system type is UNIX. ftp> put id_rsa.pub local: id_rsa.pub remote: id_rsa.pub 227 Entering Passive Mode (192,168,2,1,207,227). 150 Opening ASCII mode data connection for '/id_rsa.pub' 226 ASCII transfer complete 411 bytes sent in 7e-05 secs (5871.43 Kbytes/sec) ftp> quit 221 Closing bash-4.1$

6 шаг. Подключаемся к mikrotik: ssh 192.168.2.1 -l user1 Вводим пароль. [user1@office1-gw1] > user ssh-keys import public-key-file=id_rsa.pub [user1@office1-gw1] > user ssh-keys print Flags: R - RSA, D - DSA # USER BITS KEY-OWNER 0 R user1 2048 asterisk@freepbx.company.com

7 шаг. Проверяем запуск команды из-под asterisk на mikrotik:

su -c 'ssh red_button@192.168.2.1 /interface gre disable gre-office1' asterisk

8 шаг. Делаем проверочный звонок и проверяем выключился ли GRE-интерфейс

Задача выполнена

MikroTik: куда нажать, чтобы заработало? При всех своих достоинствах, есть у продукции компании MikroTik один минус – много разобщенной и далеко не всегда достоверной информации о ее настройке. Рекомендуем проверенный источник на русском языке, где все собрано, логично и структурировано – видеокурс «Настройка оборудования MikroTik». В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. Все материалы остаются у вас бессрочно. Начало курса можно посмотреть бесплатно, оставив заявку на странице курса. Автор курса является сертифицированным тренером MikroTik.

Предыдущая запись Подключение бесплатного хранилища данных OVH к хосту ESXi Следующая запись Настройка WAN Uplink для Mikrotik в датацентре OVH

Оцените статью
Информационный ресурс для любителей компьютеров и IT технологий