По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Протокол EIGRP имеет гораздо более быструю сходимость по сравнению с протоколами RIP и IGRP, потому что в отличие от дистанционно – векторных протоколов маршрутизации, которым необходимо передать таблицы маршрутизации для сходимости, в протоколе EIGRP соседи маршрутизаторы обмениваются только “Hello” пакетами. Используя протокол EIGRP, маршрутизаторы узнают друг друга в процессе сходимости, обмениваясь различными параметрами для установления таблиц маршрутизации. Аналогичные процессы происходят в протоколе OSPF и других протокола состояния канала. Два маршрутизатора могут стать соседями только при выполнении следующих условий: Произошел успешный обмен “Hello” сообщениями Интерфейсы находятся в рамках одной автономной системы Используют одинаковые метрики: EIGRP использует полосу пропускания и задержку в качестве метрик по умолчанию. Если вы решите использовать и другие метрики, такие как загрузка, надежность и MTU, то их необходимо настроить на обоих маршрутизаторах. Таймера “Hello” пакетов используют одно и то же значение для следующих значений: Частота, с которой маршрутизаторы отправляют “Hello” пакеты друг другу. Время, в течении которого, маршрутизатор не отвечает на пакеты и маркируется недоступным. «Hello» пакеты отправляются не только во время процесса сходимости, но и после, для отслеживания статуса того, или иного узла маршрутизации. Если маршрутизатор становится недоступен (не отвечает на пакеты «Hello»), то по истечению указанного выше таймера маршрутизатор отмечаются как недоступный. Обновление маршрутов Даже после полной сходимости, EIGRP продолжает обновлять маршруты на основании доступности роутеров – соседей. Это позволяет маршрутизаторам поддерживать свою собственную таблицу «состояния связей», или по другом, link – state. После того, как маршрутизаторы построят таблицу соседей и таблицу состояния связей, они знают своих соседей, топологию сети в своем ближайшем окружении и топологию сети в ближайшем окружении своих соседей. Далее, каждый маршрутизатор рассчитывает параметры и качество каждого маршрута, который находятся в таблице состояния связей. EIGRP использует DUAL (Diffusing Update Algorithm) для расчета качества маршрута. DUAL (Diffusing Update Algorithm) Cisco использует Diffusing Update Algorithm, или DUAL алгоритм для расчет качества сетевого маршрута в рамках протокола EIGRP. Алгоритм DUAL повышает эффективность протокола EIGRP по сравнению с IGRP, предотвращая появление петель маршрутизации. Отметим следующие характеристики алгоритма DUAL: Для каждой сети назначения рассчитывается маршрут через Successor, или другими словами – лучший маршрут, а также, рассчитывается маршрут через Feasible Successor (второй по приоритету маршрут). DUAL поддерживает маски переменной длинны или VLSA (variable-length subnet masking), позволяя EIGRP выполнять маршрутизации в различных подсетях. Алгоритм DUAL очень быстро рассчитывает новый маршрут в пункт назначения, в случаях, если основной маршрут недоступен. DUAL поддерживает две опции, которые обеспечивают быстрый переход на новую маршрутизацию в случаях недоступности: Successor и Feasible Successor маршруты. Для каждого из путей у EIGRP всегда есть резервный путь. Если оба маршрута, Successor и Feasible Successor недоступны, DUAL выполняет опрос соседей маршрутизаторов, для выбора лучшего маршрута. По причине того, что каждый из соседей маршрутизатора так же имеют Successor и Feasible Successor маршруты, новый маршрут в сеть назначения, полученный от них, является наиболее приемлемым и качественным с точки зрения метрик.
img
Всем привет! В сегодняшней статье расскажем об одном из самых полезных, на наш взгляд, коммерческих модулей FreePBX и продемонстрируем процесс его настройки. Особенно поможет данный модуль системным администраторам, которым часто приходится подготавливать телефонные аппараты для новых сотрудников, а также обслуживать и обновлять их. Итак, встречайте - модуль EndPoint Manager! Его стоимость на момент написания статьи 17.01.18 составляет 149$ (8 418 рубля), лицензия предоставляется на 25 лет. Согласитесь, в масштабах компании - это не такая большая сумма, а время Вашего админа – бесценно :) /p> Конечно, если Вы являетесь счастливым обладателем телефонов от Sangoma, то благами модуля EPM вы можете пользоваться бесплатно :) Обзор Модуль EndPoint Manager позволяет организовать функционал auto-provisioning, когда телефонный аппарат нужно только подключить к сети, а все необходимые настройки он автоматически скачает с сервера, после чего сразу же будет готов к работе. Помимо телефонных аппаратов, с помощью данного модуля можно также настраивать шлюзы, конференц-фоны, беспроводные трубки, дверные телефоны и пэйджинг устройства самых популярных производителей VoIP оборудования: Aastra Algo AND Audiocodes Cisco Cortelco Cyberdata Digium Grandstream HTek Mitel Mocet Obihai Panasonic Phoenix Audio Polycom Sangoma Snom Uniden Vtech Xorcom Yealink Полный список конкретных поддерживаемых устройств можно найти на сайте разработчика: https://wiki.freepbx.org/display/FPG/EPM-Supported+Device Основное предназначение EPM - это создание шаблонов (template) с необходимыми настройками, которые потом можно применять на одном или группе аналогичных устройств, что сводит подготовку устройств к минимуму. Общий механизм работы примерно такой - После создания шаблона с настройками для определённой модели телефонного аппарата, администратор, с помощью модуля EPM, привязывает данный шаблон к конкретному внутреннему номеру (extension) по MAC адресу данного устройства. После этого автоматически создаётся конфигурационный файл вида ХХХХ.cfg, где ХХХХ – MAC адрес устройства, который, сервер FreePBX с установленным EPM, хранит на файловом хранилище. Когда телефонный аппарат подключается в сеть, то вместе с IP адресом, он получает по DHCP адреса сервера (option 66), на котором для него создан файл конфигурации. После чего телефон обращается на данный сервер и скачивает готовую конфигурацию и, опционально, актуальную прошивку. То есть, по сути, для того чтобы ввести новый телефон в эксплуатацию, нам нужно только подключить его в сеть, узнать его MAC адрес и всё! Более подробно про процесс auto-provisioning и option 66 можно почитать в нашей статье Модуль имеет несколько подразделов, каждый из которых имеет своё предназначение, рассмотрим их: Global Settings - в данном разделе настраиваются общие параметры модуля, такие как внутренняя и внешняя адресация, порты, административные и пользовательские пароли для устройств Extension Mapping - данный раздел предназначен для настройки соответствия внутреннего номера, настроенного на IP-АТС и назначения определённого шаблона конфигурации. Привязка происходит по MAC адресу аппарата Brands - данный раздел содержит шаблоны конфигураций для определённого бренда и моделей VoIP оборудования. Брендов может быть несколько, они добавляются в разделе Add Brand. По умолчанию тут только шаблон для телефонов Sangoma. Add Brand - здесь Вы можете добавить новый бренд, для которого в дальнейшем будете создавать шаблоны конфигураций Image Management - данный раздел предназначен для управления фоновым изображением на телефонном аппарате, если конечно он его поддерживает Ringtone Management - данный раздел предназначен для управления рингтонами звонка на телефонном аппарате; Basefile Edit - с помощью данного раздела можно изменять дефолтные параметры самих шаблонов для любой модели телефона. Как правило, это подразумевает редактирование XML файла конфигурации. Custom Extensions - данный раздел предназначен для настройки телефонных аппаратов, которые не зарегистрированы на вашей АТС. Поскольку модуль EPM по умолчанию видит только пул внутренних номеров локальной АТС, то для настройки удалённых устройств, например с другой АТС, необходимо сначала объявить их в этом разделе. Firmware Management - данный раздел позволяет управлять прошивками устройств всех брендов. Помимо этого, можно управлять их версиями и назначать определённому шаблону ту или иную версию прошивки. Network Scan - с помощью данной утилиты можно просканировать сеть и получить список MAC адресов устройств, которым ещё не назначены шаблоны конфигураций и сразу же их назначить через раздел Extension Mapping. Стоит отметить, что поскольку MAC адреса не маршрутизируются, то определить можно только устройства, находящиеся в одной сети с IP-АТС, поэтому здесь нужно указывать локальную сеть. То есть, например, если IP адрес Вашей АТС – 192.168.11.64/24, то Вы сможете успешно просканировать только устройства в сети 192.168.11.0/24. Настройка Рассмотрим подробнее каждый из разделов, описанных выше. После установки, модуль появляется в разделе Settings. Доступ к разделам модуля осуществляется по нажатию на кнопку в правом углу: Первое, с чего необходимо начать - это глобальные настройки Global Settings. Internal IP - здесь указываем локальный адрес нашей IP- АТС. Можно ввести слово auto, тогда локальный IP адрес будет определён автоматически. External IP - в этом поле указываем внешний адрес нашей IP-АТС или валидный FQDN. Это поле нужно только если у вас есть телефоны, которые подключаются из вне. Можно ввести слово auto, тогда внешний IP адрес будет определён автоматически, чтобы не использовать данное поле – введите none Ports - данная секция отображает номера портов, которые настроены для различных сервисов - Web Server - порт для доступа к вэб-интерфейсу модуля, HTTP Provisioning - порт для auto-provisioning по протоколу HTTP, TFTP Provisioning - порт для auto-provisioning по протоколу TFTP, RESTful Apps - порт использующийся для интеграции Phone Apps с IP-АТС. Номера данных портов настраиваются в модуле System Admin, настроить через EPM их нельзя. Phone Admin Password - здесь можно административный пароль для доступа к вэб-интерфейсу телефонных аппаратов. Пароль будет одинаковым для всех устройств под управлением модуля EPM Phone User Password - некоторые телефоны имеют разные уровни доступа к вэб-интерфейсу управления. В данном поле можно настроить пароль для пользовательского уровня. ReSync Time - время, по истечению которого телефон будет заного запрашивать конфигурацию с сервера, чтобы актуализировать её. По умолчанию это день – 86400 секунд XML-API (RestAPI) Default Login - разрешает доступ к Phone Apps, если это поддерживается телефоном. Extension Mapping IP Address и Phone Status - здесь настраивается как будет отображаться статус телефонного аппарата в разделе Extension Mapping. Можно показывать IP адрес телефона и время последнего ping’а данного аппарата По завершению настроек необходимо нажать Save Global Теперь, когда у нас есть глобальные настройки, можно добавлять и настраивать шаблоны для любых брендов телефонных аппаратов, которые будут подключаться к нашей IP-АТС. Для этого открываем меню и кликаем Add Brand, перед нами откроется список поддерживаемых производителей, выберем Cisco. После этого, перед нами откроется окно с параметрами настроек нового шаблона для устройств Cisco: Внимание! Дальнейшие параметры могут отличаться в зависимости от выбранного в предыдущем шаге производителя. Ниже будет приведён пример для Cisco Template Name - имя шаблона. Рекомендуем указывать здесь модели, для которых создаётся шаблон, а также для каких телефонных аппаратов он предназначен – локальных или удаленных. Например, в нашем случае шаблон будет для локальных телефонов Cisco SPA 504G Destination Address - адрес IP-АТС, на который телефон будет обращаться для того, чтобы зарегистрироваться. Значения Internal и External берутся из Global Settings или же вы можете указать адрес вручную нажав Custom Provision Server Protocol - протокол, который будут использовать телефоны для получения своих конфигурационных файлов - TFTP или HTTP Provision Server Address адрес provisioning сервера, на который телефон будет обращаться для получения конфигурации. Значения Internal и External берутся из Global Settings или же вы можете указать адрес вручную нажав Custom. В нашем случае - Destination Address и Provision Address будут совпадать и являться адресом IP-АТС 192.168.11.64, это наиболее распространённый случай. Time Zone - временная зона Primary Time Server и Time Server 2 - сервера синхронизации времени NTP Daylight Savings - включает переход на летнее время Background Image - фоновое изображение для телефонного аппарата. Загружается в разделе Image Management Line Label - позволяет вывести идентификатор линии на LCD экран телефона (если он есть): Extension - выводит внутренний номер, например “7007” Name - выводит имя внутреннего номера, например “Alex Dobronravov” Name-Extension - выводит имя и номер, например “Alex Dobronravov 7007” Обратите внимание, что в зависимости от используемого телефона количество отображаемых символов может быть ограничено Dial Pattern - здесь можно поменять стандартные шаблоны набора номера, используемые телефоном. Символы в данном поле будут зависеть от выбранного производителя Firmware Version - здесь мы можем настроить загрузку прошивок для моделей телефонных аппаратов, для которых создаётся шаблон. При нажатии на кнопку Firmware Management мы попадаем в соответствующий раздел, в котором уже доступны все прошивки для телефонов Cisco (в том числе и для нужного нам SPA 504G), выберем самый актуальный пак. В каждом паке содержатся прошивки для разных моделей телефонов. Из пака загружаются только прошивки для моделей, которые выбраны в шаблоне. Можно указать разные версии прошивок, для этого нужно выбрать разные паки в Firmware Slot 1 и с После чего в настройках шаблона в поле Firmware Version мы можем выбрать нужный слот, чтобы загрузить его на все телефонные аппараты, которые будут выбраны в данном шаблоне. Available Phones - в данном списке находим нужную нам модель телефонного аппарата (в нашем случае – SPA 504G) и кликаем на неё. После чего перед нами открывается окно с настройками кнопок телефонного аппарата. Доступные настройки будут зависеть от выбранной модели В данном случае мы настроили на первой кнопке телефона SPA 504G отображение линии, а на второй BLF по номеру 3032. Отметим, что подобная конфигурация будет присвоена всем телефонам, которым мы назначим данный шаблон. Если их много, то некоторым, например, может не понадобиться BLF одного и того же номера, учитывайте это. В дальнейшем, настройки кнопок можно будет изменить для каждого телефона индивидуально. Отметим также, что можно создать один шаблон для нескольких моделей телефонов (а также для панелей расширения Expansion Module и других устройств, например, в случае Cisco - FXS), для этого просто отметьте и настройте необходимые модели: По завершению настройки шаблона доступно несколько опций сохранения - Save - просто сохранит новый шаблон, Save and Rebuild Config(s) - сохранит конфигурацию подготовит её к загрузке на телефоны, которые используют данный конфиг при следующем цикле синхронизации, Save, Rebuild and Update Phones - данный вариант перезапишет новую конфигурацию, подготовит её к загрузке на телефоны, которым назначен данный шаблон и отправят её на эти телефоны, что может вызвать перезагрузку телефонов. Стоит отметить, что пока никаким телефонам не назначен данный шаблон – при использовании опций Save and Rebuild Config(s) и Save, Rebuild and Update Phones ничего не произойдёт, опции действуют только когда в разделе Extension Mapping есть активные устройства. Для более тонкой настройки параметров, которые невозможно настроить стандартными средствами шаблона, используйте функционал Basefile Edit. Он предназначен для опытных пользователей и позволяет править конфигурацию шаблона для определённой модели на уровне её конфигурационного файла, как правило – формата XML Завершение настройки и назначение настроенного шаблона телефонным аппаратам Теперь, когда мы закончили с настройкой шаблона, самое время привязать его к внутреннему номеру и к конкретному телефонному аппарату. Для этого есть 2 способа: Предварительно убедитесь, что настраиваемые телефонные аппараты подключены в сеть и получают адреса по DHCP. Также, на DHCP сервере должна быть настроена опция 66 (option 66), сообщающая телефону адрес provisioning сервера, на котором хранится конфигурация. Заходим в раздел Extension Mapping и нажимаем Add Extension. Выбираем внутренний номер, из списка зарегистрированных на нашей IP-АТС, которому хотим назначить шаблон (тут также можно настроить Custom Extension, о котором говорилось выше), далее выбираем учётную запись SIP, в нашем случае - Account 1. Во втором столбце выбираем бренд - Cisco и ниже прописываем MAC адрес настраиваемого телефона. В последнем столбце выбираем шаблон, который мы только что настроили (в нашем случае spa504g_internal) и модель телефона (в нашем случае Cisco SPA 504G) После этого выбираем способ сохранения конфигурации и нажимаем Use Selected. Мы выбрали Save, Rebuild and Update Phones, чтобы конфиг сразу же отправился на телефон. Заходим в модуль Extensions ищем нужный внутренний номер и открываем вкладку Other. В разделе Endpoint заполняем необходимые поля и нажимаем Submit В обоих случаях, после данных манипуляций, создаётся конфигурационный файл XXXXYYYYZZZZ.cfg , где XXXXYYYYZZZZ – МАС адрес телефонного аппарата и хранится в файловом хранилище сервера. Когда телефон подключится в сеть, то от DHCP сервера он получит IP адрес, а также через опцию 66 – адрес provisioning сервера, в нашем случае – это TFTP сервер 192.168.11.64. Телефонный аппарат обратится на TFTP сервер и скачает от туда свой конфигурационный файл XXXXYYYYZZZZ.cfg. Таким образом, телефон будет сразу готов к работе.
img
Ansible один из двух (наряду с SaltStack) наиболее популярных программных комплексов третьей волны, которые позволяют удалённо управлять конфигурациями. Тем не менее, в сегменте сетевого оборудования лидирует наш сегодняшний герой (если о ПО можно так сказать). В первую очередь это вызвано тем, что Ansible не поставит перед пользователем задачи устанавливать агент на хостинги, требующие от него управления. Тем паче ежели Ваш аппарат взаимодействует с ними через CLI, то Ansible это то, что доктор прописал. Одним выстрелом три "электронных зайца" Вообще, прежде чем знакомить уважаемых читателей со сценарием работы в данном программном комплексе, позвольте перечислить несколько его достоинств: Ansible позволяет параллельно подключать по SSH к устройствам (пользователь может сам определить их число). Ansible может передавать задачи на подключённые машины. Ansible способен разбивать машины, входящих в систему, на подгруппы и передавать специальных задачи для каждой подгруппы. Конечно, указаны не все достоинства Ansible. Просто в данных 3 пунктах, как мне кажется, отражена основная суть работы в данной среде. Выполняя эти три задачи, система автоматически освобождает Вас от головной боли по делегированию задач и функций в компании. Время деньги, как говорится. Сценарии Ну и переходим к основному блюду нашего материала - сценариям (playbook). Они состоят из двух частей набора команд для выполнения (play) и конкретных команд (task). Они выполняются друг за другом. Все записи данных осуществляются с помощью YAMLа. К несомненным плюсам его использования следует отнести то, что он гораздо лучше воспринимается людьми, нежели тот же самый JSON. Ежели Вы больше привыкли Вы к Python, то тут у Вас не возникнет проблем с адаптацией, так как синтаксис у них схожий. А вот так происходит процесс написания сценария (комментарии даны построчно к выводу): Имя сценария обязательный элемент для любого сценария; Сценарий применяется к машинам в подгруппе cisco-routers; Выключение режима сбора событий в конкретной машине (если не выключить данный режим, то система потратит много времени на решение ненужных задач); В разделе task указывается список команд для каждого конкретного случая; После чего происходит выполнение команды: PLAY [Run show commands on routers] *************************************************** TASK [run sh ip int br] *************************************************************** changed: [192.168.100.1] changed: [192.168.100.3] changed: [192.168.100.2] TASK [run sh ip route] **************************************************************** changed: [192.168.100.1] changed: [192.168.100.3] changed: [192.168.100.2] PLAY [Run show commands on switches] ************************************************** TASK [run sh int status] ************************************************************** changed: [192.168.100.100] TASK [run sh vlans] ******************************************************************* changed: [192.168.100.100] PLAY RECAP **************************************************************************** 192.168.100.1 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.100 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.2 : ok=2 changed=2 unreachable=0 failed=0 192.168.100.3 : ok=2 changed=2 unreachable=0 failed=0 И запускаем проверку выполнения команд: SSH password: PLAY [Run show commands on routers] *************************************************** TASK [run s hip int br] *************************************************************** Changed: [192.168.100.1] => {“changed”: true, “rc”: 0, “stderr”: “Shared connection To 192.168.100.1 closed. ”, “stdout”: “ Interface IP-Address OK? Method Status Protocol Ethernet0/0 192. 168.100.1 YES NVRAM up up Ethernet0/1 192.168.200.1 YES NVRAM up up Loopback0 10.1.1.1 YES manual up up ”, “stdout_lines “: [“”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/1 192.168.200.1 YES NVRAM up up “, “Loopaback0 10.1.1.1 YES manual up up “]} А что внутри? А теперь поговорим о начинке сценария. Основу составляют переменные. Это могут быть данные о машине, выводы команд, а также их можно вводить вручную. Главное не забывать правила написания имён. Их всего два: имена всегда должны состоять из букв, цифр и нижнего подчёркивания; имена всегда должны начинаться с буквы. Переменные могут быть определены разными способами: Инвентарным файлом [cisco-routers] 192.168.100.1 192.168.100.2 192.168.100.3 [cisco-switches] 192.168.100.100 [cisco-routers:vars] ntp_server=192.168.255.100 log_server=10.255.100.1 PLAYBOOKом -name: Run show commands on router: hosts: cisco-routers gather_facts: false vars: ntp_server: 192.168.255.100 log_server: 10.255.100.1 tasks: -name: run sh ip int br raw: s hip int br | ex unass -name: run s hip route raw: sh ip route Специальными файлами, созданными для групп: [cisco-routers] 192.168.100.1 192.168.100.2 192.168.100.3 [cisco-switches] 192.168.100.100 Или группами каталогов |– group_vars _ | |– all.yml | | |–cisco-routers.yml | Каталог с переменными для групп устройств | |–cisco-switches.yml _| | |–host vars _ | |–192.168.100.1 | | |–192.168.100.2 | | |–192.168.100.3 | Каталог с переменными для устройств | |–192.168.100.100 _| | |–myhosts | Инвертарный файл Команда register позволяет сохранять результаты выполнений модулей в переменные. После чего переменная может быть использована в шаблонах, принятиях решений о выполнении заданного сценария. --- - name: Run show commands on routers hosts: cisco-routers gather_facts: false tasks: -name: run s hip int br raw: s hip int br | ex unass register: sh_ip_int_br_result --- debug отображает информацию в стандартном потоке вывода в виде произвольной строки, переменной или фактах о машине. --- - name: Run show commands on routers hosts: cisco-routers gather_facts: false tasks: -name: run s hip int br raw: sh ip int br | ex unass register: sh_ip_int_br_result -name: Debug registered var debug: var=sh_ip_int_br_result.stdout_lines После чего результатом работы станет следующее: SSH password: PLAY [Run show commands on routers] *************************************************** TASK [run sh ip int br] *************************************************************** changed: [192.168.100.1] changed: [192.168.100.2] changed: [192.168.100.3] TASK [Debug registered var] *********************************************************** ok: [192.168.100.1] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/1 192.168.200.1 YES NVRAM up up “, “Loopback0 10.1.1.1 YES manual up up “ ] } ok: [192.168.100.2] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.1 YES NVRAM up up “, “Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “, “Loopback0 10.1.1.1 YES manual up up “ ] } ok: [192.168.100.3] => { “sh_ip_int_br_result.stdout_lines”: [ “”, “Interface IP-Address OK? Method Status Protocol”, “Ethernet0/0 192.168.100.3 YES NVRAM up up “, “Ethernet0/2 192.168.200.1 YES NVRAM administratively down down “, “Loopback0 10.1.1.1 YES manual up up “, “Loopback10 10.255.3.3 YES manual up up “ ] } PLAY RECAP **************************************************************************** 192.168.100.1 : ok=2 changed=1 unreachable=0 failed=0 192.168.100.2 : ok=2 changed=1 unreachable=0 failed=0 192.168.100.3 : ok=2 changed=1 unreachable=0 failed=0 Вместо заключения Можно ещё долго приводить примеры работы в системе, но ещё один факт так сказать "вишенка на торте". К плюсам Ansible следует отнести и то, что заданную команду система может выполнять практически до бесконечности. Пока не наступит требуемый результат трансформации не прекратятся. Пользователю можно не беспокоиться - программа сама всё сделает за Вас, а Вы можете заниматься другими делами.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59