По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Всем привет! В этой статье мы расскажем, что такое Call Park в Cisco Unified Communications Manager (CUCM) , и как его настроить. Функция Call Park позволяет абоненту временно удержать вызов, поместив его в так называемый Call Park слот, чтобы потом другой абонент в системе CUCM смог его забрать (извлечь из слота). Например, вам звонит клиент и спрашивает о продукте, которым занимается другой отдел. В этом случае вы можете запарковать вызов, связаться с коллегой из другого отдела и сказать, чтобы он перехватил вызов, набрав Call Park номер. На каждый Call Park номер можно запарковать один звонок. Есть другой тип этой функции, который называется Directed Call Park, где для перехвата вызова необходимо ввести префикс код. Настройка Call Park В Call Manager Administration переходим во вкладку Call Routing → Call Park и для создания нажимаем Add New. В строке Call Park Number/Range нужно указать номе или диапазон номеров, которые будут использоваться для парковки. Если указываем диапазон номеров, то можно использовать wildcard символы, которые используются в Route Pattern (например, если нам нужно значение номера с 8880 по 8889, то указываем 888X). Затем в строке Cisco Unified Communications Manager из выпадающего меню выбираем желаемый сервер. Если Call Park настраивается на нескольких серверах, то необходимо убедиться что диапазоны номеров не пересекаются между серверами. После настройки нажимаем кнопку Save. Для настройки Directed Call Park нужно произвести похожие действия. Переходим во вкладку Call Routing → Directed Call Park и нажимаем Add New. В новом окне в поле Number указываем номер или диапазон номеров для парковки. Затем в строке Retrieval Prefix указываем код, который необходимо набрать, для того чтобы перехватить удерживаемый звонок. Также в поле Reversion Number можно указать номер, на который будет переадресовываться вызов, если никто его не перехватит до того как истечет таймер Call Park Reversion (по умолчанию 60 секунд). Для сохранения настроек нажимаем Save. Теперь Call Park настроен и кнопку парковки можно вывести на экран, добавив ее в Button Template или Softkey Template.
img
Виртуализация часто применяется для поиска более простого способа решения некоторых проблем, отмеченных в начальных статьях этой темы, таких как разделение трафика. Как и все в мире сетевой инженерии, здесь есть компромиссы. На самом деле, если вы не нашли компромисс, вы плохо искали. В этом разделе будут рассмотрены некоторые (хотя, конечно, не все) различные компромиссы сложности в области виртуализации сети. Основой этого обсуждения будет триада компромиссов сложности: Состояние: количество состояний и скорость, с которой изменяется состояние в сети (особенно в плоскости управления). Оптимизация: оптимальное использование сетевых ресурсов, включая такие вещи, как трафик, следующий по кратчайшему пути через сеть. Поверхность: количество слоев, глубина их взаимодействия и широта взаимодействия. Поверхности взаимодействия и группы связей общих рисков Каждая система виртуализации, когда-либо задуманная, реализованная и развернутая, создает в некотором роде общий риск. Например, рассмотрим одну линию, по которой передается несколько виртуальных каналов, каждый из которых передает трафик. Должно быть очевидным (на самом деле тривиальным) наблюдение, что в случае отказа одного физического канала произойдет сбой всех виртуальных каналов. Конечно, вы можете просто перенаправить виртуальные каналы на другой физический канал. Правильно? Может быть, а может и нет. Рисунок 1 иллюстрирует это. С точки зрения A и D, есть две линии, доступные через B и C, каждая из которых обеспечивает независимое соединение между хостом и сервером. В действительности, однако, и провайдер 1, и провайдер 2 приобрели виртуальные каналы через единственное соединение у провайдера 3. Когда единственное соединение в сети провайдера 3 выходит из строя, трафик может быть перенаправлен с основного пути через провайдера 1 на путь через провайдера. 2, но поскольку оба канала используют одну и ту же физическую инфраструктуру, ни одна из них не сможет передавать трафик. Говорят, что эти два звена в этой ситуации разделяют одну общую судьбу, потому что они являются частью Shared Risk Link Group (SRLG). Можно найти и обойти SRLG или ситуации с shared fate, но это усложняет плоскость управления и/или управление сетью. Например, невозможно обнаружить эти shared fate без ручного тестирования различных ситуаций отказа на физическом уровне или изучения сетевых карт, чтобы найти места, где несколько виртуальных каналов проходят по одному и тому же физическому каналу. В ситуации, описанной на рисунке 1, найти ситуацию с shared fate было бы почти невозможно, поскольку ни один из провайдеров, скорее всего, не скажет вам, что использует линию от второго провайдера, показанного на рисунке как провайдер 3, для предоставления услуг. Как только эти ситуации с shared fate обнаружены, необходимо предпринять некоторые действия, чтобы избежать серьезного сбоя в работе сети. Обычно для этого требуется либо вводить информацию в процесс проектирования, либо усложнять дизайн, либо вводить информацию в плоскость управления (см. RFC8001 в качестве примера типа сигнализации, необходимой для управления группами SRLG в плоскости управления, спроектированной трафиком). По сути, проблема сводится к следующему набору утверждений: Виртуализация - это форма абстракции. Абстракция удаляет информацию о состоянии сети с целью снижения сложности или предоставления услуг за счет реализации политики. Любое нетривиальное сокращение информации о состоянии сети так или иначе снизит оптимальное использование ресурсов. Единственным противодействием конечному состоянию из этих трех, является протекание информации через абстракцию, поэтому можно восстановить оптимальное использование ресурсов - в этом случае отказ одного канала не вызывает полного отказа потока трафика через сеть. Единственное решение, таким образом, - сделать абстракцию сквозной абстракцией, что снизит эффективность абстракции при контроле области действия состояния и реализации политики. Поверхности взаимодействия и наложенные плоскости управления В сетевой инженерии принято накладывать друг на друга два протокола маршрутизации или две плоскости управления. Хотя это не часто рассматривается как форма виртуализации, на самом деле это просто разделение состояния между двумя различными плоскостями управления для контроля количества состояний и скорости изменения состояний, чтобы уменьшить сложность обеих плоскостей управления. Это также часто встречается при запуске виртуальных наложений в сети, поскольку между головным и хвостовым узлами туннеля будет существовать нижележащая плоскость управления, обеспечивающая достижимость, и плоскость управления наложением, обеспечивающая достижимость в виртуальной топологии. Две наложенные друг на друга плоскости управления будут взаимодействовать иногда неожиданным образом. Для иллюстрации используется рисунок 2. На рисунке 2: Каждый маршрутизатор в сети, включая B, C, D и E, использует две плоскости управления (или, если это проще, протоколы маршрутизации, отсюда протокол 1 и протокол 2 на рисунке). Протокол 1 (оверлей) зависит от протокола 2 (базовый) для обеспечения доступности между маршрутизаторами, на которых работает протокол 1. Протокол 2 не содержит информации о подключенных устройствах, таких как A и F; вся эта информация передается в протоколе 1. Протокол 1 требует гораздо больше времени для схождения, чем протокол 2. Более простой путь от B к E проходит через C, а не через D. Учитывая этот набор протоколов, предположим, что C на рисунке 2 удален из сети, двум управляющим плоскостям разрешено сходиться, а затем C снова подключается к сети. Каков будет результат? Произойдет следующее: После удаления C сеть снова объединится с двумя путями в локальной таблице маршрутизации в B: F доступен через E. E доступен через D. После повторного подключения C к сети протокол 2 быстро сойдется. После повторной конвергенции протокола 2 лучший путь к E с точки зрения B будет через C. Следовательно, у B теперь будет два маршрута в локальной таблице маршрутизации: F доступен через E. E достижимо через C. B перейдет на новую информацию о маршрутизации и, следовательно, будет отправлять трафик к F через C до того, как протокол 1 сойдется, и, следовательно, до того, как C узнает о наилучшем пути к F. С момента, когда B начинает пересылку трафика, предназначенного для F в C, и момента, когда протокол 1 сойдется, трафик, предназначенный для F, будет отброшен. Это довольно простой пример неожиданного взаимодействия наложенных протоколов. Чтобы решить эту проблему, вам необходимо ввести информацию о состоянии конвергенции протокола 1 в протокол 2, или вы должны каким-то образом заставить два протокола сходиться одновременно. В любом случае вы по существу добавляете состояние обратно в два протокола, чтобы учесть их разницу во времени конвергенции, а также создавая поверхность взаимодействия между протоколами. Примечание: Этот пример описывает фактическое взаимодействие конвергенции между IS-IS и BGP, или протоколом Open Shortest Path First (OSPF) и BGP. Чтобы решить эту проблему, более быстрый протокол настроен на ожидание, пока BGP не сойдется, прежде чем устанавливать какие-либо маршруты в локальной таблице маршрутизации.
img
Всем привет! Сегодня в статье рассмотрим установку MySQL Server на CentOS 7. MySQL – популярная реляционная СУБД с открытым кодом, и, её популярность означает огромное количество информации в интернете и большое количество хорошо документированных библиотек. MySQL поддерживает множество стандартных функций, присущих СУБД – репликацию, триггеры и прочие. В большинстве дистрибутивов по умолчанию присутствуют репозитории, в которых есть нужный нам пакет MySQL – однако, на примере CentOS 7 Minimal я хотел бы показать процесс добавления официального YUM репозитория от Oracle, в котором всегда доступна последняя версия. Процесс установки Предварительно нам необходимо установить wget чтобы скачивать файлы – для этого выполните команду yum install wget. Далее, для начала процесса установки необходимо зайти на сайт MySQL по следующему линку: http://dev.mysql.com/downloads/repo/yum/ , выбрать необходимый дистрибутив (в нашем случае - Red Hat Enterprise Linux 7 / Oracle Linux 7) и нажать Download. Ссылка для скачивания может быть получена без регистрации, для этого нужно найти слова «No thanks, just start my download» Скопируем адрес ссылки и выполним команду wget с этим адресом: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm Без каких-либо модификаторов команда wget скачает файл в каталог, в котором вы находитесь в данный момент, далее необходимо выполнить команду rpm –Uvh mysql57-community-release-el7-11.noarch.rpm - для более простого ввода имени пакета воспользуйтесь табуляцией (нажать Tab). Теперь подключен официальный репозиторий Oracle, настала очередь установки непосредственно самого MySQL сервера: yum –y install mysql-community-server Процесс скачивания и установки пакета займёт какое-то время. Далее необходимо разрешить автозапуск демона MySQL при загрузке: /usr/bin/systemctl enable mysqld И запустить сам MySQL сервер: /usr/bin/systemctl start mysqld Настройка безопасности После старта сервера, необходимо настроить политики безопасности – для этого служит скрипт mysql_secure_installation - но предварительно нам понадобится случайно сгенерированный пароль для root – его можно выяснить с помощью команды grep 'temporary password' /var/log/mysqld.log. Пример на скриншоте ниже: Далее нужно ввести команду /usr/bin/mysql_secure_installation и вам будет предложено ввести данный пароль на рут, поменять его на нечто вроде E+FW4tz8$?/7$dCm и ответить на несколько вопросов: Set root password? [Y/n] Y - установка пароля на root; Remove anonymous users? [Y/n] Y - удаление анонимных пользователей; Disallow root login remotely? [Y/n] Y - запрет удаленного логина; Remove test database and access to it? [Y/n] Y - удаление тестовых баз данных и доступа к ним; Reload privilege tables now? [Y/n] Y - перезагрузка привилегированных таблиц; Очень советую пароль придумать максимально сложный – кроме того, по дефолту, у вас не получится поставить простой пароль. Создание тестовой базы данных и манипуляции с пользователями Когда вам понадобится дать доступ какому-нибудь приложению доступ к вашей БД, ни в коем случае нельзя этого делать от пользователя root – для каждого приложения должен быть создан свой пользователь. Для создания, сначала необходимо зайти в MySQL от имени администратора с помощью команды mysql -u root -p mysql . Далее я приведу пример создания БД testdb и открытия полного доступа к этой БД для пользователя testuser (имя пользователя и пароль соответственно необходимо скорректировать относительно вашей непосредственной задачи): create database testdb; grant all on appdb.* to 'testuser'@'localhost' identified by 'password'; quit Для проверки доступа нужно использовать команду mysql -u testuser -p -h localhost testdb , а для выводы всех имеющихся БД – команду SHOW DATABASES; Рассмотрим пример создания пользователя для MySQL и просмотра списка всех пользователей. MySQL содержит информацию о пользователях в своей собственной базе данных под названием mysql, внутри которой информация о пользователях находится в виде таблицы под названием user. Если вы хотите вывести весь список пользователей, то необходимо выполнить следующую команду: SELECT User, Host, Password FROM mysql.user; Это стандартный MySQL синтаксис. Давайте разберемся с ним: SELECT - запрос информации; User, Host, Password - конкретизация полей, из которых информация должна быть извлечена. В данном случае мы ищем информацию о пользователе, хостнейме и зашифрованном пароле; FROM mysql.user - запрашиваем информацию мы из БД mysql и таблицы user; ; - точка с запятой означают конец команды, в MySQL все запросы должны кончаться точкой с запятой;
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59