По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В больших корпоративных сетях могут использоваться несколько протоколов внутренней маршрутизации. Такая практика часто встречается при слиянии двух компаний. Чтобы компьютеры в одном домене маршрутизации (далее просто «домен») видели хосты в другом домене применятся так называемая редистрибуция. Эта функция позволяет маршрутизатору выбрать маршрут, выученный через один протокол маршрутизации, например, EIGRP и добавить в его в список анонсируемых сетей в другой, например, OSPF. Эта операция выполняется на маршрутизаторах, который смотрят в обе сети и называются точкой редистрибуции (Redistirbution Point). Маршрутизаторы, которые занимаются анонсированием сетей из одного домена в другой используют для этого таблицу маршрутизации. Другими словами, если маршрутизатор не найдет путь до какой-то сети в своей таблице, то он не будет анонсировать его в другой домен. Схема сети Для построения отказоустойчивой сети обычно применяются два или более маршрутизатора, которые занимаются перебросом маршрутной информации с одного домена в другой. В такой ситуации может образоваться так называемая петля маршрутизации. Поясним на рисунке: В данном случае пакеты из маршрутизатор 2, чтобы добраться до сети Х, которая находится в том же домене делает круг через RD1 > R1 > RD2 > Subnet X. Это происходит потому, что маршрут, объявленный RD1 в Домен маршрутизации 2, имеет меньшее административное расстояние (Administrative Distance, AD), чем маршруты, объявленные роутерами из того же домена. Далее рассмотрим в каких случаях возможно такое. Как избежать петель? Один из самых лёгких методов для избегания петель маршрутизации это при добавлении маршрутов из одного домена в другой более высокой метрики. В данном случае маршрутизаторы RD1 и RD2 при анонсировании маршрутов, выученных протоколом RIP в домен OSPF, назначают им метрику 500. И наоборот, из домена OSPF в домен RIP маршруты анонсируются с метрикой 5. Второй способ – это административное расстояние. Любой маршрут, который добавляется в таблицу маршрутизации роутера, сопоставляется с административным расстоянием. Если роутер получил несколько маршрутов в одну и ту же сеть с одной и той же длиной префикса, то в таблицу попадают маршруты с меньшим AD. Маршрутизатор не учитывает метрику. Вместе с этим, AD – это локальное значение для каждого роутера и не объявляется соседним маршрутизаторам. В таблице ниже приведены административные расстояния для всех типов маршрутов на роутерах Cisco. Тип маршрутаАдминистративное расстояниеConnected (подключённый)0Static (Статический)1EIGRP Summary route5eBGP (external BGP)20EIGRP (internal)90IGRP100OSPF110IS-IS115RIP120EIGRP (external)170iBGP (internal BGP)200 Настройки AD по умолчанию для протокола EIGRP при анонсировании маршрутов в OSPF и RIP предотвращают образование петель маршрутизации. На рисунке выше подсеть 172.16.35.0/24 анонсируется через RD1 в домен OSPF. Маршрутизатор R2 в свою очередь анонсирует выученную через external OSPF сеть роутеру RD2. Но RD2 уже выучил маршрут до сети 35.0 через EIGRP, у которого административное расстояние равно 90, что меньше чем AD OSFP, которое равно 110. Таким образом RD2 не добавит маршрут, полученный у R2 с AD 110 в таблицу маршрутизации и соответственно не будет редистрибутировать обратно в EIGRP. Таким образом логику работы маршрутизатора RD2 можно сформулировать следующим образом: RD2 считает маршрут, полученный по EIGRP лучшим, так как у него меньшее административное расстояние, и добавляет его в таблицу маршрутизации. RD2 не будет анонсировать маршрут, полученный через OSPF, так как его нет в таблице маршрутизации. В силу своей специфик, протокол EIGRP также предотвращает образование петель маршрутизации при редистрибуции из OSPF и RIP. Как было указано на таблице выше, внешние маршруты в EIGRP имеют административное расстояние равным 170. В данном случае маршрутизатор RD2 выучил два маршрута в сеть 192.168.11.0/24. Один через R2 в домене OSPF с AD равным 110, второй через R1 в домене EIGRP с административным расстоянием равным 170-ти. Действуя по указанной выше логике, RD2 добавит в таблицу маршрутизации сеть 11.0 выученный у роутера R2 предотвращая таким образом образование петли. Если в случае EIGRP-OSPF, EIGRP-RIP нам удалось без особых усилий предотвратить петлю маршрутизации, то в случае OSPF-RIP всё немного сложнее. Так как OSPF для всех типов маршрутов использует один показатель AD – 110, то при редистрибуции между RIP и OSPF избежать петель удается только изменение административного расстояния протоколов маршрутизации. Делается это командой distance. Для изменения показателя AD для внешних маршрутов, в интерфейсе настройки OSPF прописываем команду distance external ad-value. Значение, указанное параметром должно быть больше, чем у RIP (120). Но не редки случаи, когда в сети работают более двух протоколов маршрутизации. В таких случаях значения AD по умолчанию не помогают. На рисунке ниже сеть 172.20.0.0/16 выучена протоколом EIGRP как внешний через RIP с АР (Административное Расстояние) равным 170. В свою очередь RD1 анонсирует данную сеть в домен OSPF с АР равным 110. RD2 же вместо маршрута с АР 170, полученного из домена EIGRP в таблицу добавляет маршрут с АР 110, полученный из домена OSPF. При таком раскладе маршрутизатор R4 получает два маршрута в одну и ту же сеть с одним и тем же АР. И в случае если метрика RD2 лучше, то R4 отправке пакетов в сеть 172.20 будет использовать более длинный путь. Нужно заметить, что это только в том случае, когда домены расположены именно в указанном порядке. В таких случаях применяется настройка административного расстояния в зависимости от маршрута. Как было указано выше, для изменения АР используется команда distance. Эта команда принимает несколько параметров: distance distance ip-adv-router wc-mask [ acl-number-or-name ] В данной команде обязательным параметром является IP соседнего маршрутизатора. Если IP адрес анонсирующего маршрутизатора совпадёт с указанными в команде, то для маршрутов, полученных от этого соседа данный роутер назначит указанный в команде АР. Рассмотрим указанный случай на практике. Детальная топология сети, показанная выше, указана на рисунке, а конфигурацию можете скачать по ссылке ниже: Скачать файлы конфигрурации Для начала просмотрим с каким АР RD1 выучил маршрут до сети 172.20: Как видим, RD1 добавил в таблицу маршрутизации маршрут, выученный через OSPF, вместо EIGRP, так как АР у OSPF меньше. Теперь изменим поведение маршрутизатора и посмотрим, как это повлияет на таблицу маршрутизации. ip access-list standard match-172-20 permit host 172.20.0.0 router ospf 2 distance 171 1.1.1.1 0.0.0.0 match-172-20 P.S. В GNS скорее всего придётся выключить, затем включить интерфейс, смотрящий в OSPF домен, чтобы изменения применились. В реальной сети всё работает правильно. Поясним, что мы написали выше. Со стандартным списком доступа всё понятно. Команде distance параметром задали 171 – административное расстояние. Затем идет router id маршрутизатора, который анонсирует сеть 172.20. В нашем случае это маршрутизатор RD1. Таким образом, OSPF посмотрит полученный LSA и, если там увидит идентификатор маршрутизатора RD1, а также сеть, которая указана разрешённой в списке доступа, то применит этому маршруту расстояние 171. Отметим, что указанную конфигурацию нужно сделать на всех роутерах, которые занимается распределением маршрутов и для всех сетей их третьего домена.
img
Все мы слышали об SSL. SSL – это то, благодаря чему процветают такие вещи, как E-commerce. SSL позволяет нам безопасно взаимодействовать с сайтами… но что нам делать, если нужно конфиденциально подключиться к другой сети, а не сайту? Здесь и пригодится IPSec. Многие ИТ-специалисты и системные администраторы не до конца понимают IPSec. Конечно же, все мы знаем, что IPSec – это тип защищенной передачи данных, но какие приложения им пользуются? И как работает IPSec? Давайте в этом разберемся. В данной статье мы обсудим, что такое IPSec, для чего используется, как работает и чем отличается от таких протоколов, как SSL и TLS. Что такое IPSec? IPSec – это метод безопасного и зашифрованного обмена данными между клиентом и сетью. Такое «сообщение» передается через общедоступные сети (Интернет). Чаще всего IPSec используется для VPN, а также подключения двух частных сетей. Сам по себе IPsec не является протоколом. Это, скорее, набор протоколов, которые используются вместе. К таким протоколам относятся: Authentication Header (Аутентификационный заголовок) Encapsulating Security Protocol (Инкапсулирующий протокол безопасности) Security Association (Ассоциация безопасности) Internet Protocol (Интернет-протокол) Как работает IPsec? IPSec позволяет клиенту безопасно обмениваться данными с другой сетью. Необходимо отметить, что данный метод обычно не используется для взаимодействия между устройствами, а применяется для подключения ноутбука к частной сети через общедоступную сеть (по типу Интернета). Кроме того, IPsec может соединять две частные сети. Обратите внимание, что мы не используем HTTP или TCP для передачи данных. Это потому, что в рамках модели OSI (модель открытого системного взаимодействия) IPSec проходит по уровню Layer 3 сети. То есть, в принципе, IPSec может оказаться безопаснее других методов защищенной передачи данных. IPSec-соединения по-прежнему устанавливаются между клиентом и хостом через другие сети. И эти другие сети обычно являются общедоступными – как, например, Интернет. Поэтому все взаимодействия между клиентом и хостом зашифрованы. В любом случае, ключи шифрования не согласовываются с каждым новым подключением. До установки соединения и клиент, и хост должны знать закрытые ключи шифрования. Это последнее предложение очень важное. Дело в том, что в ходе взаимодействия зашифровывается весь пакет данных, включая его заголовок. Быть может, вы подумаете: чтобы правильно попасть в пункт назначения, пакеты должны иметь читабельные заголовки. И вы правы. Кстати, именно поэтому и используется Encapsulating Security Protocol (ESP). Для транспортировки ESP добавляет в пакет новую информацию о заголовке и конечном управляющем поле (или трейлере; он похож на заголовок, но располагается в конце пакета), тогда как настоящий заголовок остается зашифрованным. Точно также происходит и аутентификация каждого пакета. Хост IPSec подтверждает, что каждый пакет полученных данных отправлялся тем объектом, который, как считает хост, и был отправителем. В противном случае этот пакет данных отклоняется. Для чего используется IPSec? IPSec используется для создания безопасного метода взаимодействия между клиентом и хостом. Клиентом может быть, например, ноутбук. Или же частная сеть. Хостом, как правило, тоже служит частная сеть. Теперь мы знаем, как работает IPsec, и пора разобраться, для чего он используется? Что же означает предыдущий абзац? Чаще всего IPSec используется для VPN. VPN – это виртуальная частная сеть. VPN позволяет клиенту подключаться к частной коммерческой сети через общедоступную сеть интернет (например, ноутбук сотрудника). Как только ноутбук подключился к частной коммерческой сети через VPN, то он как бы сам попадает в эту частную сеть – для всех целей и задач. Иначе говоря, подключившись к коммерческой сети ноутбук получает доступ ко внутренним ИТ-ресурсам. Весь трафик этого ноутбука (входящий и исходящий) циркулирует через частную коммерческую сеть в интернет. Соединения двух удаленных частных сетей можно настраивать через IPsec-подключения и VPN. Например, вы ведете свою деятельность в двух разных локациях (в Пенсильвании и Калифорнии). Как настроить подключение? Провести кабель не получится – офисы находятся слишком далеко друг от друга. Раньше таким компаниям приходилось оплачивать дорогую выделенную линию (по типу Т1 подключения). Но сейчас они могут обмениваться данными через открытый интернет с помощью IPsec-подключения. Отличия между IPsec и TLS (или SSL) IPsec-подключения и TLS (SSL)-подключения во многом похожи. Оба способа служат для безопасного и зашифрованного обмена данными. Оба протокола могут использовать общедоступные сети для взаимодействия и т.д. и т.п. Но в то же время, IPsec и TLS/SSL во многом отличаются. Например, IPsec-подключения являются частью уровня Layer 3 в модели OSI, тогда как TLS и SSL-подключения относятся к уровню Layer 7. Получается, что IPsec-подключения выполняются на базовом уровне соединений в модели OSI, тогда как TLS и SSL начинаются выше в стеке. Кроме того, работа TLS и SSL-соединений зависит от прикладного уровня (HTTP) и уровня 4 (TCP). То есть на этих уровнях они также подвержены эксплойтам, чего не скажешь о IPsec. Еще одно важное отличие между IPsec и SSL или TSL заключается в том, как согласуются подключения. Поскольку TLS и SSL-подключения используют TCP, их типы безопасного подключения необходимо вначале согласовать. После этого клиент и хост дополнительно согласовывают ключ шифрования. С IPSec все иначе. Передача данных зашифровывается сразу. Кроме того, секретный ключ для шифрования передается клиенту и хосту по отдельности – еще до попытки взаимодействия. Также его можно передавать через DNS (хорошо бы при помощи DNSsec). Метод, который используется для обмена ключами в IPsec, называется IKEv1 или IKEv2. Чаще всего сейчас пользуется IKEv2. Это подводит нас к еще одной интересной детали. Поскольку IPsec-соединения зашифровываются сразу, тоже самое можно сделать и со всем заголовком IP-пакета. Но IP-пакетам по-прежнему нужен читабельный заголовок, чтобы попасть в правильное место. Для этих целей в зашифрованные пакеты IPsec добавляются дополнительные заголовки и трейлеры. То есть размеры MSS (Maximum segment size) и MTU (Maximum transmission unit) для каждого пакета изменяются. Сетевым администраторам необходимо предусмотреть эту разницу в своих сетях. Заключение В этой статье мы рассмотрели множество вопросов. Давайте быстро подведем итог. IPSec – это метод безопасного и зашифрованного обмена данными между клиентом и хостом. Клиентом может быть устройство (например ноутбук) или частная сеть. Хостом чаще всего бывает частная сеть. Сам IPsec не является протоколом; это набор протоколов, которые используются вместе. Протоколы, которыми пользуется IPsec, начинаются на уровне Layer 3 модели OSI, что, возможно, делает IPsec безопаснее, чем TLS или SSL. IPsec обычно используется для VPN, то также подходит для подключения двух частных сетей.
img
Желание использовать данные с внешних сервисов это вполне обычная практика. Так как многие из этих сервисов доступны по HTTP(S) (REST API, например), то в этой статье мы хотим показать простой способ обращения к этим сервисам по cURL и обработку данных в случае, если сервер вернет JSON. Все взаимодействия будут выполняться из диалплана. Простой cURL запрос В диалплане Asterisk существует функция CURL, которая позволяет получить содержимое WEB или FTP страницы. Синтаксис запроса следующий: CURL(url,post-data) url - URL, к которому мы будем выполнять обращение; post-data - по умолчанию будет выполнен GET – запрос. Если в данном параметре будут указаны различные значения, то будет выполнен POST запрос с указанными в переменной данными; Например: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) Здесь мы выполним GET запрос по указанному URL, а результат сохраним в переменной C_RESULT. Использование HTTPS в запросах Иногда, HTTPS запросы могут не срабатывать, так как удаленная сторона будет проверять наш SSL – сертификат. Если поставить параметр ssl_verifypeer=0, то такой проверки не будет: same => n,Set(CURLOPT(ssl_verifypeer)=0) Как воспользоваться этим в диалплане? Легко. С помощью функции GotoIf мы можем определить действие, которое отработает на базе результата cURL: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) same => n,GotoIf($["${C_RESULT}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Указанный код отправит GET - запрос на rest, в котором в параметре num передаст номер звонящего (можно указать соответствующую переменную диалплана Asterisk). В случае, если результатом выполнения запроса будет 1, то мы перейдем к выполнению шага res1, а противоположном случае, res2. res_json для обработки JSON ответов На самом деле, для API, является обычной практикой возврат ответа в виде JSON. Поэтому, нам следует преобразовать эти данные перед обработкой их. Для этого мы воспользуемся модулем res_json из JSON библиотеки, который создан для расширения базовых возможностей диалплана с точки зрения обработки JSON. Почитайте материал об установке данного модуля по этой ссылке. exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest.json)}) same => n,Set(result=${JSONELEMENT(C_RESULT, result/somefield)}) same => n,GotoIf($["${result}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Для теста, создайте у себя на web – сервере файл rest.json со следующим содержанием: { "result": { "somefield": 1 } }
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59