LINUX.ORG.RU
решено ФорумAdmin

FreePBX Default settings

 , ,


0

1

Добра всем!

Есть FreePBX 14 и модуль SystemAdmin , в котором в свою очередь есть платная фишка OpenVPN , суть в том что мне необходимо прописывать нестандартные настройки в файлах конфигурации например такие как proto tcp , но как только я в GUI FREEPBX что то меняю то мои изменения в файлах конфигурации затираются дефолтными настройками из FreePBX ,он почему то ставит proto udp как дефолтный протокол, суть в том что где то зашиты эти дефолтные настройки ,их надо изменить..

Были предложения ставить отдельный экземпляр OVPN но это не вариант..

Подскажите где зарыты эти дефолтные настройки?



Последнее исправление: cetjs2 (всего исправлений: 1)

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

В каких именно файлах вы прописывали?

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

/etc/openvpn/server.conf

Собственно сам файл конфигурации OPENVPN , в нем собственно несколько параметров и меняю,например этот proto tcp, а FreePBX заменяет его на proto udp , после каких то корректировок в GUI..

skynetyar
() автор топика

но как только я в GUI FREEPBX что то меняю то мои изменения в файлах конфигурации затираются дефолтными настройками

не дефолтными, а теми, что в базе. freepbx работает обычно поверх мускула и тупо транслирует настройки из него. если хочется кастом - создаем файлик ${что-то}_custom.conf либо курим в Advanced Settings

ну либо в базе прямо выставь

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Круто если это действительно так!

Т.Е. в моем случае мне надо назвать файл так?

server_custom.conf и в нем свои параметры указать?

skynetyar
() автор топика
Ответ на: комментарий от upcFrost

В БД тоже этого нет,конкретно этого... Это берется походу их rpm

# Configuration automatically generated via Sysadmin RPM # MODIFICATIONS TO THIS FILE WILL BE OVERWRITTEN.

skynetyar
() автор топика
Ответ на: комментарий от skynetyar

Это берется походу их rpm

из rpm ничего не берется. rpm вообще используется только при установке. До обновления любого из пакетов где оно есть ничего по вине пакетного менеджера не поменяется

В advanced settings надо смотреть, туда как раз обычно скидываются значения типа имен файлов сторонних конфигов и прочего. Если там нету - есть более жесткий вариант.

во время нажатия Apply во FreePBX вызывается маппер из базы в конфиг, так что самый первый вариант попробовать - прогрепать что-то типа server.conf по директории с FreePBX. Там пыхокод, проблем быть не должно. Также можно грепнуть openvpn в произвольном регистре. Дальше найти по файлу откуда оно берется и в этом месте поменять

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

