По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
BGP - это сложный протокол маршрутизации, и бывают ситуации, когда что-то идет не так как надо. Кроме того, что он сложный, он также совершенно отличается от наших IGP протоколов (OSPF и EIGRP). В этой статье мы начнем с рассмотрения неполадок, возникающих в установлении соседства BGP, и как только это разберем, перейдем к проблемам с объявлением маршрутов, которые должны или не должны появляться! Видео: Основы BGP за 7 минут Урок 1 Начнем с нескольких простых сценариев. Два маршрутизатора BGP, которые подключены и настроены для EBGP. К сожалению, мы видим это, когда проверяем соседство BGP: Когда два маршрутизатора EBGP, которые напрямую подключены, не образуют рабочее соседство BGP, может произойти ряд ошибок: Layer 2 не позволяет нам добраться до другой стороны. Проблема уровня 3: неправильный IP-адрес на одном из маршрутизаторов. Список доступа, блокирующий TCP-порт 179 (BGP). Неправильный IP-адрес настроен для соседнего маршрутизатора BGP Мы можем использовать команду show ip bgp summary, чтобы проверить IP-адреса маршрутизаторов. Они, совпадают. Мы выполним эхо запрос, с помощью команды ping. Видим, что, пакеты не могут добраться до другой стороны. Проверяем интерфейсы и видим, что кто-то ввел команду отключения интерфейса. R2(config)#interface fa0/0 R2(config-if)#no shutdown "Поднимаем" интерфейс Это прекрасно! Наше соседство BGP установлено. Это было легко! Итог урока: убедитесь, что ваш интерфейс работает. Урок 2 Следующая неполадка похожа на предыдущую, но немного отличается. Мы используем те же маршрутизаторы и номера AS, но на этот раз необходимо установить соседство BGP между интерфейсами обратной связи. Посмотрим, как выглядит конфигурация BGP: Вот конфигурация BGP. Как вы видите, мы используем loopback интерфейсы для установления соседства BGP-соседей. Оба маршрутизатора показывают, что их сосед BGP бездействует. Есть ряд вещей, которые мы должны проверить здесь: Доступен ли IP-адрес соседа BGP? Мы не используем прямые линии связи, поэтому у нас могут возникнуть проблемы с маршрутизацией. TTL IP-пакетов, которые мы используем для внешнего BGP, равен 1. Это работает для сетей с прямым подключением, но, если они не подключены напрямую, нам нужно изменить эту настройку. По умолчанию BGP будет получать обновления с IP-адреса, ближайшего к соседу BGP. В нашем примере это интерфейс FastEthernet. Это то, что мы должны изменить. Начнем с маршрутизации. Оба маршрутизатора знают только о своих напрямую подключенных сетях. Чтобы достичь loopback интерфейсов друг друга, мы будем использовать статическую маршрутизацию. R1(config)#ip route 2.2.2.2 255.255.255.255 192.168.12.2 R2(config)#ip route 1.1.1.1 255.255.255.255 192.168.12.1 Два статических маршрута должны выполнить эту работу. Отправка ping на IP-адрес 2.2.2.2 и получение его из нашего собственного loopback интерфейса доказывает, что оба маршрутизатора знают, как связаться с loopback интерфейсом друг друга. R1(config-router)#neighbor 2.2.2.2 ebgp-multihop 2 R2(config-router)#neighbor 1.1.1.1 ebgp-multihop 2 Команда ebgp-multihop изменяет TTL на 2. Мы можем включить отладку, чтобы увидеть прогресс. Ясно видно, что R2 использует IP-адрес 192.168.12.2, а R1 отказывается от соединения. R1(config-router)#neighbor 2.2.2.2 update-source loopback 0 R2(config-router)#neighbor 1.1.1.1 update-source loopback 0 Используйте команду update-source, чтобы изменить IP-адрес источника для обновлений BGP. Соседство BGP работает! Итог урока: маршрутизаторам BGP не требуется устанавливать соседство с использованием напрямую подключенных интерфейсов. Убедитесь, что маршрутизаторы BGP могут связаться друг с другом, что пакеты BGP получены из правильного интерфейса, и в случае EBGP не забудьте использовать команду multihop. Урок 3 Продолжим рассмотрение некоторых проблем IBGP. Два маршрутизатора в одной AS и вот конфигурация: Легко и просто. Маршрутизаторы используют напрямую подключенные IP-адреса для соседства BGP. Жаль ... мы не становимся соседями. Что может быть не так? Мы используем напрямую подключенные интерфейсы, поэтому не так много проблем, если не считать проблемы L2 / L2. Отправка пинга с одного маршрутизатора на другой доказывает, что L2 и L3 работают нормально. Как насчет L3? У нас могут быть проблемы с транспортным уровнем. Я не могу подключиться к TCP-порту 179 с обоих маршрутизаторов. Это звоночек в сторону того, что что-то блокирует BGP? Вот оно! Это Служба безопасности.… Кто-то решил, что было бы неплохо "обезопасить" BGP и заблокировать его списком доступа. R2(config)#interface fastEthernet 0/0 R2(config-if)#no ip access-group 100 in Удалим список доступа. Итог урока: не блокируйте TCP-порт BGP 179. Урок 4 Следующая проблема IBGP. Это похоже на ситуацию с EBGP ранее...мы будем использовать loopback-интерфейсы для установления соседства BGP, вот конфигурации: Ничего особенного, IBGP и мы используем loopback интерфейсы. Не повезло здесь ... нет соседей. Давайте сначала проверим, могут ли маршрутизаторы получить доступ к loopback интерфейсам друг друга: Быстрый взгляд на таблицу маршрутизации показывает нам, что это не так. Мы могли бы исправить это с помощью статического маршрута или IGP. Обычно мы используем IGP для IBGP для объявления loopback интерфейсов. Сейчас будем использовать OSPF: R1(config)#router ospf 1 R1(config-router)#network 1.1.1.0 0.0.0.255 area 0 R1(config-router)#network 192.168.12.0 0.0.0.255 area 0 R2(config)#router ospf 1 R2(config-router)#network 192.168.12.0 0.0.0.255 area 0 R2(config-router)#network 2.2.2.0 0.0.0.255 area 0 Набор правильных команд OSPF должно сделать свою работу! Отправка эхо-запроса, чтобы проверить, знают ли маршрутизаторы и как связаться с сетями друг друга, успешен. Тем не менее, соседство BGP по-прежнему отсутствует Отладка показывает, что в соединении отказано, а также показывает локальный IP-адрес, который используется для BGP. Кажется, кто-то забыл добавить команду update-source, так что давайте исправим это! R1(config)#router bgp 1 R1(config-router)#neighbor 2.2.2.2 update-source loopback 0 R2(config)#router bgp 1 R2(config-router)#neighbor 1.1.1.1 update-source loopback 0 Точно так же, как EBGP, мы должны установить правильный источник для наших пакетов BGP. Задача решена! Единственное отличие от EBGP в том, что нам не нужно менять TTL с помощью команды ebgp-multihop. Итог урока: распространенная практика настройки IBGP между loopback интерфейсами. Убедитесь, что эти loopback доступны и обновления BGP получены из loopback интерфейса. Теперь, рекомендуем почитать вторую часть статьи по траблшутингу протокола BGP.
img
Закупился гигасетиками? :) Отличный выбор. Осталось дело за малым – настройка. В статье произведем настройку DECT системы Gigaset N510 IP PRO и подключим к ней телефонную трубку R650H PRO в связке в IP – АТС Asterisk. Настройку выполним в FreePBX. $dbName_ecom = "to-www_ecom"; $GoodID = "2057309338"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName_ecom) or die(mysql_error()); $query_ecom = "SELECT `model`, `itemimage1`, `price`, `discount`, `url`, `preview115`, `vendor`, `vendorCode` FROM `items` WHERE itemid = '$GoodID';"; $res_ecom=mysql_query($query_ecom) or die(mysql_error()); $row_ecom = mysql_fetch_array($res_ecom); echo 'Кстати, купить '.$row_ecom['vendor'].' '.$row_ecom['vendorCode'].' можно в нашем магазине Merion Shop по ссылке ниже. С настройкой поможем 🔧 Купить '.$row_ecom['model'].''.number_format(intval($row_ecom['price']) * (1 - (intval($row_ecom['discount'])) / 100), 0, ',', ' ').' ₽'; $dbName = "to-www_02"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); Пошаговое видео Настройка со стороны FreePBX Первым делом, создадим внутренний номер для нашей трубки. Прыгаем в раздел Applications → Extensions. Нажимаем на Quick Create Extension. Создаем номер, например, 101. В итоге получаем: Отлично! Копируем логин и пароль (из поля secret) внутри номера и переходим к настройке Gigaset. Настройка Gigaset N510 IP PRO Перед настройкой, после подключения сетевого кабеля к базе убедитесь, что синяя лампа на DECT горит постоянным цветом (LAN коннекция установлена корректно). Далее, переходим по IP – адресу Gigaset в графический интерфейс. Пароль первого входа это 4 нуля 0000: Попав в интерфейс, переходим в раздел настроек Telephony → Connections и заполняем поля, как указано на скриншоте ниже: Connection name or number - имя подключения. Цепляемся к Asterisk, поэтому указали Asterisk; Authentication name - 101, как внутренний номер, который мы создали ранее; Authentication password - пароль из поля secret; Username - так же указываем внутренний номер. Это 101; Display name - мы хотим 101 :) Вы можете сделать ФИО абонента; После, в категории дополнительных настроек: Domain - IP адрес сервера Asterisk; Proxy server port - 5160 – у нас на этом порту живет chan_sip; Registration server - IP адрес сервера Asterisk; Registration server port - 5160 – у нас на этом порту живет chan_sip; Registration refresh time - 180 секунд; Сохраняем настройки. Самое интересное, что на этом этапе, если у вас всего одна трубка – текущей конфигурации достаточно. Трубка при включении обнаружит базу и подтянет настройки. Делаем тестовый вызов – работает :)
img
Если вас удивляет то, каким образом веб-приложения могут взаимодействовать друг с другом и передавать информацию для оптимизации операций, то вам следует познакомиться с Webhook , веб-перехватчиком. Webhook (он же веб-перехватчик) – это больше, чем просто средство информационного взаимодействия для онлайн-сервисов. Webhook – это достаточно любопытная технология, используемая для запуска приложений. Эта статья позволит получить четкое понимание того, что же такое Webhook и какие методы его работы существуют. Видео: что такое Webhook и чем отличается от API? Что такое Webhook: быстрый экскурс Webhook – это автоматически сгенерированный HTTP-запрос, созданный на основе каких-то данных. Он запускается предопределенным событием или действием в исходной системе и передается системе, с которой исходная система пытается установить связь. Webhook работает быстрее, чем опрос или API. Вместе с этим для разработчиков он является менее трудоемким с точки зрения работы. Применительно к приложениям, Webhook – это не что иное, как SMS-уведомления, которые мы получаем во время использования приложения. Например, при покупке некого товара в Интернете продавец присылает вам уведомление по SMS. Аналогично, каждый раз, когда в исходной системе происходит некоторое событие/действие, система принимающей стороны уведомляется через Webhook. Для чего нужен Webhook? Webhook используется для связи приложений и быстрого обмена данными между системой-источником и системой-получателем. Это приводит к двусторонней связи между двумя различными сетевыми системами. Ниже приведен список нескольких сценариев, при который Webhook справится лучше, чем любое другое средство связи приложений: Использование Webhook для передачи информации о событиях в различные базы данных. Требуется мгновенный ответ приложения при выполнении определенного действия. Использование Webhook для беспрепятственной синхронизации данных клиентов в приложении. Необходимость иметь модель push-уведомлений для получения своевременных обновлений. Связь должна быть взаимно-однозначной. Webhook может помочь установить соединение между средством массовой email-рассылки/управления проводимыми акциями и платежными системами. Разработчики требуют приравнять 2 системы к временной системе связи. Принимая во внимание все эти утилиты, Webhook можно назвать ключевым инструментом для разработки SaaS-приложений. Одним из реально существующих примеров использования Webhook является Shopify , который использует веб-перехватчик, например, для операций автоматического обновления корзины или объявления о продаже. Еще одной известной платформой является Stripe . Она использует Webhook для передачи сведений, связанных с обновлениями учетных записей, уведомлений об оплате и др.   Webhook vs API Человеку, не являющемуся специалистом в данной области, может показаться, что Webhook и API это одно и то же, поскольку они оба используются для установки связи между приложениями. Ситуация усугубляется, когда некоторые разработчики называют Webhook обратным API . В данном случае только опытный разработчик сможет понять разницу между этими двумя технологиями и использовать их. Мы подготовили краткий обзор основных различий между Webhook и API. Обе эти технологии, как принято считать, используются приложениями для передачи информации другому приложению. В общих чертах они работают одинаково. Ключевое различие заключается в процессе получения данных. API использует процесс «опроса» для получения необходимых данных. Опрос ( polling ) – это выполнение запросов на сервер с целью проверки появления новых данных. Webhook работает по принципу «принудительной отправки данных», то есть как только происходит инициирующее событие, из источника отправляются необходимые данные. API ожидает появления новых данных и требует периодической активности, в то время как Webhook активируется автоматически при возникновении события. Если говорить об их практической реализации, то они принципиально разные. Например, API связывается с продавцом, чтобы удостовериться, что нужный вам товар есть в наличии, а Webhook попросит продавца самому связаться с вами, как только нужный товар будет доступен. При таком подходе обе стороны экономят время и усилия. Безопасность Web API – сложная задача, поскольку запросы выполняются снова и снова, и каждый раз необходимо внедрять методы обеспечения безопасности API. Обеспечить безопасность Webhook относительно просто, поскольку запросы производятся не так часто. Webhook лучше использовать, когда требуются обновления приложения в режиме реального времени, а API – когда часто обновляется серверное приложение. Webhook – это простейшая модель API. API – это полноценный язык приложений, способный выполнять добавление, удаление и извлечение данных. Webhook работает автоматически, в то время как API требует некоторых усилий разработчика. Webhook не является широко поддерживаемым, в то время как большинство сторонних интеграций принимают API.   Как работает Webhook? На первый взгляд все кажется похожим, но Webhook включает в себя определённый сложный процесс. Вот как это работает: Шаг 1: Генерация запроса Для использования Webhook система должна быть достаточно оборудована для поддержки всего процесса. Можно разработать дружественную к Webhook систему, осуществляя несколько HTTP-запросов для различных событий. Основанный на этом принципе Webhook имеет хорошую совместимость с платформой SaaS, поскольку присутствует поддержка нескольких событий. Также с Webhook совместимы такие платформы, как GitHub, Shopify, Twilio, Stripe и Slack. Для начала нужно зарегистрироваться, чтобы принять Webhook'и. Регистрация должна быть проведена для более чем одного события. После регистрации на целевой URL будет автоматически сгенерирован запрос Webhook. Этот запрос обработается автоматически, когда произойдет определенное событие. Шаг 2: Применение Webhook Когда процесс подготовки завершен, можно использовать Webhook'и. Процесс можно упростить, если вы создадите свои Webhook и протестируете их на пригодность. Если вам покажется это слишком тяжелым, то вы можете просто добавить нужный URL-адрес веб-перехватчика в приложение и начать делиться данными. Для использования Webhook вы можете использовать средства, указанные ниже: 1. RequestBin и Postman для тестирования Webhook Как уже отмечалось, тестирование Webhook – это наиболее эффективный способ понять его метод работы. RequestBin и Postman – два самых популярный инструмента для тестирования. Используя RequestBin, разработчики могут создавать нужные URL-адреса веб-перехватчиков и обмениваться данными, чтобы проверить, как он их идентифицирует. Postman аналогично может обрабатывать процесс отправки запроса для терминала и выделенный код приложения. Разработчик может свободно работать с кодировкой JSON и XML. 2. Общение приложений Тестирование Webhook было исчерпывающим. И теперь можно приступить к делу и позволить приложениям общаться между собой. Для начала разработчикам необходимо активировать Webhook триггерных приложений. Как правило, каждое приложение имеет большое количество настроек веб-перехватчиков. Чтобы получить данные из используемого триггерного приложения, необходимо открыть настройку Webhook в заданной форме. Будет сгенерировано поле URL и варианты для спецификации HTTP-запроса веб-перехватчика. На следующем шаге уже необходимо использовать URL-адреса приложения, получающего данные. В этом приложении каждый документ имеет свой конкретный URL-адрес слияния. Скопируйте URL-адрес слияния или любой другой предполагаемый URL-адрес приложения. Затем снова перейдите в приложение-триггер и вставьте скопированный URL-адрес веб-перехватчика из приложения, получающего данные, в поле URL-адреса приложения-триггера. Сохраните изменения. Теперь приложение готово к работе. Вы можете использовать любой из вышеупомянутых средств включения Webhook. Чтобы концепция работы была более понятна, ниже мы привели пример работы Webhook Shopify:   Пример Webhook Давайте продолжим приведенный выше пример Shopify. Предположим, что новый пользователь только что разместил 2 заказа в интернет-магазине после подтверждения адреса электронной почты. Получение информации с помощью события customer/update будет выглядеть примерно так: HTTP/1.1 200 OK { "webhook": { "id": 744408886555322224, "email": "ss@testmail.com", "accepts_marketing": false, "created_at": null, "updated_at": null, "first_name": "Jane", "last_name": "Doe", "orders_count": 2, "state": "disabled", "total_spent": "0.00", "last_order_id": 54254, 54258 "note": "The user registered from India and uses store for sending gifts", "verified_email": true, "multipass_identifier": null, "tax_exempt": false, "phone": 8585858585, "tags": "retailer", "last_order_name": null, "currency": "INR", "addresses": [ ], "accepts_marketing_updated_at": null, "marketing_opt_in_level": null, "admin_graphql_api_id": "gid://shopify/Customer/744408886555322224" } } Заключение Процесс передачи данных является ключевым во взаимодействии человека и веб-приложений. Webhook делает взаимодействие между приложениями быстрым, беспрепятственным и не таким сложным. Webhook является альтернативой API и автоматизирует коммуникационное соединение.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59