По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Сегодня хотим поговорить о подключении телефонных линий в офис и сравнить, что лучше - SIP или подключение по PRI?
Корпоративные системы телефонии давно отошли от использования обычных аналоговых линий в пользу АТС (автоматическая телефонная станция) в паре с подключением к ISDN по стандарту PRI. Но, не так давно, появился современный, более дешевый и гибкий вариант подключения офисных АТС, который называется «SIP – транкинг». В этой статье мы сравним подключение по PRI с подключение по SIP, отметим преимущества и недостатки.
PRI (Primary Rate Interface) — стандартный интерфейс сети ISDN. В рамках данного интерфейса функционируют такие стандарты как E1 и T1
Цифровая телефония
Важно понимать, что мы ведем разговор исключительно о цифровой передаче сигнала, не аналоговой. Оба стандарта PRI и SIP используют цифровую модель сигнала, с единственной разницей в том, что стандарт ISDN PRI это формат с коммутацией каналов, а SIP это коммутация пакетов.
Функциональность
С точки зрения функциональности, при условии правильной настройки, обе системы демонстрируют высокие показатели. Почти все IP – АТС на рынке поддерживают стандарты PRI и SIP. Основная идея интерфейса PRI (потоки E1 или T1) в том, что в рамках одной цифровой линии может передаваться 32 или 24 канала, по которым передаются как голосовые сообщения, так и информация о сигнализации и синхронизации. Интерфейс T1 состоит из 23 голосовых каналов и 1 канала для синхронизации. В свою очередь Е1 поддерживает 30 голосовых каналов и 2 канала выделяется для сигнализации.
Масштабируемость PRI
Если вам требуется расширить число каналов, то есть сделать их больше 30, то необходимо добавить еще одну PRI линию. Ситуация, в которой у компании на АТС используется от 1 до 4 PRI линий (потоков Е1) является достаточно распространенной.
SIP в корпоративной сети Применение протокола SIP в корпоративных сетях расширяет инструментарий администратора. SIP - транк позволяет объединить два удаленных офиса так, будто их соединяет физическая линия. Одним из важнейших преимуществ SIP – транков является возможность сосуществования трафика сети передачи данных и трафика от телефонии (VoIP) в одной сетевой среде передачи – такая сеть называется конвергентной.
Почему SIP?
«SIP транкиг», как видно из названия, оперирует на базе протокола SIP (Session Initiation Protocol). По правилам протокола, телефонная сигнализация и голосовые сообщения формируются в пакеты и передаются в одной сети передачи данных. Использование протокола SIP предлагает более широкий по сравнению с ISDN PRI спектр возможностей, а так же, позволяет расширить параметры отказоустойчивости к падению каналов передачи. Важно отметить, что выбор провайдера SIP телефонии является ответственной задачей, так как уровень обслуживания варьируется от ISP к ISP.
ISP - Internet Service Provider
Внешние вызовы PRI
При высоких сетевых нагрузках имеет смысл подключать две отдельные линии для телефонии и передачи данных. Это уменьшает риск и позволяет использовать дешевые высокоскоростные каналы (без гарантии определенного уровня задержек и прочих параметров канала) вместе с использованием канала с максимально высоким качеством обслуживания. При этом все равно остается возможность совместить корпоративную сеть и дать АТС право маршрутизировать звонки, в том числе и внешние вызовы через PRI транк.
Но к чему использовать E1 PRI для подключения IP- телефона вместо использования на 100% возможностей VoIP? Самым простым объяснением является то, что в мире далеко не все используют VoIP или даже оператора интернет услуг (провайдера) ISP. На текущий момент, единственной, по-настоящему универсальной системой является ТфОП, через которую можно дозвониться до любого телефона в мире. Корпоративная VoIP АТС может дать хорошую экономию на внутренних звонках внутри вашей сети, более того, можно купить SIP - транк для подключения к телефонному оператору связи через интернет.
Но, что происходит при наборе внешнего номера через PRI? Правильно, вызов пойдет через ISDN PRI линии, которые подключены к публичной телефонной сети.
Внешние вызовы SIP
Вместо использования PRI интерфейса, можно использовать SIP – транк. В зависимости от кодеков, полосы пропускания и схемы подключения, в рамках подключения по SIP предоставляется возможность использовать намного больше каналов, чем в E1 (PRI), то есть больше тридцати. Вы можете подключить десятки телефонных аппаратов к своей АТС в зависимости от полосы пропускания канала к провайдеру.
Качество обслуживания
Отметим, что в телефонной сети общего пользования, под телефонный вызов резервируется вся полоса пропускания канала передачи. В отличие от PRI, VoIP пакеты могут быть обслуживаться наравне с трафиком от других приложений. В данном случае, голосовые пакеты буду чувствительны к таким параметрам как задержка, потеря пакетов или джиттер. При ненадлежащем качестве обслуживания трафика VoIP, эффект может быть аналогичным ситуации, в которой наш мобильный имеет низкий уровень сигнала сотовой сети.
Защищенность
Сама по себе концепция ISDN PRI предоставляет изолированный канал передачи данных от точки до точки. Конечно, SIP можно передавать по защищенным VPN сетям, но в базовой архитектуре, пакеты SIP передаются по открытой сети Интернет.
Итоги
Безусловно, выбор всегда формируется под воздействием множества факторов, таких как требования к безопасности, количеству каналов, масштабируемости, бюджету и качеству обслуживания. Протокол SIP – это современный и очень гибкий стандарт, обладающий большим количеством функций, в то время как ISDN PRI доказал свою надежность на протяжении 20 лет использования. Выбор за вами!
Сегодня в статье рассказываем про инструменты с открытым исходным кодом, которые позволяют вам проверить скорость вашего Интернета и пропускную способность в Linux.
Speedtest
Speedtest - старый фаворит. Это инструмент для проверки скорости загрузки и скачивания с использованием speedtest.net. Он реализован на Python, упакован в Apt, а также доступен с pip. Вы можете использовать его как инструмент командной строки или в скрипте Python.
Установите его с помощью:
sudo apt install speedtest-cli
Или:
sudo pip3 install speedtest-cli
Затем запустите его с помощью команды speedtest:
speedtest
Retrieving speedtest.net configuration...
Testing from CenturyLink (65.128.194.58)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by CenturyLink (Cambridge, UK) [20.49 km]: 31.566 ms
Testing download speed................................................................................
Download: 68.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 10.93 Mbit/s
Это быстрая, и пригодная для скриптов утилита, поэтому вы можете запускать его регулярно и сохранять результаты в файл или базу данных для записи скорости вашей сети с течением времени.
Fast
Fast - это услуга, предоставляемая Netflix. Его веб-интерфейс расположен на Fast.com, а интерфейс командной строки доступен через npm:
npm install --global fast-cli
И веб-сайт, и утилита командной строки предоставляют один и тот же базовый интерфейс - это простой тест скорости, и ничего лишнего:
fast
82 Mbps v
Команда показывает вашу скорость скачивания (download) через Интернет. Чтобы получить скорость загрузки (upload), используйте флаг -u:
fast -u
? 80 Mbps v / 8.2 Mbps ^
iPerf
iPerf (iPerf3) - отличный способ проверить скорость вашей локальной сети (а не скорость Интернета, как это делают два предыдущих инструмента). Пользователи Debian, Raspbian и Ubuntu могут установить его с помощью apt:
sudo apt install iperf [Debian/Ubuntu]
yum install epel-release [RHEL/CentOS]
yum install iperf3 [RHEL/CentOS]
iPerf также доступен в Window и Mac
После установки вам понадобятся два компьютера в одной сети, чтобы использовать его (на обоих должен быть установлен iPerf). Один мы будем использовать в качестве сервера.
Узнайте IP-адрес сервера:
ip addr show | grep inet.*brd
Запустите iperf на сервере:
iperf -s
Это компьютер входящих соединений от клиентов. Теперь запустите на втором компьютере iperf с флагом -c и укажите ip-адрес сервера.
iperf -c server_address
NetHogs
NetHogs это утилита для проверки полосы пропускания, который группирует информацию по процессам. Это может быть полезно, чтобы понять кто занимает всю полосу пропускания.
NetHogs входит во многие дистрибутивы. Для его установки используйте:
yum install epel-release [RHEL/CentOS]
yum install nethogs [RHEL/CentOS]
apt install nethogs [Debian/Ubuntu]
Для запуска используйте:
sudo nethogs
Вы можете указать определенный интерфейс после команды:
sudo nethogs eth0
Также у команды есть дополнительные параметры, такие как выбор задержки для частоты обновления -d, информации о версии -V, tracemode -t.
nload
nload позволяет отслеживать сетевой трафик и использование полосы пропускания в режиме реального времени, с большим количеством дополнительной информации, такой как: общий объем передаваемых данных, минимальное и максимальное использование сети и многое другое. Также nload строит графики входящего и исходящего трафика.
Опции nload:
device - выбор интерфейса
-a - промежуток в секундах, для подсчитывания среднего значения
-i - стопроцентная планка на графике пропускной способности в kBit/s
-m - отображение нескольких интерфейсов, без графика
-t - интервал обновления в миллисекундах
-u - режим отображения: Bit/s, kBit/s, MBit/s
Для установки используйте:
sudo apt install nload [Debian/Ubuntu]
yum install epel-release [RHEL/CentOS]
um install nload [RHEL/CentOS]
Для запуска:
nload
CBM – Color Bandwidth Meter
CBM - очень простой инструмент, который отображает сетевой трафик на всех подключенных устройствах. Удобство заключается в том, что команды отображаются в нижней части терминала.
Для установки используйте команду:
sudo apt install cbm -y [Debian/Ubuntu]
yum install epel-release [RHEL/CentOS]
yum install cbm [RHEL/CentOS]
После этого просто запустите:
cbm
vnStat
vnStat - это монитор сетевого трафика, который использует статистику сетевого интерфейса, предоставляемую ядром, что означает что он не будет перехватывать трафик и в результате гарантирует низкую загрузку ЦПУ. Особенность vnStst в том, что он сохраняет все данные в собственной базе.
vnStat также предоставляет веб-интерфейс на основе php для отображения графической статистики. Для настройки веб-интерфейса vnStat в вашей системе должны быть установлены пакеты Apache, php и php-gd.
Для установки используйте команду:
sudo apt install vnstat [Debian/Ubuntu]
sudo yum install epel-release [RHEL/CentOS]
sudo yum install vnstat [RHEL/CentOS]
Для запуска:
vnstat
iftop
iftop - это инструмент для мониторинга, который создает обновляемый список сетевых подключений между парами хостов в реальном времени.
Для установки используйте:
sudo apt install iftop [Debian/Ubuntu]
yum install epel-release[RHEL/CentOS]
yum install iftop [RHEL/CentOS]
Для запуска:
sudo iftop
Будет произведен запуск с мониторингом всех интерфейсов.
slurm
slurm - это еще один инструмент мониторинга сетевой нагрузки для linux, который показывает результаты в графике ascii.
Команды для установки:
sudo apt-get install slurm [Debian/Ubuntu]
sudo yum install slurm -y [RHEL/CentOS]
Rocket.Chat — это бесплатный масштабируемый open source корпоративный чат, разработанный с помощью Meteor. Rocket.Chat можно считать аналогом Slack, который можно развернуть на своем сервере, и подключаться к нему с клиентов на Linux, Windows, macOS, Android и iOS.
Функции Rocket.Chat
Чат в реальном времени
Аудиоконференции
Видеоконференции
Каналы
Гостевой вход
Трансляция экрана
Передача файлов
Полнофункциональный API
Для обеспечения безопасности используется:
Групповая синхронизация LDAP
Двухфакторная аутентификация 2FA
Сквозное шифрование
Единый вход SSO
Несколько поставщиков Oauth аутентификации
Рассказываем как установить и настроить сервер и клиент Rocket.Chat в Linux.
Шаг 1. Установка Snap в Linux
Для простоты мы будем использовать систему управления пакетами Snaps. Первым делом надо установить пакет snapd c помощью диспетчера пакетов.
$ sudo apt install snapd #Ubuntu и Debian
$ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8
$ sudo yum install snapd #CentOS/RHEL 7
Далее необходимо включить модуль systemd, который управляет основным сокетом мгновенной связи. Эта команда запустит сокет и позволит ему запускаться при загрузке системы.
$ sudo systemctl enable --now snapd.socket
Шаг 2: Установка Rocket.Chat в Linux
Для установки rocketchat-server выполните:
$ sudo snap install rocketchat-server
Когда установка через snap будет завершена, rocket.chat сервер начнет работать и прослушивать порт 3000. Далее откройте веб-браузер и введите следующий адрес, чтобы настроить rocket.chat через GUI.
http://SERVER_IP:3000
После загрузки мастера настройки укажите следующие параметры: полное имя администратора, имя пользователя, адрес электронной почты организации и пароль.
Далее надо указать информацию об организации: тип организации, название, отрасль, размер, страна и сайт.
Затем нужно указать информацию о сервере - имя сайта, язык, тип сервера, и включение или отключение двухфакторной аутентификации 2FA.
На следующей странице нужно зарегистрировать сервер. Здесь есть две опции. Первая - использовать предварительно настроенные шлюзы и прокси, предоставленные Rocket.Chat Вторая - сохранить автономность и создать учетные записи у поставщиков услуг, обновить предварительно настроенные параметры, а также перекомпилировать мобильные приложения с вашими частными сертификатами.
Настройка завершена, и ваше рабочее пространство готово, теперь надо нажать Go to your workspace (Перейти в рабочее пространство)
Вот так оно выглядит.
Шаг 3: Настройка обратного прокси для Rocket.Chat
Обратный прокси-сервер, например nginx или Apache, позволяет настроить приложение Rocket.Chat для доступа через домен или поддомен. Rocket.Chat является сервером приложений среднего уровня, который не поддерживает SSL/TLS. Обратный прокси-сервер позволит настраивать сертификаты SSL/TLS для включения HTTPS.
Обратный прокси Nginx для Rocket.Chat
Сначала установите Nginx.
$ sudo apt apt install nginx #Ubuntu/Debian
$ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8
$ sudo yum install nginx #CentOS/RHEL 7
Далее запустите службу Nginx, включите ее автоматический запуск при загрузке системы и проверьте ее статус
$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx
Затем создайте block файл виртуального сервера для приложения Rocket.Chat, например, в каталоге /etc/nginx/conf.d/.
$ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf
Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните.
upstream backend {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name chat.merionet.com;
# You can increase the limit if you need to.
client_max_body_size 200M;
error_log /var/log/nginx/chat.merionet.com.log;
location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
Наконец проверьте синтаксис и перезапустите службу Nginx.
$ sudo nginx -t
$ sudo systemctl restart nginx
Обратный прокси Apache для Rocket.Chat
Установите пакет Apache2
$ sudo apt install apache2 #Ubuntu/Debian
$ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8
$ sudo yum install httpd #CentOS/RHEL 7
Далее запустите и включите службу apache и проверьте, запущена ли она и работает.
----- В Ubuntu/Debian -----
$ sudo systemctl enable --now apache2
$ sudo systemctl status apache2
----- В CentsOS/RHEL 7/8 -----
$ sudo systemctl enable --now httpd
$ sudo systemctl status httpd
Затем создайте файл виртуального хоста для приложения Rocket.Chat, например, в каталоге /etc/apache2/sites-available/ или /etc/httpd/conf.d/.
----- В Ubuntu/Debian -----
$ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf
----- В CentsOS/RHEL 7/8 -----
$ sudo vim /etc/httpd/conf.d/chat.merionet.com.conf
Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните.
<VirtualHost *:80>
ServerAdmin admin@merionet.ru
ServerName chat.merionet.com
LogLevel info
ErrorLog /var/log/chat.merionet.com_error.log
TransferLog /var/log/chat.merionet.com_access.log
<Location />
Require all granted
</Location>
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:3000/$1 [P,L]
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
В Ubuntu и Debian включите необходимые модули apache2 и перезапустите службу.
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
В CentOS/RHEL и Fedora перезапустите службу apache.
# systemctl restart httpd
Теперь откройте браузер и введите ваш настроенный адрес и приложение Rocket.Chat станет доступно через ваш домен, настроенный на прокси-сервере.
http://chat.merionet.com
Шаг 4: Установка клиентов Rocket.Chat
Клиентские приложения можно скачать с официального сайта Rocket.Chat. Чтобы установить десктопное приложение в Linux, вы загрузите пакет deb (x64) или rpm (x64) в зависимости от вашего дистрибутива Linux.
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
Или
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm
Затем установите пакет с помощью диспетчера пакетов dpkg или rpm
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
Ручная установка Rocket.Chat
Если вы не хотите устанавливать Rocket.Chat через Snaps, вы можете сделать это вручную.
Установка Node.js
Сначала обновите список системных пакетов:
sudo apt update
Установите Node.js, npm и все другие зависимости, необходимые для сборки пакетов npm из исходного кода:
sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick
Мы будем использовать n, пакет npm, который позволяет интерактивно управлять версиями Node.js. Выполните команды ниже, чтобы установить n и Node.js:
sudo npm install -g inherits n
sudo n 8.11.3
Установка MongoDB
MongoDB - это документно-ориентированная база данных NoSQL, которая используется Rocket.Chat для хранения данных.
Импортируйте открытый ключ MongoDB и включите официальный репозиторий MongoDB:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
После включения репозитория apt обновите список пакетов и установите MongoDB, набрав:
sudo apt update
sudo apt install mongodb-org
Затем включите и запустите службу MongoDB:
sudo systemctl start mongod
sudo systemctl enable mongod
Создание нового системного пользователя
Теперь необходимо создать нового пользователя и группу с именем rocket, которые будут запускать инстанс Rocket.Chat.
sudo useradd -m -U -r -d /opt/rocket rocket
Добавьте пользователя www-data в новую группу пользователей и измените права доступа к каталогу /opt/rocket, чтобы Nginx мог получить доступ к установке Rocket.Chat:
sudo usermod -a -G rocket www-data
sudo chmod 750 /opt/rocket
Установка Rocket.Chat
Переключитесь на пользователя rocket
sudo su - rocket
Загрузите последнюю стабильную версию Rocket.Chat с помощью curl:
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
После завершения загрузки извлеките архив и переименуйте каталог в Rocket.Chat:
tar zxf rocket.chat.tgz
mv bundle Rocket.Chat
Перейдите в каталог Rocket.Chat/programs/server и установите все необходимые пакеты npm:
cd Rocket.Chat/programs/server
npm install
Чтобы протестировать нашу установку перед созданием модуля systemd и настройкой обратного прокси с Nginx или Apache, мы установим необходимые переменные среды и запустим сервер Rocket.Chat
export PORT=3000
export ROOT_URL=http://0.0.0.0:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
Вернитесь в каталог Rocket.Chat и запустите сервер Rocket.Chat, введя следующие команды:
cd ../../
node main.js
Если ошибок нет, вы должны увидеть следующий вывод:
? +---------------------------------------------+
? | SERVER RUNNING |
? +---------------------------------------------+
? | |
? | Rocket.Chat Version: 0.71.1 |
? | NodeJS Version: 8.11.3 - x64 |
? | Platform: linux |
? | Process Port: 3000 |
? | Site URL: http://0.0.0.0:3000/ |
? | ReplicaSet OpLog: Disabled |
? | Commit Hash: e73dc78ffd |
? | Commit Branch: HEAD |
? | |
? +---------------------------------------------+
Остановите сервер Rocket.Chat с помощью Ctrl+C и вернитесь к своему пользователю sudo, набрав exit.
Создание модуль Systemd
Чтобы запустить Rocket.Chat как службу, нужно создать файл модуля rocketchat.service в каталоге /etc/systemd/system/.
sudo nano /etc/systemd/system/rocketchat.service
Вставьте следующий код:
[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target
[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://chat.merionet.com PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js
[Install]
WantedBy=multi-user.target
Сообщите systemd, что мы создали новый файл модуля, и запустите службу Rocket.Chat, выполнив:
sudo systemctl daemon-reload
sudo systemctl start rocketchat
Проверьте статус сервиса:
sudo systemctl status rocketchat
Вывод должен быть таким:
* rocketchat.service - Rocket.Chat server
Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-11-07 14:36:24 PST; 5s ago
Main PID: 12693 (node)
Tasks: 10 (limit: 2319)
CGroup: /system.slice/rocketchat.service
`-12693 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js
Наконец, включите автоматический запуск службы Rocket.Chat во время загрузки:
sudo systemctl enable rocketchat
Готово, мы установили Rocket.Chat вручную, теперь можно переходить к настройке обратного прокси и инициализации системы, которые были описаны начиная с шага 3.
Итоги
В этом руководстве вы узнали, как установить Rocket.Chat в Linux и как настроить Nginx и Apache в качестве обратного прокси.
Чтобы узнать больше о Rocket.Chat посетите страницу документации.