По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Знаешь ли ты, что Asterisk Gateway Interface (AGI) делится на 3 различных вида: Enhanced AGI (EAGI), DeadAGI и fastAGI. Каждый из них имеет свои функциональные преимущества – он них и поговорим. Enhanced Asterisk Gateway Interface (EAGI) EAGI это более продвинутый AGI, который позволяет обрабатывать аудио – потоки с помощью файлового дескриптора (3). В действительности, с помощью EAGI вы можете создавать собственные приложения, предназначенные для анализа и выполнения различных задач со входящим аудио-потоком. Ниже приведен пример использования EAGI в диалплане: exten => helloworld,1,eagi(somescript.eagi) DeadAGI Указанное приложение выполняет AGI – совместимый скрипт на «мертвых» каналах (тех, на которых произошло событие hung-up). Основное отличие, что скрипт выполняется в экстеншене h. Дело в том, что скрипты, выполняемые через AGI – приложение не корректно отрабатывались на каналах, в которых случилось событие hang up. exten => h,1,DeadAGI(somescript.agi) FastAGI Обычное AGI – приложение задействует собственные (серверные) вычислительные мощности для каждого звонка. Безусловно, при высокой телефонной нагрузке, на сервере могут быть проблемы, связанные с нехваткой ресурсов. Помимо прочего, стандартный AGI имеет ограничения с точки зрения масштабирования. Поэтому, в рамках решения данные проблемы, было создано приложение FastAGI, которое позволяет выполнять скрипт на внешнем сервере, тем самым, «выносить» вычислительную нагрузку с сервера Asterisk на отдельный хост. IP – АТС Asterisk коммуницирует с сервером, на котором находится исполняемый скрипт с помощью TCP сокетов. Вызвать FastAGI можно следующим образом: exten => helloworld,1,AGI(agi://192.168.0.123:4567/somescript.agi) В рамках синтаксиса, мы обращаемся на хост 192.168.0.123 и порт 4567, вызываю скрип с именем somescript.agi. Здесь можно передать различные переменные, как и в обычном AGI.
img
Примечание: в статье рассматривается управление уже установленным и настроенным оборудованием. Мне на работе достались два работающих SDH мультиплексора Huawei уровня STM-4 (622 Мбит/c). Система мониторинга и управления уже была настроена, и я осваивал ее "как есть". Краткое описание ПО для конфигурирования Для работы с оборудованием на рабочей станции, подключенной к интерфейсу управления мультиплексором, я запускаю две программы IManager T2000LCT-Server и IManager T2000LCT-Client, в которой и произвожу работы по конфигурированию. Для запуска ПО требуется данные о логине и пароле. При запуске клиента отображается окно, в котором приведен список всех сконфигурированных мультиплексоров, их наименования, состояние подключения к ним и уровень текущих аварий. На приведенном скриншоте оборудование, к которому непосредственно подключен ПК управления, имеет значение в столбце Gateway GNE, а мультиплексор, доступ к которому настроен через канал связи в тракте STM (то есть тот, который территориально расположен в другом месте и доступен удаленно), имеет значение Gateway Non-GNE. В столбце Login отображается статус "Not Login", а в столбце Communication состояние "Communication Interruption". Это означает, что оператор не авторизован в оборудовании, так как с ним нет. В таком состоянии можно просматривать конфигурацию, которая была в мультиплексорах во время последнего подключения, но текущие параметры посмотреть не получится, как и внести какие-либо изменения. Выбрав из списка необходимый мультиплексор, нажимаем внизу кнопку "NE Explorer" и попадаем в интерфейс управления конкретной единицы оборудования. Здесь мы увидим список всех установленных плат и их состояние в окошке слева вверху, а также функции, доступные для выделенной платы, в окошке слева внизу. Если выделить корень дерева оборудования (Рис.3), то получаем список функций, применимый ко всему мультиплексору (функции мультиплексора и его плат не пересекаются). Общий вид оборудования и наименование установленных плат можно посмотреть непосредственно в интерфейсе управления, нажав на иконку <Slot Layot>: Типы плат (для мультиплексора Huawei OSN1500): Модуль вентиляторов FAN Платы Q1SL4 плата линейного интерфейса STM-4. Сюда подключается оптика, которая соединяет оборудование с другим мультиплексором. Платы ECXL плата, отвечающая за кросс-коннект (коммутацию) Платы GSCC плата управления и мониторинга всем мультиплексором Модули питания PIU Платы D12S интерфейсная плата 120 ом портов E1 (32 порта) Плата AUX плата вспомогательных интерфейсов (служебный телефон, порт RS-232) Плата PQ1 интерфейсная плата портов E1. Позволяет вывести 63 потока E1. Плата N1EFS4 интерфейсная плата портов Ethernet. На плате 4 порта. Типы плат (для мультиплексора Huawei Metro 1000): Плата OI4 Плата линейного интерфейса STM-4 (для соединения с другим мультиплексором) Плата EFS интерфейсная плата портов Ethernet, содержит 4 порта FE 10/100Mb Плата SP2D интерфейсная плата портов E1, может вывести 16 потоков Плата PD2T интерфейсная плата портов E1, выводит 48 потоков Плата X42 модуль кросс-коннекта Плата STG модуль синхронизации и генератора синхросигнала Плата SCC модуль управления и мониторинга всего оборудования Плата OHP2 модуль обработки заголовков Подсказка по функционалу платы отображается внизу окошка общего вида оборудования (показано выше) при выделении какой-либо платы. Конфигурирование потоков E1 Для того, чтобы прописать в оборудовании новый поток уровня E1, откроем один из мультиплексоров, выделим корень дерева оборудования, в дереве функций откроем пункт "Configuration" и в раскрывшемся списке "SDH Service Configuration" (Рис.6) В открывшемся окне отображается список существующих соединений (кросс-коннекты), а также кнопки с возможными действиями в этом окне. Описание столбцов списка кросс-коннектов: Level уровень кросс-коннекта. Здесь мы можем указать тип виртуального контейнера и, соответственно, пропускную способность, которую выделено под данное соединение (а точнее, кратность пропускной способности). То есть, если выбран уровень VC12, то скорость будет кратна 2 Мбит/с. Если выбрать VC4, то скорость будет кратна 155 Мбит/с (это контейнер уровня STM-1, то есть мы займем целиком 1 STM-1 из 4-трактов STM-4. Type тип соединения, обозначен графическим символом, указывающим, что данное соединения является вводом-выводом (например, вывод на интерфейс E1) или проходным (например, с платы линейного интерфейса на плату интерфейсов Ethernet). Source Slot слот и плата источника кросс-коннекта. Source Timeslot/Path таймслот (порт) источника. Sink Slot - слот и плата точки назначения кросс-коннекта. Sink Timeslot/Path - таймслот (порт) точки назначения. Activation Status статус активации соединения. При создании соединения, оно может быть активировано сразу или позже, после завершения работ по подключению, чтобы избежать появления ложных аварий в системе мониторинга. Так же соединение можно активировать/деактивировать по необходимости в данном окне с помощью соответствующих кнопок. Для создания нового соединения нажмем кнопку <Create> и увидим следующее окно, в котором задаются все вышеперечисленные параметры: В появившемся окошке указываем: Level VC12 Direction (направление) оставляем Bidirectional (то есть, двунаправленное соединение) Source Slot плату-источник. Выбираем плату линейного интерфейса, который соединен с мультиплексором на другой стороне Source VC4 выбираем один из 4-х контейнеров VC4 в тракте STM-4. Source Timeslot Range диапазон таймслотов источника. Здесь оборудование позволяет выбрать несколько тайм-слотов. Это удобно в случае, если нам необходимо создать одновременно несколько соединений между одними и теми же точками. Например, нам необходимо прокинуть 4 потока E1 между данными мультиплексорами. В таком случае, мы зададим 4 таймслота при создании соединения в каждом мультиплексоре. Таким же образом задаются слот (плата) и таймслоты и пункта назначения. В некоторых случаях, для задания путей источника и назначения удобнее будет воспользоваться графическим типом задания параметров. Для этого в полях Source Slot или Sink Slot нажимаем на кнопку с многоточием (Рис.8): В открывшемся окошке мы наглядно можем выбрать плату (2), порт на плате (3), контейнер верхнего уровня в нашем случае, один из четырех VC4 (4) и ниже один или несколько виртуальных контейнеров нижнего уровня VC12. Неактивная кнопка виртуального контейнера означает, что он уже занят. После выбора и закрытия данного окошка, возвращаемся в окно "Create SDH Service", которое мы открыли для создания нового кросс-коннекта. Осталось задать параметр Activate Immediately. При выборе Yes соединение должно быть сразу активным, иначе его нужно активировать вручную. Следует отметить, что иногда данная настройка не применяется, поэтому, после создания соединения, рекомендуется проверить значение поля Activation Status и нажать кнопку Activate в окне списка соединений. После нажатия кнопки ОК наше соединение создано в одном из мультиплексоров. Далее, нам необходимо зайти в оборудование на другом конце линейного тракта (оптического кабеля), и создать такое же соединение, указав в пути источника те же VC4 и VC12, что и на этой стороне. Некоторые настройки портов E1 В главном окне программы управления (верхнее левое окошко), если в дереве оборудования выбрать какую-то плату, то в дереве функций мы получаем доступ к настройкам самой платы. Например, выберем интерфейсную плату портов E1 и откроем ее свойства: Данное окно позволяет изменять некоторые свойства портов. В частности, в поле "Port Name" можно указать произвольное название для порта. Это никак не влияет на работу самого порта, однако улучшает читаемость событий и аварий, которые выдает порт в общем списке событий. Еще одним важным параметром, который облегчает работу при организации или тестировании потоков E1, является "Tributary Loopback". Двойной щелчок в этом поле открывает варианты постановки петли или "заворота" на порту: "Inloop" и "Outloop" - один из которых заворот во внутрь, а другой заворот в сторону подключенного внешнего оборудования. Конфигурирование портов Ethernet Пропуск портов Ethernet выполняется в несколько этапов. Выполняем кросс-коннект тайм-слотов с платы линейных интерфейсов (Q1SL4) на плату интерфейсов Ethernet (N1EFS4). Выполняем кросс-коннект занятых в предыдущем пункте тайм-слотов в внутренний интерфейс VCTRUNK# платы N1EFS4 (всего на плате 12 VCTRUNK) Прописываем на плате N1EFS4 VLAN’ы от VCTRUNK# до физического порта (на плате 4 физических порта) Первый пункт действий выполняется аналогично настройке портов E1, порядок приведен выше. Кросс-коннект виртуальных контейнеров на внутренние интерфейсы платы N1EFS4 В настройках платы N1EFS4 открываем раздел Configuration Ethernet Interface Management Ethernet Interface. В открывшемся окне выбираем Internal port и вкладку Bound Path, здесь нажимаем кнопку Configuration. В появившемся окне выбираем один из внутренних интерфейсов VCTRUNK, и виртуальные контейнеры, которые будут в него включаться: Нажимаем Ок, и сконфигурированный интерфейс появляется в нашем списке. В графе "Bound Paths" мы видим задействованные виртуальные контейнеры, а в графе "Number of Bound Paths" - их общее количество. На вкладке "TAG Attribute" списка внутренних интерфейсов настраивается режим порта: Access не тегированный порт Tag Aware тегированный порт Hybrid гибридный порт Теперь осталось соединить внутренний порт VCTRUNK# с одним из четырех внешних физических портов, прокинув VLAN между этими портами. Прописываем на плате N1EFS4 VLAN’ы от VCTRUNK# до физического порта В настройках платы N1EFS4 открываем раздел Configuration Ethernet Service Ethernet Line Service. В открывшемся окне нажимаем кнопку New. В открывшемся окне указываем порт источник VCTRUNK# и порт назначения например, PORT1. А также укажем VLAN-источник и VLAN назначения (автоматически выставляется один и тот же) В этом же окошке, в разделе Port Attributes есть возможность выбрать режимы для обоих портов (тегированный, не тегированный, гибридный). Следует отметить, что система не будет следить за корректностью режимов и соответствием количества тайм-слотов в соединениях цепочки, как на коммутаторах передачи данных, так что за этим следует следить оператору. Так же в данном окне доступно меню конфигурирования внутренних интерфейсов платы N1EFS4, которое описано в предыдущем подразделе. На этом конфигурирование портов Ethernet на мультиплексоре Huawei OSN1500/Metro1000 окончено. Следует еще раз заметить, что на противоположной стороне (на другом мультиплексоре) настройки кросс-коннекта должны быть аналогичны.
img
SSH туннели один из самых часто используемых методов связи среди системных и сетевых администраторов. В данном руководстве расскажем о такой функции как переброс порта SSH. Это используется для безопасной передачи данных между двумя и более системами. Что такое переброс порта SSH? Коротко, переброс порта SSH даёт возможность создавать туннель между несколькими системами, а затем настроить эти системы так, чтобы трафик они гнали через этот туннель. Именно по такой логике работает VPN или SOCKS Proxy. Есть несколько разных методов переброса: переброс локального порта, переброс удалённого порта или динамический переброс. Для начала дадим пояснение каждому из них. Локальный переброс порта позволяет получать доступ ко внешним ресурсам из локальной сети и работать в удаленной системе, как если бы они находились в одной локальной сети. По такому принципу работает Remote Access VPN. Переброс удаленного порта дает возможность удалённой системе получать доступ к вашей локальной сети. Динамический переброс создает SOCKS прокси сервер. После этого настраиваем приложения так, чтобы они использовали это туннель для передачи данных. Чаще всего такой переброс используется для доступа к ресурсам, который по той или иной причине заблокированы для данной страны. Для чего нужен переброс порта SSH? Допустим у вас есть какое-то приложение, которые передаёт данные в открытом виде или через нешифрованный протокол. Ввиду того, что SSH создает шифрованное соединение, то вы с легкостью можете настроить программу так, чтобы трафик её шёл через этот туннель. Он так же часто используется для доступа к внутренним ресурсам извне. Приблизительно это напоминает Site-to-Site VPN, где нужно указывать какой именно трафик нужно заворачивать в туннель. Сколько сессий можно устанавливать? Теоретически, можно создавать столько сессий, сколько нам захочется. В сети используется 65 535 различных портов, и мы можем перебрасывать любой из этих портов. Но при перебросе порта нужно учитывать, что некоторые из них зарезервированы за конкретными сервисами. Например, HTTP использует 80 порт. Значит, переброс на порт 80 возможен только если нужно переадресовать веб трафик. Порт, который перебрасывается на локальном хосте может не совпадать с портом удаленной системы. Мы легко можем перебросить локальный порт 8080 на порт 80 на удаленной машине. Иными словами, если мы напишем IP адрес нашей машины и порт 8080, то запрос пойдет на 80 порт удалённой системы. Если вам не критично какой порт использовать на своем хосте, лучше выбрать что-то из диапазона 2000-10000, так как все порты ниже 2000 зарезервированы. Переброс локального порта Локальная пересылка представляет собой переброс порта из клиентской системы на сервер. Он позволяет настроить порт в системе таким образом, чтобы все соединения на этот порт проходили через туннель SSH. Для переадресации локального порта используется ключ L. Общий синтаксис команды таков: $ ssh -L local_port:remote_ip:remote_port user@hostname.com $ ssh -L 8080:www.example1.com:80 example2.com Данной командой мы говорим системе, что все запросы на 8080 порт example1.com переадресовывать на example2.com. Это часто используется когда нужно организовать доступ извне на внутренний ресурсы компании. Тестирование работы переадресованного порта Чтобы проверить, работает ли переадресация должным образом можно воспользоваться утилитой netcat. На машине, где была запущена команда переадресации нужно ввести команду netcat в следующем виде: $ nc -v remote_ip port_number Если переадресация работает и трафик проходит, то утилита вернёт "Успех!". В противном случае выдаст ошибку об истечении времени ожидания. Если что-то не работает, нужно убедиться, что подключение к удаленному порту по SSH работает корректно и запросы не блокируются межсетевым экраном. Создание постоянного туннеля (Autossh) Для создания туннеля, который будет активен постоянно используется так называемая утилита Autossh. Единственно требование это необходимость настройки между двумя системами аутентификацию по публичным ключам, чтобы не получать запросы на ввод пароля при каждом обрыве и восстановлении соединения. По умолчанию, Autossh не установлен. Чтобы установить эту утилиту введем команду ниже. $ sudo apt-get install autossh Синтаксис утилиты autossh почти похож на синтаксис ssh: $ autossh -L 80:example1.com:80 example2.com Переброс удалённого порта Переброс порта с удалённой машины используется в тех случаях, если нужно предоставить доступ на свой хост. Допусти у нас установлен веб сервер и нам нужно, чтобы друзья могли пользоваться им. Для этого нужно ввести команду показанную ниже: $ ssh -R 8080:localhost:80 geek@likegeeks.com А общий синтаксис команды выглядит так: $ ssh -R remote_port:local_ip:local_port user@hostname.com Динамическая переадресация портов Динамическая переадресация портов позволит ssh функционировать как прокси-сервер. Вместо переброса трафика на специфический порт, здесь трафик будет идти через на диапазон портов. Если вы когда-нибудь пользовались прокси сервером для посещения заблокированного сайта или просмотра контента, недоступного в вашем регионе, вероятнее всего вы пользовались SOCKS сервером. Динамическая переадресация также обеспечивает некоторую приватность. Она затрудняет логирование и анализ трафика, так как трафик проходит через промежуточный сервер. Для настройки динамической переадресации используется следующая команда: $ ssh -D local_port user@hostname.com Таким образом, если нужно весь трафик идущий на порт 1234 направить на SSH сервер, нужно ввести команду: $ ssh -D 1234 geek@likegeeks.com После установления соединения, мы можем указать в приложениях, например, браузере, пропускать трафик через туннель. Множественная переадресация Иногда приходится перебрасывать несколько внутренних портов на несколько внешних. Допустим у нас на одном и том же сервере крутятся и веб сервер и oracale. В таком случае мы можем указать несколько условий переадресации ставя перед каждым из них ключ L для локальной переадресации и R для внешней. $ ssh -L local_port_1:remote_ip:remote_port_1 -L local_port_2:remote_ip:remote_port2 user@hostname.com $ ssh -L 8080:192.168.1.1:80 -L 4430:192.168.1.1:1521 user@hostname.com $ ssh -R remote_port1:local_ip:local_port1 remote_port2:local_ip:local_port2 user@hostname.com Просмотр списка туннелей Чтобы просмотреть сколько SSH туннелей активны на данный момент можно прибегнуть к помощи команды lsof: $ lsof -i | egrep '<ssh>' Как видим, на нашей системе сейчас активно три подключения. Чтобы вместо имени хоста показать IP адрес к команде нужно добавить ключ n. $ lsof -i -n | egrep '<ssh>' Ограничение переадресации портов По умолчанию, переброс портов SSH активен для всех. Но если нужно ограничить переадресацию портов в целях безопасности, то нужно отредактировать файл sshd_config. $ sudo vi /etc/ssh/sshd_config Здесь есть несколько опций, позволяющих ограничивать создание SSH туннелей. PermitOpen позволяет прописать адреса, для которых можно включить переадресацию портов. Тут можно указать конкретный IP адреса или название хоста: PermitOpen host:port PermitOpen IPv4_addr:port PermitOpen [IPv6_addr]:port AllowTCPForwarding данная опция включает или отключает переадресацию портов для SSH. Так же можно указать какой тип переадресации допускается на этом хосте. AllowTCPForwarding yes #default setting AllowTCPForwarding no #prevent all SSH port forwarding AllowTCPForwarding local #allow only local SSH port forwarding AllowTCPForwarding remote #allow only remote SSH port forwarding Для подробной информации можно вызвать руководство по файлу sshd_config: $ man sshd_config Уменьшение задержки Проблема с переадресацией портов на SSH это возможность увеличения задержки. При работе с текстовой информацией э то не критично. Проблема даёт о себе знать если по сети идёт много трафика, а SSH сервер настрое как SOCKS сервер, то есть на нём настроена динамический переброс портов. Это происходит по той причине, что SSH туннели по сути это TCP туннель поверх TCP. Это не очень эффективный метод передачи данных. Для решения проблемы можно настроить VPN, но если по какой-то причине предпочитаете SSH туннели, то существует программа sshuttle, которая устраняет проблему. На Ubuntu или других дистрибутивах семейства Debian программу можно установить командой $ sudo apt-get install sshuttle Если же программы нет в репозиториях дистрибутива, то можно взять ее с GitHub: $ git clone https://github.com/sshuttle/sshuttle.git $ cd sshuttle $ ./setup.py install Настройка туннеля в sshuttle отличается от SSH. Чтобы завернуть весь трафик в туннель нужно ввести следующую команду: $ sudo sshuttle -r user@remote_ip -x remote_ip 0/0 vv Прервать соединение можно комбинацией клавиш Ctrl+C. Чтобы запустить sshuttle как демон, нужно добавить ключ D. Чтобы убедиться что туннель поднят и в глобальной сети показывается другой IP, в терминале можно ввести команду: $ curl ipinfo.io Или же просто открыть любой другой сайт, который покажет белый IP и местоположение.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59