По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сразу перейду к делу. Пользователями FreePBX 14 замечен крайне серьёзный баг в утилите fail2ban. Версия fail2ban, на которой замечен баг - 0.8.14-11 и ниже. Проверить можно командой rpm -qa | grep fail2ban: fail2ban-fpbx-0.8.14-11.sng7.noarch Данный баг заключается в том, что после установки чистой FreePBX Distro 14 сервис fail2ban хоть и в активном статусе, однако никаких “тюрем" (jails) он не подгружает и их количество = 0. Проверить можно командой fail2ban-client status, если Ваш сервер подвержен багу, то Вы увидите: [root@merionlab]# fail2ban-client status Status |- Number of jail: 0 `- Jail list: Это значит, что например, максимальное число попыток ввода пароля для доступа к вэб-интерфейсу FreePBX или попыток регистрации SIP-клиента с неверным паролем - не ограничено, а IP-адрес, с которого приходят эти запросы не блокируется. Естественно, что модуль Intrusion Detection во FreePBX также не будет работать. "Тюрьмы" или jails - это такие секции в файле /etc/fail2ban/jail.local, в которых указано, логи какого сервиса необходимо мониторить, чтобы выявлять и блокировать несанкционированные попытки доступа к этому сервису, а также такие параметры как время блокировки, максимальное число попыток и действие, которое необходимо предпринять в случае выявления. Например, вот секция [asterisk-iptables]: [asterisk-iptables] enabled = true filter = asterisk-security action = iptables-allports[name=SIP, protocol=all] sendmail[name=SIP, dest=none@yourpbx.com, sender=none@yourpbx.com] logpath = /var/log/asterisk/fail2ban maxretry = 5 bantime = 1800 В ней указано, что нужно мониторить лог /var/log/asterisk/fail2ban, искать в нём 5 попыток неуспешной регистрации (например SIP телефон пытается зарегистрироваться с неверным паролем) и банить IP-адрес на 30 минут. Ну и ещё можно отправку по email настроить о данном факте. По умолчанию, в файле /etc/fail2ban/jail.local должно быть 7 таких секций - [apache-tcpwrapper], [recidive], [ssh-iptables], [apache-badbots], [pbx-gui], [asterisk-iptables], [vsftpd-iptables]. В каждой указан путь к логам соответствующего сервиса. Решение Итак, есть два решения данной проблемы. Первое – остановить сервис fail2ban командой systemctl stop fail2ban и внести следующие изменения в файл /usr/lib/systemd/system/fail2ban.service: [Unit] Description=Fail2Ban Service After=httpd.service [Service] Type=forking ExecStartPre=/bin/mkdir -p /var/run/fail2ban ExecStart=/usr/bin/fail2ban-client -x start ExecStop=/usr/bin/fail2ban-client stop ExecReload=/usr/bin/fail2ban-client reload PIDFile=/var/run/fail2ban/fail2ban.pid Restart=always [Install] WantedBy=default.target Затем запустить сервсис fail2ban командой systemctl start fail2ban и сделать так, чтобы сервис включался после ребута автоматически systemctl enable fail2ban. И вторая – обновить сам fail2ban. Для этого вводим следующие команды: yum install sangoma-devel yum update Проверяем версию fail2ban после обновления - rpm -qa | grep fail2ban: fail2ban-fpbx-0.8.14-75.sng7.noarch После данных действий, команда fail2ban-client status должна отобразить верное количество jails и fail2ban с Intrusion Detection должны вновь встать на стражу Вашего сервера: [root@merionlab]# fail2ban-client status Status |- Number of jail: 7 `- Jail list: apache-tcpwrapper, recidive, ssh-iptables, apache-badbots, pbx-gui, asterisk-iptables, vsftpd-iptables Чтобы случайно не заблокировать свой адрес и игнорировать любые неуспешные попытки доступа к серверу с адресов, находящихся в локальной сети или других доверенных адресов, внесите их или всю доверенную подсеть в секцию [DEFAULT] в поле ignoreip в том же файле /etc/fail2ban/jail.local
img
Конфигурация вашей сетевой карты напрямую влияет, насколько эффективно взаимодействуют ваши сервера. Необходимо понимать, как настройки автосогласования, скорости и дуплекса влияют на передачу данных, чтобы успешно поддерживать сетевое соединение. А также расскажем про дополнительные фичи, которые помогут находить и устранять сетевые неполадки. В этой статье вы узнаете, как изменить настройки скорости, дуплекса и автосогласования в Linux с помощью команд ethtool. Что такое полудуплекс, полный дуплекс и автосогласование? Полудуплексный режим (Half-duplex) позволяет устройству отправлять или получать пакеты по очереди. Устройство, установленное в этот режим, не может выполнять оба действия одновременно. Когда режим устройства находится в полнодуплексном режиме (Full-duplex), он также может отправлять и получать пакеты одновременно. Автосогласование (Auto-Negotiation) - это механизм, с помощью которого устройство автоматически выбирает наиболее эффективный режим передачи на основе характеристик своих аналогов. Рекомендуется оставить автосогласование включенным, поскольку оно позволяет устройствам выбирать наиболее эффективные средства для передачи данных. Что такое дуплексное несоответствие? Такое происходит когда устройство с включенным автосогласованием подключается к устройству, которое не использует автосогласование. Конец соединения с активным автосогласованием все еще может определить скорость другого конца, но не может правильно определить дуплексный режим. Как правило, конец соединения с автоматическим согласованием будет использовать полудуплекс, тогда как другой конец может быть в дуплексном режиме. Эта ситуация считается дуплексным несоответствием (duplex mismatch). Несоответствие дуплекса не прекращает связь полностью. Передача отдельных пакетов и небольших объемов данных не вызывают больших проблем. Однако при отправке большого объема данных с любого конца скорость значительно падает. Соединение работает, но производительность снижается, поскольку скорость передачи данных асимметрична и может привести к потере пакетов. Как использовать команду Ethtool для настройки параметров сетевого адаптера Ethtool - это команда конфигурации платы сетевого интерфейса, которая позволяет вам получать информацию и изменять настройки сетевого адаптера. Эти настройки включают скорость, дуплекс, автосогласование и многие другие параметры. Помимо этого, ethtool используется для: Получения идентификационной и диагностической информации Получения расширенной статистики устройства Контроля контрольной суммы Контроля размеров кольца DMA и модерации прерываний Контроля выбора очереди приема для устройств с несколькими очередями Обновления прошивки во флеш-памяти Для установки ethtool используйте следующие команды: yum install ethtool [в Fedora, CentOS, RHEL] sudo apt-get install ethtool [в Ubuntu, Debian] Чтобы продолжить, вам нужно знать имя вашей сетевой карты. Чтобы найти имя вашей сетевой карты, введите в командном терминале следующую команду: ifconfig Вывод покажет нам имя сетевой карты устройства. enp0s3 Link encap:Ethernet HWaddr 00:1A:2B:3C:4D:5E Теперь, когда вы определили имя устройства, проверьте текущие настройки скорости, автосогласования и дуплексного режима с помощью команды: ethtool имя_устройства. В нашем конкретном примере команда выглядит так: ethtool enp0s3 Выходные данные показывают, что текущая скорость равна 1000 Мбит/с, что дуплекс находится в режиме «Full», и что автосогласование включено. Изменение настроек сетевого адаптера Команда ethtool –s может использоваться для изменения текущих настроек путем определения значений скорости speed, дуплекса duplex и автосогласования autoneg в следующем формате: sudo ethtool –s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off] Например, чтобы установить скорость 1000 Мбит/с, дуплексный режим - «полный», а автоматическое согласование - «включено», команда будет выглядеть так: sudo ethtool –s enp0s3 speed 1000 duplex full autoneg on Команда ethtool [имя_устройства] необходима для подтверждения того, что изменения были применены. Сохранение настроек Изменения, сделанные с помощью Ethtool, по умолчанию отменяются после перезагрузки системы. Чтобы применить пользовательские настройки при каждой загрузке системы, отредактируйте файл для интерфейса устройства: vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 Добавьте нужные значения в виде строки в конце файла, используя следующий синтаксис: ETHTOOL_OPTS="speed [100|1000|10000] duplex [half|full] autoneg [on|off]” Например: ETHTOOL_OPTS="speed 1000 duplex full autoneg on” Сохраните изменения и выйдите из файла. Теперь изменения применяются после каждой перезагрузки и являются постоянными, если файл не будет изменен снова. Просмотр статистики интерфейса Если вы хотите получить статистику о вашей сетевой карте, введите команду: sudo ethtool -S имя_устройства Вывод этой команды будет выглядеть так: NIC statistics: rx_packets: 108048475 tx_packets: 125002612 rx_bytes: 17446338197 tx_bytes: 113281003056 rx_broadcast: 83067 tx_broadcast: 1329 rx_multicast: 3 tx_multicast: 9 rx_errors: 0 tx_errors: 0 tx_dropped: 0 multicast: 3 collisions: 0 rx_length_errors: 0 rx_over_errors: 0 rx_crc_errors: 0 rx_frame_errors: 0 rx_no_buffer_count: 0 rx_missed_errors: 0 tx_aborted_errors: 0 tx_carrier_errors: 0 tx_fifo_errors: 0 tx_heartbeat_errors: 0 tx_window_errors: 0 tx_abort_late_coll: 0 tx_deferred_ok: 0 tx_single_coll_ok: 0 tx_multi_coll_ok: 0 tx_timeout_count: 0 tx_restart_queue: 2367 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 0 tx_tcp_seg_failed: 0 rx_flow_control_xon: 0 rx_flow_control_xoff: 0 tx_flow_control_xon: 0 tx_flow_control_xoff: 0 rx_long_byte_count: 17446338197 rx_csum_offload_good: 107876452 rx_csum_offload_errors: 2386 rx_header_split: 0 alloc_rx_buff_failed: 0 tx_smbus: 0 rx_smbus: 0 dropped_smbus: 0 rx_dma_failed: 0 tx_dma_failed: 0 Использование приведенной выше команды - отличный способ устранения проблем с конкретной сетевой картой. Физическое расположение конкретного сетевого адаптера Вот действительно полезный трюк, который предлагает ethtool: допустим у вас есть сервер с несколькими сетевыми картами, и одна из них работает со сбоями, но вы не уверены, какая именно это карта. Вы можете использовать ethtool, чтобы заставить мигать индикатор сетевого адаптера, чтобы определить, какой сетевой адаптер вам нужен. Скажем, если вы хотите мигать светодиодом устройства Ethernet enp0s3 в течение 15 секунд - команда для этого будет выглядеть так: sudo ethtool -p enp0s3 15 Светодиод начнет мигать, чтобы вы знали, с какой картой вы имеете дело. Тестирование сетевой карты Команда ethtool предлагает пару удобных тестов, которые вы можете запустить на сетевой карте: Online - тесты nvram и тест ссылок Offline - тестирует регистр, память, loopback, прерывание Давайте запустим онлайн-тест на нашей сетевой карте. Эта команда выглядит так: sudo ethtool -t enp0s3 online После выполнения команда покажет нам результаты: Учтите, что некоторые устройства не поддерживают offline тестирование. Информация о драйвере Чтобы узнать имя драйвера и связанную информацию о драйвере используйте: ethtool -i eth0 Вывод: driver: via-rhine version: 1.5.0 firmware-version: bus-info: 0000:00:06.0 supports-statistics: no supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no Заключение Следуя этому руководству, вы успешно изменили настройки своей сетевой карты с помощью команд ethtool. Вы также лучше поняли, как режимы автосогласования и дуплекса влияют на производительность сервера. И заодно узнали пару интересных функций команды ethtool.
img
Всем известно, что кроме GSM-шлюзов FS (FreeSWITCH) умеет работать и с dongle. Как заставить с донгла получить СМСку, расскажем в этой статье. Предполагается, что у вас уже установлен и настроен mod_gsmopen и Lua. Если нет, то предлагаю обратиться к официальному источнику https://freeswitch.com/confluence/display/FREESWITCH/mod_gsmopen Для работы с СМСками на нужно настроить chatplan ../freeswitch/conf/chatplan/default.xml В котором нам нужно написать примерно следующее: .. <extension name="demo"> <condition field="to" expression="^gsm(.*)$" break="on-true"> <action application="lua" data="mail.lua"/> </condition> </extension> .. То есть, мы указываем имена донглов, которые нужно слушать и отправляем в Lua-скрипт, который и будет пересылать СМСку в нужное нам место - Grounwire. Пример Lua-скрипта: mail.lua -- -- Устанавливаем переменные выдергивая из заголовков сообщений local from = message:getHeader("from"); local to = message:getHeader("to"); local body = message:getBody(); local time = message:getHeader("Event-Date-Local"); local ext = "1001"; -- Указываем extension куда нужно отправлять СМСку -- Переправляем полученные СМС в софтфон freeswitch.consoleLog("info", "chat console*********************************************************************** ") -- Выводим в CLI local event = freeswitch.Event("CUSTOM", "SMS::SEND_MESSAGE"); event:addHeader("proto", "sip"); event:addHeader("dest_proto", "sip"); event:addHeader("from", "sip:".. from .."@voip.ru"); event:addHeader("from_full", "sip:".. from .."@voip.ru:5063"); -- Я думаю это понятно что означает :) event:addHeader("to", "".. ext .."@voip.ru"); event:addHeader("subject", "sip:".. to .."@voip.ru:5063"); event:addHeader("type", "text/html"); event:addHeader("hint", "the hint"); event:addHeader("replying", "true"); event:addBody('Сообщение для '.. to ..' в '.. time ..', '.. body ..''); event:fire(); Вот и всё. Теперь все сообщения, которые будут приходить на dongle будут перенаправляться в софтфон: Так же можно писать и в базу MySQL и отправлять на почту. У меня это именно так сделано. Кроме этого можно и отправлять СМСки из веб-морды, а так же, и через смартфон, но для этого нужно дописать Lua-скрипт. А ещё можно управлять, например, своим компьютером на основе текста в СМС, то есть, перезагрузить/выключить, или ещё чем-то. Так у меня отправляется СМСка из WEB – интерфейса:
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59