grep -iRI «openvpn» /var/www/html/admin/ /var/www/html/admin/modules/ucp/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/README: This release of yaSSL contains bug fixes and adds initial OpenVPN support. /var/www/html/admin/modules/ucp/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/evp.h:/* for OpenVPN */ /var/www/html/admin/modules/ucp/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/hmac.h:/* hmac.h for openvpn */ /var/www/html/admin/modules/ucp/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/objects.h:/* objects.h for openvpn */ /var/www/html/admin/modules/ucp/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/sha.h:/* sha.h for openvpn */ /var/www/html/admin/modules/zulu/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/README: This release of yaSSL contains bug fixes and adds initial OpenVPN support. /var/www/html/admin/modules/zulu/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/evp.h:/* for OpenVPN */ /var/www/html/admin/modules/zulu/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/hmac.h:/* hmac.h for openvpn */ /var/www/html/admin/modules/zulu/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/objects.h:/* objects.h for openvpn */ /var/www/html/admin/modules/zulu/node/node_modules/mariasql/deps/libmariadbclient/extra/yassl/include/openssl/sha.h:/* sha.h for openvpn */ /var/www/html/admin/modules/firewall/Services.class.php: «name» => _(«OpenVPN Server»), /var/www/html/admin/modules/firewall/Services.class.php: «descr» => _(«This allows clients to connect to an OpenVPN server running on this machine. This is an inherently secure protocol.»), /var/www/html/admin/modules/firewall/i18n/de_DE/LC_MESSAGES/firewall.po:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/de_DE/LC_MESSAGES/firewall.po:msgid «OpenVPN Server» /var/www/html/admin/modules/firewall/i18n/de_DE/LC_MESSAGES/firewall.po:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/zh_CN/LC_MESSAGES/firewall.po:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/zh_CN/LC_MESSAGES/firewall.po:msgid «OpenVPN Server» /var/www/html/admin/modules/firewall/i18n/zh_CN/LC_MESSAGES/firewall.po:msgstr «OpenVPN 服务器» /var/www/html/admin/modules/firewall/i18n/zh_CN/LC_MESSAGES/firewall.po:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/ja_JP/LC_MESSAGES/firewall.po:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/ja_JP/LC_MESSAGES/firewall.po:msgid «OpenVPN Server» /var/www/html/admin/modules/firewall/i18n/ja_JP/LC_MESSAGES/firewall.po:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/fr_FR/LC_MESSAGES/firewall.po:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/fr_FR/LC_MESSAGES/firewall.po:msgid «OpenVPN Server» /var/www/html/admin/modules/firewall/i18n/fr_FR/LC_MESSAGES/firewall.po:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/pt_BR/LC_MESSAGES/firewall.po:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/pt_BR/LC_MESSAGES/firewall.po:msgid «OpenVPN Server» /var/www/html/admin/modules/firewall/i18n/pt_BR/LC_MESSAGES/firewall.po:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/firewall.pot:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/firewall.pot:msgid «OpenVPN Server»

skynetyar
() автор топика
Ответ на: комментарий от upcFrost

