По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Когда дело доходит до облачной инфраструктуры, виртуальная машина является стандартом перехода по многим своим преимуществам. Однако, что делать, если у вас была альтернатива виртуальной машине, которая была бы более легкой, экономичной и масштабируемой? Это именно то, чем является Docker. Docker - это контейнерная технология, позволяющая разрабатывать распределенные приложения. В этой статье мы объясним разницу между виртуальными машинами и контейнерами Docker. Что такое виртуальная машина? Виртуальная машина - это система, которая действует точно так же, как компьютер. Виртуальные машины позволяют запускать операционную систему в приложении, которое ведет себя как полноценный отдельный компьютер. Вы можете использовать их для работы с различными операционными системами, запускать программное обеспечение, которое не может работать на вашей основной ОС. Что такое Docker? Docker - это инструмент, который использует контейнеры для упрощения создания, развертывания и запуска приложений. Он связывает приложение и его зависимости внутри контейнера. Docker против виртуальной машины Теперь поговорим о существенных различиях между докерными контейнерами и виртуальными машинами. Что ж, существенными различиями являются их поддержка операционной системы, безопасность, мобильность и производительность. Итак, давайте обсудим каждый из этих терминов. Поддержка операционной системы Поддержка операционной системы виртуальной машины и контейнера Docker сильно отличается. На изображении выше вы можете видеть, что каждая виртуальная машина имеет свою гостевую операционную систему над основной операционной системой, что делает виртуальные машины тяжелыми. С другой стороны, контейнеры Docker используют общую операционную систему хоста, и поэтому они легковесны. Совместное использование операционной системы хоста между контейнерами делает их очень легкими и помогает им загружаться всего за несколько секунд. Следовательно, накладные расходы на управление контейнерной системой очень низкие по сравнению с виртуальными машинами. Docker контейнеры подходят для ситуаций, когда вы хотите запустить несколько приложений в одном ядре операционной системы. Но если у вас есть приложения или серверы, которые должны работать в разных версиях операционной системы, тогда требуются виртуальные машины. Безопасность Виртуальная машина не имеет общей операционной системы, и в ядре хоста существует сильная изоляция. Следовательно, они более безопасны по сравнению с контейнерами. Контейнер имеет много угроз безопасности и уязвимостей, поскольку контейнеры имеют общее ядро хоста. Кроме того, поскольку ресурсы докера являются общими и не имеют пространства имен, злоумышленник может использовать все контейнеры в кластере, если он получает доступ даже к одному контейнеру. В виртуальной машине вы не получаете прямого доступа к ресурсам, а гипервизор предназначен для ограничения использования ресурсов в виртуальной машине. Портативность Контейнеры Docker легко переносимы, поскольку у них нет отдельных операционных систем. Контейнер может быть перенесен на другую ОС, и он может запуститься немедленно. С другой стороны, виртуальные машины имеют отдельную ОС, поэтому портирование виртуальной машины затруднено по сравнению с контейнерами, а также требуется много времени для портирования виртуальной машины из-за ее размера. Для целей разработки, где приложения должны разрабатываться и тестироваться на разных платформах, контейнеры Docker являются идеальным выбором. Производительность Сравнение виртуальных машин и контейнеров Docker было бы несправедливым, поскольку они оба используются для разных целей. Но легкая архитектура Docker и его менее ресурсоемкая функция делают его лучшим выбором, чем виртуальная машина. В результате контейнеры могут запускаться очень быстро по сравнению с виртуальными машинами, а использование ресурсов варьируется в зависимости от нагрузки или трафика в нем. В отличие от виртуальных машин, нет необходимости постоянно выделять ресурсы для контейнеров. Масштабирование и дублирование контейнеров также является простой задачей по сравнению с виртуальными машинами, поскольку в них нет необходимости устанавливать операционную систему. Вывод Вот таблица, которая показывает различия между виртуальной машиной и контейнером Docker. Виртуальная машинаDocker контейнерИзоляция процесса на аппаратном уровнеИзоляция процесса на уровне ОСКаждая виртуальная машина имеет отдельную ОСКаждый контейнер может совместно использовать ОСЗагружается в считанные минутыЗагружается в считанные секундыВиртуальные машины занимают несколько ГБКонтейнеры легкие (КБ / МБ)Готовые виртуальные машины трудно найтиГотовые док-контейнеры легко доступныВиртуальные машины могут легко перейти на новый хостКонтейнеры уничтожаются и воссоздаются, а не перемещаютсяСоздание ВМ занимает относительно больше времениКонтейнеры могут быть созданы в считанные секундыБольше использования ресурсаМеньшее использование ресурсов
img
В этой статье мы рассмотрим настройку BGP-оповещения для Network Layer Reachability Information (NLRI), а также конфигурацию политики маршрутизации BGP. Предыдущие статьи цикла про BGP: Основы протокола BGP Построение маршрута протоколом BGP Формирование соседства в BGP Видео: Основы BGP за 7 минут Оповещения NLRI Прежде чем мы начнем настраивать оповещения NLRI, используя различные команды, давайте сначала обсудим старую функцию BGP, которую Cisco отключает по умолчанию. Эта функция называется синхронизацией BGP. Для проверки того, что Cisco отключила эту функцию на вашем устройстве, выполните команду show running-configuration на одном из устройств BGP, и в выводимой информации, под пунктом «процессы» BGP, вы увидите сообщение no synchronization. Если эта функция включена, функция синхронизации не позволяет спикеру BGP вводить префиксы в BGP, если нет коррелированной записи для префикса в базовом IGP (или статических маршрутах). Это помогает предотвратить ситуации типа "черная дыра" (black hole), когда устройства на маршруте не работают с BGP и не могут переадресовать префикс BGP, потому что у них нет маршрута к этому префиксу из их IGP. Эта функция отключена по умолчанию из-за создания множества различных механизмов масштабируемости, существующих в BGP, которые позволяют настроить топологию iBGP без требования полной сетки одноранговых узлов iBGP. Еще одна причина, по которой он отключен, заключается в том, что он поощряет перераспределение префиксов BGP в базовый IGP, и это не безопасно. Существует причина, по которой Cisco уходит от использования команды network для настройки IGPs в CLI. Не очень хорошая идея в программировании, чтобы одна команда выполняла очень разные вещи, и когда она используется в разных областях. Это относится и к команде network. При использовании в IGP команда включает протокол на интерфейсе (а также влияете на то, какие префиксы объявляются), но в BGP у команды network другое назначение. Она не включает BGP на определенных интерфейсах, вместо этого она объявляет префикс, который существует (каким-то образом) на локальном устройстве, и вводит его в BGP. Хотя префикс, который вы могли бы объявить в BGP, чаще всего встречается в вашем IGPs в таблице маршрутизации. Вы можете использовать другие методы для создания префикса для оповещения. Например, вы можете создать интерфейс обратной связи, который обладает префиксом сети, который вы хотите объявить. Или вы можете создать статический маршрут или даже статический маршрут, указывающий на Null0. Одна маленькая хитрость, связанная с командой network в BGP, заключается в том, что, если ваша маска подсети для вашего префикса не находится на классовой границе IP- адреса (например, 10.0.0.0/8), то вам нужно не забыть использовать ключевое слово mask и указать правильную маску при использовании команды. Пример 1 показывает создание двух петлевых интерфейсов и объявление их префиксов в BGP. Обратите внимание, что этот пример также показывает проверку этих префиксных объявлений на маршрутизаторе ATL. Пример 1: Использование команды Network в BGP TPA1#conf t Enter configuration commands, one per line. End with CNTL/Z. TPA1(config)#interface loopback 192 TPA1(config-if)#ip address 192.168.1.1 255.255.255.0 TPA1(config-if)#exit TPA1(config)#interface loopback 172 TPA1(config-if)#ip address 172.16.10.1 255.255.255.0 TPA1(config-if)#exit TPA1(config)router bgp 100 TPA1(config-router)#network 192.168.1.0 TPA1(config-router)#network 172.16.10.0 mask 255.255.255.0 TPA1(config-router)#end TPA1# ATL# ATL#show ip bgp Хотя команда network проста и удобна, она не была бы эффективной, если бы у вас было много префиксов для оповещения. Другой вариант- перераспределить префиксы в BGP из IGP или статических маршрутов. Пример 2 демонстрирует перераспределение префиксов, которые были получены через EIGRP, в BGP. Обратите внимание при проверке, что исходный код для этих префиксов отображается как (?) указывает на неизвестность. Пример 2: перераспределение префиксов в BGP TPA1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. TPA1(config)router bgp 100 TPA1(config-router)#redistribute eigrp 100 TPA1(config-router)#end TPA1# ATL#show ip bgp Когда вы начинаете объявлять (оповещать) NLRI в BGP, вы можете столкнуться с префиксами в вашей таблице BGP (показанной с show ip bgp), которые имеют код состояния (r) вместо ожидаемого допустимого кода состояния (*). Код состояния (r) указывает на сбой RIB, означающий, что BGP попытался поместить префикс в таблицу BGP, но не смог из- за какой-то проблемы. Наиболее распространенной причиной отказа RIB является административное расстояние (AD). Например, IBGP узнал префиксы несущие ужасные объявления AD из 200. Это означает, что если ваш маршрутизатор получил префикс через IGP (даже такой плохой, как RIP с AD 120), то он будет предпочтительнее префикса IBGP. В результате протокол BGP получивший это объявление AD, не отметит префикс как действующий. Обратите внимание, что это, как правило, не происходит с префиксами EBGP-learned, поскольку они имеют очень предпочтительное объявление 20 (по умолчанию). Очень часто, если желательно иметь префикс в IGP и BGP, администраторы будут манипулировать значениями AD на своих маршрутизаторах, чтобы улучшить AD IBGP. Например, в случае RIP и BGP администратор мог бы установить AD изученных маршрутов IBGP на 119, чтобы сделать их предпочтительными по сравнению с используемым IGP. В дополнение к выявлению сбоев RIB в результатах команды show ip bgp, вы можете использовать более прямую команду show ip bgp rib-failure, чтобы увидеть любые префиксы в этом состоянии. Это особенно полезно в случае массивных таблиц BGP. Настройка политики маршрутизации BGP Довольно часто встречаются топологии, в которых вы явно не хотите объявлять префиксы в своей таблице BGP, или вы не хотите получать определенные префиксы от узла BGP. К счастью, в вашем распоряжении есть много инструментов для этого. Например, вот только некоторые методы, которые вы могли бы использовать для фильтрации префиксов: Distribute lists Extended ACLs Prefix lists AS Path filters Route maps Пример 3 демонстрирует один из методов фильтрации. Выбран подход route map, потому что все (и это правильно) любят карты маршрутов. Пример 3: Использование route map в качестве префиксного фильтра в BGP ATL# configure terminal Enter configuration commands, one per line. End with CNTL/Z. ATL(config)#ip access-list standard MYPREFIX ATL(config-std-nacl)#permit 192.168.1.0 0.0.0.255 ATL(config-std-nacl)#exit ATL(config)#route-map MYMAP deny 10 ATL(config-route-map)#match ip address MYPREFIX ATL(config-route-map)#exit ATL(config)#route-map MYMAP permit 20 ATL(config-route-map)#exit ATL(config)#router bqp 200 ATL(config-router)#neighbor 10.10.10.1 route-map MYMAP in ATL(config-router)#end ATL# ATL# clear ip bqp * soft ATL# show ip bqp Обратите внимание, перед проверкой я запускаю команду clear ip bgp * soft. Это гарантирует, что устройство сразу же обновит информацию BGP для меня, так что мне не придется ждать истечения таймера, когда дело дойдет до конвергенции BGP на новых манипуляциях с политикой, которые мы сделали. Помните, что BGP использует множество различных атрибутов пути вместо простой метрики, чтобы предоставить вам возможность легко настроить способ, по которому происходит маршрутизация. Ниже приведены некоторые из атрибутов пути, которыми вы могли бы манипулировать, чтобы настроить политику: Weight MED Local Preference AS Path Можно спросить себя, как AS Path могут быть использованы в целях маршрутизации. Поскольку манипуляция AS Path часто выполняется с помощью AS Path Prepending. Вы отравляете префикс, добавляя свой собственный номер AS к пути, чтобы сделать более длинным (менее предпочтительным) AS Path. Как и большинство наших манипуляций с атрибутом пути, это легко сделать с помощью карты маршрута. Давайте рассмотрим пример использования Local Preference для манипулирования политикой. Мы часто используем Local Preference, чтобы повлиять на то, как мы будем направлять исходящий трафик к префиксу BGP. Мы делаем это, устанавливая значения Local Preference, входящие по нескольким путям. Прежде чем мы начнем, поймите, что Local Preference - это значение, которое рассматривается довольно высоко в процессе принятия решения о наилучшем пути BGP, более высокое значение предпочтительно, и значения передаются только в обновлениях IBGP. Именно так имя LOCAL вошло в название Local Preference. Для начала я объявил тот же префикс в AS 200 (ATL и ATL2) от маршрутизаторов TPA1 и TPA2 AS 100. Глядя на пример 4, Вы можете видеть, что этот префикс (192.168.1.0) может быть достигнут с помощью следующего прыжка 10.10.10.1 и что это предпочтительный путь. Альтернативный путь, который будет использоваться в случае неудачи этого пути, будет проходить через следующий переход 10.21.21.1. Пример 4: Подготовка к использованию Local Preference ATL# show ip bqp Теперь пришло время поэкспериментировать и изменить данное поведение с помощью примера манипуляции атрибутом пути. Мой подход будет состоять в том, чтобы определить префикс, которым мы хотим манипулировать (192.168.1.0), и поднять значение локального предпочтения, чтобы оно было больше, чем значение по умолчанию 100 для пути к TPA2 на следующем прыжке 10.21.21.1. Я делаю это, манипулируя префиксом, когда он входит через путь 10.21.21.1 . Пример 5 показывает эту конфигурацию. ATL# configure terminal Enter configuration commands, one per line. End with CNTL/Z. ATL(config)#ip access-list standard OURPREFIX ATL(config-std-nacl)#permit 192.168.1.0 0.0.0.255 ATL(config-std-nacl)#exit ATL(config)#route-map SETLOCALPREF permit 10 ATL(config-route-map)#match ip address OURPREFIX ATL(config-route-map)#set local-preference 110 ATL(config-route-map)#exit ATL(config)#route-map SETLOCALPREF permit 20 ATL(config-route-map)#exit ATL(config)#router bqp 200 ATL(config-router)#neighbor 10.21.21.1 route-map SETLOCALPREF in ATL(config-router)#end ATL# ATL# clear ip bqp * soft ATL# show ip bqp Обратите внимание, что предпочтительный путь теперь проходит через следующий переход 10.21.21.1, как мы и хотели. Для этого префикса также отображается значение Local Preference - 110. Это более высокое значение является предпочтительным и изменяет выбор, сделанный процессом выбора наилучшего пути BGP.
img
В данной статье я опишу несложный процесс регистрации нового транка при помощи web – интерфейса FreePBX 13. Процесс продемонстрирован при выборе провайдера Celecom (www.celecom.ru) , но он достаточно схож для многих провайдеров. Пошаговое видео Добавить SIP - транк Необходимо попасть в меню администрирования транков по следующему пути: Connectivity → Trunks Далее нажать «Add Trunk» и выбрать необходимый тип транка. В данном случае выберем опцию Add SIP (chan_sip) Trunk Далее необходимо придумать имя транка, в данном случае trunktest. Коротко про опции в данном поле: Trunk Name - Название транка Hide CallerID - Опция скрытия CID при исходящем вызове Outbound CallerID CID, который будет передаваться при исходящем вызове CID Options - Настройки передачи CID – разрешить все, запретить иностранные и т.д Maximum Channels - максимальное количество одновременных разговоров вне локальной сети Asterisk Trunk Dial Options - модификация Dial options, в данном случае оставим опцию дефолтной Continue if Busy - опция направления вызова на следующий транк даже если канал сообщает «BUSY» или «INVALID NUMBER» Disable Trunk - опция выключения транка Далее необходимо проследовать в поле «sip Settings» Для начала настроим настройки исходящих вызовов в поле «Outgoing» Дублируем название транка и вставляем настройки: host=sip.sun-tel.ru type=peer context=from-trunk username=ваш_sipid -логин, который выдается провайдером(ваш номер) secret=ваш_пароль – пароль, выданный провайдером fromuser= ваш_sipid fromdomain=sip.sun-tel.ru qualify=yes insecure=invite,port faxdetect=no account=celecom Заключительный шаг – необходимо ввести строку регистрации (registration string) в поле «Incoming» ваш_Sipid:PASSWORD@sip.sun-tel.ru/ВАШ_НОМЕР Если все было сделано правильно, то необходимо нажать Submit и Apply Config. Если данные аккаунты верны, то в окне мониторинга «Dashboard» вы увидите, что транк поднялся. Настройка исходящих и входящих маршрутов будет рассмотрена в следующей статье.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59