По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Функция Call Waiting при настройке в Asterisk или через FreePBX позволяет внутреннему номера принимать второй параллельный вызов, во время текущего разговора. Основной проблемой Call Waiting является то, что звонящий занятому абоненту слышит стандартный КПВ (Контроль посылки вызова, или просто гудок) в телефонной трубке, что создает ложное ощущение игнорирования. Звонящий думает, что вызываемый абонент не взял трубку по причине обеда, перекура, невнимательности или похищения пришельцами. Нас такой вариант не устраивает и мы предлагаем решение: звуковое уведомление звонящего о том, что вызываемый абонент сейчас разговаривает и не может принять вызов. Предложим звонящему подождать или позвонить попозже. Приступаем к реализации. Настройка extensions_custom.conf Как можно понять по названию заголовка, настройку мы будем производить в одноименном файле extensions_custom.conf, который находится в директории /etc/asterisk/:. Открываем для редактирования: vim /etc/asterisk/extensions_custom.conf После чего, добавляем в файл следующую конфигурацию: [from-internal-custom] include => macro-dialout-one-predial-hook [macro-dialout-one-predial-hook] exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})}) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Set(D_OPTIONS=Ttm)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "RINGINUSE"]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "RINGINUSE"]?Set(D_OPTIONS=Ttm)) Разберемся с каждой строчкой контекста macro-dialout-one-predial-hook: exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})}) - выводим в консоль сервера состояние хинта. Здесь может быть : UNKNOWN, NOT_INUSE, INUSE, BUSY, UNAVAILABLE, RINGING, RINGINUSE, HOLDINUSE, ONHOLD exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Playback(/var/lib/asterisk/sounds/ru/custom/busytest)) - проверяем статус хинта: если он равен INUSE (находится в разговоре), то проигрываем для него заранее записанный файл (/var/lib/asterisk/sounds/ru/custom/busytest, где сообщаем звонящему о занятости и просим подождать; exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Set(D_OPTIONS=Ttm)) - сразу после озвучивания нашего аудио, играем MoH (Music On Hold) звонящему; Аналогичным способом, как показано выше, мы проводим проверку для состояния хинта равному RINGINUSE. Готово. Перегружаем диалплан командой: asterisk -rx "dialplan reload" Не работает с Follow Me Если вы столкнулись с проблемой того, что данный функционал не работает на внутренних номерах, в настройках которых включена опция Follow Me, то сделайте следующие действия: Откройте графический интерфейс FreePBX. Перейдите в раздел Settings → Advanced Settings; Найдите опцию Default Follow Me Ring Strategy в разделе Follow Me Module и выставьте ее как ringallv2; Повторите подобную итерацию для каждого экстеншена в разделе Follow Me; Дайте команду asterisk -rx "dialplan reload" в консоль вашего сервера;
img
Сегодня в статье я хочу затронуть вопрос удаленного включения RDP, он же удаленный рабочий стол. Все хоть раз пользовались этой незаменимой фичей, а кто-то использует ее для администрирования на ежедневной основе. По умолчанию, на серверных платформах Windows удаленное управление (WinRM) включено, но функция удаленного рабочего стола выключена, а на десктопной версии обе функции выключены по умолчанию, поэтому, для выполнения описанного ниже, в начале придется включить WinRM на десктопе. Итак, перейдем к методам - далее описаны непосредственно способы включения и отключения RDP (входит и замечательно выходит!) Метод номер один: командная строка Для включения удаленного рабочего стола (RDP) через командную строку, выполните следующее: Запустите командную строку от имени администратора; Выполните следующую команду: Reg add “\computernameHKLMSYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d /f В свою очередь, чтобы выключить RDP через командную строку, следуйте следующим шагам: Запустите командную строку; Выполните команду: Reg add “\computernameHKLM SYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d 1 /f Метод номер два: используем PowerShell Для того, чтобы включить RDP через PowerShell, выполните следующие действия: Способ 1: Для включения удаленного рабочего стола: Запустите PowerShell от имени администратора; Запустите следующую команду и используйте метод Invoke-Command: Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value } Далее введите команду: Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Enable-NetFirewallRule -DisplayGroup "Remote Desktop"} И, как традиция, обратные шаги: Запускаем PowerShell от имени админа; Вводим команду: Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1} Второй способ включения через PowerShell: Запускаем PowerShell от имени админа и создаем PowerShell сессию с нужным компьютером; Введите команду: Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value И следующую команду: Enable-NetFirewallRule -DisplayGroup "Remote Desktop" Чтобы выключить: Повторяем первые два шага из предыдущего пункта (про повершелл и сессию); Вводим команду: Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1 Важно: Computername - это имя компьютера, на котором будет включен RDP. Важно: Включение удаленного рабочего стола через командную строку не настроит фаервол с точки зрения использования правильных портов для того, чтобы разрешить RDP подключения. Важно: По умолчанию, только локальные Администраторы и пользователь, который уже вошел в систему, смогут использовать RDP. И в заключение На этом все, надеюсь, было полезно! И помните, если вы даете кому-нибудь доступ по RDP на компьютер в вашей сети, это несет в себе риски - вы должны быть уверены в человеке, который будет заходить по RDP и в том, что доступ дан через защищенный канал связи!
img
Если Вы не раз сталкивались с большими списками доступа и/или входящими в них object-группами, то наверняка уже задавались вопросом, существует ли инструмент, позволяющий определить, пропустит ли access-лист некий заданный трафик и вообще, какие строки имеют к этому отношение. Конечно, такие инструменты существуют и полностью или частично решают перечисленные задачи. Однако, эти инструменты как правило являются частью функционала больших "комбайнов" управления сетью, 90% функционала которых Вас не интересует. Чтобы продолжить, необходимо скачать утилиту ACL check Безусловно, никто не запрещает использовать регулярные выражения для поиска определённых строк списка доступа прямо в консоли сетевого устройства. Но данный метод предоставит очень поверхностный результат. Например, он не отобразит доступ хоста, попадающего в сетевую маску или порт, попадающий под диапазон. Тем более, таким образом нельзя отобразить все существующие доступы между двумя заданными узлами/сетями. Знающий сетевой администратор осведомлён о безрезультативности метода простого парсинга access-листа в таких ситуациях. Данная небольшая утилита создана именно для этого - найти строки access-листа, разрешающие или запрещающие определённый сетевой трафик. И даже более - выявить все строки, имеющие отношение к доступам между интересующими узлами или сетями. Идея использования проста: Вы задаёте критерий, а программа находит строки access-листа, которые ему удовлетворяют. При этом, сам критерий выглядит как строка access-листа, но без использования оператора "permit" или "deny". Если регулярно добавлять сетевые правила в access-лист без должной проверки их существования, то списки доступа могут содержать большое количество избыточных правил. Чтобы навести порядок в таких access-листах, в данной программе реализован функционал анализа списков доступа на избыточность. Вы можете выявить ненужные строки и освободить ресурсы оборудования. Для анализа ACL с object-группами программе необходимо указать состав object-групп. Вывод ACL будет предоставлен в развёрнутом виде. У нас есть нужные для изучения листов доступа статьи: Стандартные листы контроля доступа (ACL) Расширенные листы контроля доступа (Extended ACL) Интерфейс программы Поле ввода access-листа Поле ввода object-групп Кнопка распознавания access-листа Поле вывода access-листа в детальном виде Однострочное поле ввода условия Многострочный список ввода условий Кнопка прямой проверки Кнопка обратной проверки Поле результата проверки Шкала позиционирования поля детальных результатов (11) по отношению ко всему ACL Поле просмотра детальных результатов проверки Кнопка анализа ACL на конфликты и избыточность Кнопка сортировки строк ACL по различным критериям Маркер текущего активного условия в многострочном списке (6) Шкала сокращённого обозначения результатов проверки условий многострочного списка Переключатель типа маски для различного типа сетевого устройства Переключатель алгоритма проверки адресов источника и назначения Активация режима игнорирования строк ACL с ICMP протоколом в режиме частичного совпадения адресов Меню выбора вариантов CLI команд в составе с именем ACL Вывод object-групп, используемых в распознанном ACL Вывод списка известных программе именованных протоколов, а также типов и кодов ICMP Поле вывода ошибок, возникающих в процессе распознавания ACL Основные шаги Исходный access-list необходимо скопировать в поле 1. Если он содержит object-группы, то их состав необходимо скопировать в поле 2. ACL и object-группы можно копировать как с конфигурации устройства (“show running-config”, “show startup-config”), так и по прямым командам “show access-lists”, “show object”. Ниже приведён пример результата команды “show running-config”, допустимого для использования в поле 1: ip access-list extended ACL permit icmp host 172.16.0.6 host 172.21.0.6 permit ip host 172.16.0.6 host 172.21.0.1 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1 Тот же access-list по команде “show access-lists”: Extended IP access list ACL 10 permit icmp host 172.16.0.6 host 172.21.0.6 20 permit ip host 172.16.0.6 host 172.21.0.1 (32 matches) 30 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47 40 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD (1 match) 50 permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1 Пример результата команды “show running-config”, допустимого для использования в поле 2: object-group ip address ADMIN_BSD host-info 10.237.92.131 host-info 10.22.145.132 host-info 10.22.145.136 host-info 10.22.145.141 Содержимое вывода команды “show object-group”: IP address object group ADMIN_BSD host 10.237.92.131 host 10.22.145.132 host 10.22.145.136 host 10.22.145.141 Также допустимы и другие форматы object-групп. Пример допустимого фрагмента команды “show running-config”: object-group network Servers host 10.15.12.5 host 10.15.5.11 host 10.15.4.2 host 10.15.7.34 object-group service Ports1 tcp-udp eq domain tcp-udp eq 88 udp range 3268 3269 tcp gt 49151 Пример того же фрагмента команды “show object-group”: Network object group Servers host 10.15.12.5 host 10.15.5.11 host 10.15.4.2 host 10.15.7.34 Service object group Ports1 tcp-udp eq domain tcp-udp eq 88 udp range 3268 3269 tcp gt 49151 После копирования ACL и object-групп необходимо нажать кнопку 3. В результате access-list будет распознан и отображён в развёрнутом виде (в случае использования object-групп) в поле 4. Если на этапе распознавания возникли ошибки, то они будут отображены в поле 22. Если номер строки конечного access-листа дополнен ‘0’, это означает, что данная строка получена из object-группы. Если access-лист скопирован вместе с его заголовком, то активируется кнопка 19, позволяющая использовать команды конфигурирования, содержащие имя access-листа. После распознавания ACL необходимо в поле 5 ввести условие для поиска интересуемого нас доступа и нажать кнопку 7. Результат поиска доступа отобразится в поле 9. В случае наличия доступа более детальная информация появится в поле 11. Вызов контекстного меню “Показать результат” по правой кнопке мыши на поле 11 позволит отобразить строки ACL, удовлетворяющие условию поиска. Проверка существования доступа между заданными узлами по определённому порту Предположим, нас интересует существование доступа с хоста 192.168.1.2 по порту TCP 1521 на сервер 192.168.2.2 в следующем списке доступа: ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp host 192.168.1.2 any 30 permit tcp host 192.168.1.3 any eq 1521 Копируем access-лист в поле 1 и нажимаем кнопку 3. В поле 5 вводим следующее условие: tcp host 192.168.1.2 gt 1023 host 192.168.2.2 eq 1521 Нажимаем кнопку 7 или клавишу “Enter”. В поле 9 отобразится результат: Разрешено в строке 1: 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 Имеются ещё совпадения Здесь значение “1:” является результатом сквозной нумерации всех строк конечного (распознанного) ACL, а “10” – номер строки в исходном ACL. Надпись “Имеются ещё совпадения” означает, что в ACL присутствуют и другие строки, в которых теоретически может сработать наше условие. Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Определение узлов заданной сети, к которым имеется доступ по определённому порту Рассмотрим ситуацию, когда требуется выяснить, к каким серверам сети 192.168.2.0 /24 открыт доступ по SSH (TCP 22). Список доступа следующий: ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389 30 permit tcp host 192.168.1.3 host 192.168.2.254 40 permit tcp host 192.168.1.10 any Копируем access-лист в поле 1 и нажимаем кнопку 3. Ставим переключатель 17 в положение “частичное по src и dst”. Алгоритм будет учитывать строки ACL, в которых IP-адреса источника и назначения полностью или частично попадают в диапазон адресов, указанный в условии. В поле 5 вводим следующее условие: tcp any gt 1023 any eq 22 Нажимаем кнопку 7 или клавишу “Enter”. В поле 9 отобразится результат Блок Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам. Определение доступов, открытых между определёнными узлами Выясним, какие доступы открыты от узла 192.168.1.10 к узлу 192.168.2.254 в следующем ACL: ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389 30 permit tcp host 192.168.1.3 host 192.168.2.254 40 permit tcp host 192.168.1.10 any Копируем access-лист в поле 1 и нажимаем кнопку 3. Ставим переключатель 17 в положение “частичное по src и dst”. В поле 5 вводим следующее условие: ip host 192.168.1.10 host 192.168.2.254 Метод состоит в том, что заданное условие рассматривается как access-лист, а каждая строка исходного ACL как отдельное условие. Другими словами, условие и ACL меняются ролями. Кнопка (8), решающая эту задачу, называется “Обратная проверка”. Нажимаем кнопку 8 или комбинацию “Ctrl-Enter”. В поле 9 отобразится результат: Блок Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам. Важным требованием при такой проверке является необходимость установки переключателя 17 в среднее положение. Многострочный список условий (поле 6) Список условий (6) предназначен для ввода нескольких условий и последовательной их проверки. Для ввода каждого следующего условия (новой строки) предусмотрена комбинация “Shift-Enter”. Для проверки условия из списка необходимо установить на него курсор и нажать кнопку 7 (Enter) или 8 (Ctrl-Enter). На шкале 15 напротив строки запрошенного условия отобразится соответствующий символ результата. Он сохранится до изменения условия в этой строке списка. Сортировка (кнопка 13) Распознанный access-list, выведенный в развёрнутом виде в поле 4, можно упорядочить по различным критериям и их комбинации. При нажатии на кнопку сортировки (13) открывается дополнительное окно. 1-7 – Кнопки включения элементов в цепь сортировки 8 – Отображение исходных номеров строк 9 – Режим группирования результатов сортировки Каждый следующий критерий в цепочке выбирается соответствующей кнопкой. Рассмотрим следующий список доступа: 1 permit udp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq syslog 2 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 1514 3 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq 1514 4 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 4041 5 permit tcp 192.168.8.0 0.0.0.255 host 192.168.12.26 6 permit ip 192.168.8.0 0.0.0.255 192.168.41.0 0.0.0.255 7 permit ip 192.168.8.0 0.0.0.255 host 192.168.41.31 Чтобы упорядочить эти строки сначала по IP адресу назначения, а затем по протоколу, необходимо нажать последовательно кнопки 5 и 1: Цифры в круглых скобках на соответствующих кнопках указывают позицию элемента в цепочке сортировки. При отключении элемента из цепочки также исключаются все элементы с номерами выше отключенного. Анализ на конфликты и избыточность (кнопка 12) Кнопка “Анализ” (12) становится активной после распознания access-листа. Её нажатие запускает процесс анализа строк access-листа на конфликты и избыточность. Конфликтующей является строка access-листа, которая никогда не сработает из-за вышестоящего правила противоположного значения (“deny” после “permit” или наоборот). К примеру, загрузим следующий ACL: 10 permit icmp any any 20 permit tcp host 10.15.2.11 eq 1521 host 10.15.1.10 30 deny tcp 10.15.2.0 0.0.0.255 10.15.0.0 0.0.31.255 40 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.232 50 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.120 eq syslog 60 permit tcp host 10.15.2.11 eq 1521 host 10.15.7.11 Распознаем его (кнопка 3) и нажмём кнопку “Анализ” (12). Программа предупредит нас о имеющихся конфликтах: Кнопка “Да” откроет окно с результатами анализа, включающими только конфликты: Если нажать кнопку ‘Нет’, то откроется окно, включающее как конфликтующие, так и избыточные правила. Рассмотрим следующий access-list: 10 permit icmp any any 20 permit tcp host 192.168.1.10 host 192.168.2.20 eq 22 30 permit tcp host 192.168.1.10 host 192.168.2.20 40 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 Анализ такого ACL отобразит следующие результаты: Здесь жирным шрифтом выделены строки, если имеются другие правила, попадающие под их действие. Остальные строки (обычный шрифт) являются производными правилами. Установив курсор на определённой строке, удерживая нажатой клавишу “Ctrl”, получим детальную информацию в нижней части окна: Поле результатов Поле детализации выбранного правила Иерархический вид детализации В данном случае правило 2 является производным от правила 3. В свою очередь, правило 3 входит в правило 4. Визуально уровень такой вложенности можно определить по отступам строки вправо или выбрать иерархический вид (3). При иерархическом виде производные правила будут выведены ниже строк, в которые они входят. Можно выделить диапазон интересуемых строк в поле 1 и вызвать контекстное меню правой кнопкой мыши, в котором выбрать варианты удаления избыточных строк. Следует учитывать намеренное чередование операторов “permit” и “deny” в одном ACL для его упрощения. В таких случаях следует анализировать ACL частями. Например, до и после операторов “deny”. Либо анализировать полностью, но дополнительно обращать внимание на порядок следования конфликтующих строк в ACL и не удалять такие производные строки из исходного ACL. Опции запуска программы Предусмотрены следующие опции запуска exe-файла: /h, /?, /help – вызов справки параметров запуска /l (rus) – выбор языка /nm – включение режима “netmask” /pm (and,or) – выбор режима совпадения адресов /skipicmp – включение режима “игнорировать ICMP при частичном совпадении”.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59