/var/www/html/admin/modules/firewall/i18n/firewall.pot:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/vi/LC_MESSAGES/firewall.po:«a DMZ, or OpenVPN network). You mostly trust the other computers on the » /var/www/html/admin/modules/firewall/i18n/vi/LC_MESSAGES/firewall.po:«DMZ, or OpenVPN ). Bạn hầu như phải ủy thác các máy tính khác trên các mạng » /var/www/html/admin/modules/firewall/i18n/vi/LC_MESSAGES/firewall.po:msgid «OpenVPN Server» /var/www/html/admin/modules/firewall/i18n/vi/LC_MESSAGES/firewall.po:«This allows clients to connect to an OpenVPN server running on this machine. » /var/www/html/admin/modules/firewall/i18n/vi/LC_MESSAGES/firewall.po:«Điều này cho phép các máy khách kết nối với một máy chủ OpenVPN trên máy » /var/www/html/admin/modules/firewall/Zones.class.php: «other» => array(«name» => _(«Other»), «summary» => _(«Other Traffic»), «descr» => _(«For use on trusted external networks, or other well known networks (such as a DMZ, or OpenVPN network). You mostly trust the other computers on the networks to not harm your computer.»), «selectable» => true), /var/www/html/admin/modules/sysadmin/yealinkvpntest/vpn.cnf:ca /config/openvpn/keys/sysadmin_ca.crt /var/www/html/admin/modules/sysadmin/yealinkvpntest/vpn.cnf:cert /config/openvpn/keys/sysadmin_client5.crt /var/www/html/admin/modules/sysadmin/yealinkvpntest/vpn.cnf:key /config/openvpn/keys/sysadmin_client5.key /var/www/html/admin/modules/sysadmin/i18n/de_DE/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for connecting » /var/www/html/admin/modules/sysadmin/i18n/de_DE/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for this » /var/www/html/admin/modules/sysadmin/i18n/de_DE/LC_MESSAGES/sysadmin.po:«Address range with netmask for OpenVPN server and connecting clients. (e.g. » /var/www/html/admin/modules/sysadmin/i18n/de_DE/LC_MESSAGES/sysadmin.po:msgid «Force all client traffic through this OpenVPN server.» /var/www/html/admin/modules/sysadmin/i18n/de_DE/LC_MESSAGES/sysadmin.po:msgid «OpenVPN» /var/www/html/admin/modules/sysadmin/i18n/de_DE/LC_MESSAGES/sysadmin.po:msgid «OpenVPN Client» /var/www/html/admin/modules/sysadmin/i18n/ja_JP/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for connecting » /var/www/html/admin/modules/sysadmin/i18n/ja_JP/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for this » /var/www/html/admin/modules/sysadmin/i18n/ja_JP/LC_MESSAGES/sysadmin.po:«Address range with netmask for OpenVPN server and connecting clients. (e.g. » /var/www/html/admin/modules/sysadmin/i18n/ja_JP/LC_MESSAGES/sysadmin.po:msgid «Force all client traffic through this OpenVPN server.» /var/www/html/admin/modules/sysadmin/i18n/ja_JP/LC_MESSAGES/sysadmin.po:msgid «OpenVPN» /var/www/html/admin/modules/sysadmin/i18n/ja_JP/LC_MESSAGES/sysadmin.po:msgid «OpenVPN Client» /var/www/html/admin/modules/sysadmin/i18n/pt_BR/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for connecting » /var/www/html/admin/modules/sysadmin/i18n/pt_BR/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for this » /var/www/html/admin/modules/sysadmin/i18n/pt_BR/LC_MESSAGES/sysadmin.po:«Address range with netmask for OpenVPN server and connecting clients. (e.g. » /var/www/html/admin/modules/sysadmin/i18n/pt_BR/LC_MESSAGES/sysadmin.po:msgid «Force all client traffic through this OpenVPN server.» /var/www/html/admin/modules/sysadmin/i18n/pt_BR/LC_MESSAGES/sysadmin.po:msgid «OpenVPN» /var/www/html/admin/modules/sysadmin/i18n/pt_BR/LC_MESSAGES/sysadmin.po:msgid «OpenVPN Client» /var/www/html/admin/modules/sysadmin/i18n/sysadmin.pot:«Address (IP or FQDN) at which the OpenVPN server is reachable for connecting » /var/www/html/admin/modules/sysadmin/i18n/sysadmin.pot:«Address (IP or FQDN) at which the OpenVPN server is reachable for this » /var/www/html/admin/modules/sysadmin/i18n/sysadmin.pot:«Address range with netmask for OpenVPN server and connecting clients. (e.g. » /var/www/html/admin/modules/sysadmin/i18n/sysadmin.pot:msgid «Force all client traffic through this OpenVPN server.» /var/www/html/admin/modules/sysadmin/i18n/sysadmin.pot:msgid «OpenVPN» /var/www/html/admin/modules/sysadmin/i18n/sysadmin.pot:msgid «OpenVPN Client» /var/www/html/admin/modules/sysadmin/i18n/es_ES/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for connecting » /var/www/html/admin/modules/sysadmin/i18n/es_ES/LC_MESSAGES/sysadmin.po:«Address (IP or FQDN) at which the OpenVPN server is reachable for this » /var/www/html/admin/modules/sysadmin/i18n/es_ES/LC_MESSAGES/sysadmin.po:«Address range with netmask for OpenVPN server and connecting clients. (e.g. » /var/www/html/admin/modules/sysadmin/i18n/es_ES/LC_MESSAGES/sysadmin.po:msgid «Force all client traffic through this OpenVPN server.» /var/www/html/admin/modules/sysadmin/i18n/es_ES/LC_MESSAGES/sysadmin.po:msgid «OpenVPN» /var/www/html/admin/modules/sysadmin/i18n/es_ES/LC_MESSAGES/sysadmin.po:msgid «OpenVPN Client» /var/www/html/admin/modules/sysadmin/hooks/support-vpn-start:if(!file_exists(«/etc/openvpn/deploymentvpn»)) { /var/www/html/admin/modules/sysadmin/hooks/support-vpn-start: mkdir(«/etc/openvpn/deploymentvpn»); /var/www/html/admin/modules/sysadmin/hooks/support-vpn-start:$dir = '/etc/openvpn/deploymentvpn/'; /var/www/html/admin/modules/sysadmin/hooks/support-vpn-start:$conf = '/etc/openvpn/sysadmin_support.conf'; /var/www/html/admin/modules/sysadmin/hooks/support-vpn-start: `systemctl start openvpn@sysadmin_support`; /var/www/html/admin/modules/sysadmin/hooks/support-vpn-start: `service openvpn restart`; /var/www/html/admin/modules/sysadmin/hooks/support-vpn-stop:rm -Rf /etc/openvpn/deploymentvpn /var/www/html/admin/modules/sysadmin/hooks/support-vpn-stop:rm -f /etc/openvpn/sysadmin_support.conf /var/www/html/admin/modules/sysadmin/hooks/support-vpn-stop: systemctl stop openvpn@sysadmin_support /var/www/html/admin/modules/sysadmin/hooks/support-vpn-stop: service openvpn restart

skynetyar
() автор топика
Ответ на: комментарий от upcFrost

Там все файлы вот с таким содержимым

https://pastebin.com/6g6r6fPz

Какие то кракозябы, не поддаються какому либо конвертированию...

Расширение у них .class.php

Есть вот такой файл VPN.class.php тоже в кракозябрах....

skynetyar
() автор топика
Ответ на: комментарий от skynetyar

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

ну или третий корявый вариант - ставим кронтаску которая изменяет тем же sed'ом значения на нужные раз в минуту. но это костыль

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

С кронтабом сложно,помимо замены значения в файле, нужно еще и службу рестарить systemctl restart openvpn@sysadmin_server1

Если не трудно опишите пожалуйста механизм в условиях Centos7 как это можно сделать?

Сапорт сказал типа «пользуйтесь тем что есть или не пользуйтесь» , запускайте свой экземпляр , но это конечно можно но зачем собственно покупали....

skynetyar
() автор топика
Ответ на: комментарий от skynetyar

С кронтабом сложно,помимо замены значения в файле, нужно еще и службу рестарить systemctl restart openvpn@sysadmin_server1

ок, тогда можно пойти по пути стандартных темплейт-движков для конфигов. Кстати можешь один из них взять, например confd если верить их доке теперь умеет работать без директории прямо из env

суть - у тебя есть конфиг и его темплейт. система раз в минуту собирает из темплейта конфиг и сверяет его с текущим. если дифф ненулевой - система меняет конфиг на новый и выполняет n действий для его применения, например перезагружает сервис.

примеры таких систем confd и consul-template, но им в обычно нужна сторонняя директория (consul, etcd, zookeeper, redis). как уже выше написал - confd вроде теперь умеет из env брать значения, можно его потыкать. ну либо редис поднять на том же хосте, это не долго и ресурс не жрет в целом.

Сапорт сказал типа «пользуйтесь тем что есть или не пользуйтесь»

прикольные черти однако

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от skynetyar

ну, внезапно на гитхабе confd ;) суть - тебе надо два файла: темплейт и конфиг темплейта. В конфиге темплейта пишешь где темплейт и куда его пихать с каким интервалом, и что делать если конфиг обновился.

в целом утилита простая как тапок, только у нее мягко выражаясь уродливый темплейт-язык.

пример конфигов, правда под кореось и без перезапуска сервиса (по первой ссылке внизу есть пример с рестартом nginx). Там конфиг демона, конфиг темплейта и сам темплейт.

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 2)
Ответ на: комментарий от skynetyar

Еще в тему костылей:
Если конфиг не надо менять из всякой гуйни каждые «пять минут» то chattr +i .
Обернуть в скрипт. Когда надо поменять.
1. chattr -i.
2. Поменяли,
3. sed
4. chattr +i

anc ★★★★★
()
Ответ на: комментарий от anc

Ура!

Спасибо добрый человек! Все работает!

cd /etc/openvpn
chattr +i sysadmin_server1.conf

cd /etc/openvpn/ccd
chattr +i client0

skynetyar
() автор топика
Ответ на: комментарий от skynetyar

В скрипт обернуть имеешь ввиду для чего?

Ну для удобства, что бы все было в одном месте. Типа script stop, поменяли, script start.

anc ★★★★★
()
Ответ на: комментарий от anc

Да,я уже понял!

Спасибо еще раз, этот метод самый простой и удобный!

skynetyar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.