По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этом материале расскажем, как можно фильтровать маршруты, анонсируемые протоколом динамической маршрутизации EIGRP. Данный материал предполагает, что у читателя есть начальные навыки работы с сетью или как минимум знания на уровне CCNA. Поэтому о том, что такое динамическая маршрутизация в этом материале не будет рассказано, так как тема достаточно большая и займет не одну страницу. Теперь представим, что мы работаем в большой компании с сотнями серверов, десятками филиалов. Мы подняли сеть, настроили динамическую маршрутизацию и все счастливы. Пакеты ходят куда надо, как надо. Но в один прекрасный день, нам сказали, что на маршрутизаторах филиалов не должно быть маршрутов к сетям отдела производства. На рисунке ниже представлена упрощенная схема нашей вымышленной сети. Конфигурацию всех устройств из этой статьи (для каждой ноды) можно скачать в архиве по ссылке ниже. Скачать конфиги тестовой лаборатории Мы конечно можем убрать из-под EIGRP указанные сети, но в этом случае из сетей в головном офисе тоже не будет доступа к сетям отдела производства. Именно для таких случаев была придумана такая возможность, как фильтрация маршрутов. В EIGRP это делается командой distribute-list в конфигурации EIGRP. Принцип работы distribute-list (список распределения) прост: список распределения работает по спискам доступа (ACL), спискам префиксов (prefix-list) или карте маршрутов (route-map). Эти три инструмента определяют будут ли анонсироваться указанные сети в обновлениях EIGRP или нет. В команде distribute-list также можно указать направление обновлений: входящие или исходящие. Также можно указать конкретный интерфейс, где должны фильтроваться обновления. Полная команда может выглядеть так: distribute-list acl [in | out][interface-type interface-number] Фильтрация маршрутов с помощью списков доступа Первым делом рассмотрим фильтрацию с помощью ACL. Фильтрация маршрутов EIGRP с помощью списков ACL основан на разрешающих и запрещающих действиях списков доступа. То есть, чтобы маршрут анонсировался, в списке доступа он должен быть указан с действием permit, а deny, соответственно, запрещает анонсирование маршрута. При фильтрации, EIGRP сравнивает адрес источника в списке доступа с номером подсети (префиксом) каждого маршрута и принимает решение на основе действий, указанных в ACL. Чтобы лучше узнать принцип работы приведём примеры. Для фильтрации маршрутов, указанных на рисунке выше нужно создать ACL, где каждый указанный маршрут сопровождается командой deny, а в конце следует прописать permit any, чтобы остальные маршруты могли анонсироваться: access-list 2 deny 10.17.32.0 0.0.1.255 access-list 2 deny 10.17.34.0 0.0.0.255 access-list 2 deny 10.17.35.0 0.0.0.127 access-list 2 deny 10.17.35.128 0.0.0.127 access-list 2 deny 10.17.36.0 0.0.0.63 access-list 2 deny 10.17.36.64 0.0.0.63 access-list 2 permit any А на интерфейсе настройки EGRP прописываем: distribute-list 2 out s4/0 Проверим таблицу маршрутизации до и после применения указанных команд. Фильтрацию будем проводить на WAN маршрутизаторах. Как видим все маршруты до сети отдела Производства видны в таблице маршрутизации филиала. Теперь применим указанные изменения: И посмотрим таблицу маршрутов роутера филиала еще раз: Все маршруты в отдел производства исчезли из таблицы маршрутизации. Правда, можно было обойтись и одной командой в списке доступа, но для наглядности решили прописать все адреса. А более короткую версию можете указать в комментариях к этому посту. Кстати, фильтрацию в данном примере мы применили на один интерфейс, но можно применить и на все интерфейсы, на которых включен EIGRP. Для этого команду distribute-list нужно ввести без указания конкретного интерфейса. distribute-list 2 out Следует отметить, что для правильной работы фильтрации в нашей топологии на маршрутизаторе WAN2 нужно прописать те же настройки, что и на WAN1. Фильтрация маршрутов с помощью списка префиксов В Cisco IOS есть еще один инструмент, который позволяет осуществлять фильтрацию маршрутов prefix-list-ы. Может возникнуть вполне логичный вопрос: а чем не угодили списки доступа? Дело в том, что изначально ACL был разработан для фильтрации пакетов, поэтому для фильтрации маршрутов он не совсем подходит по нескольким причинам: списки IP-префиксов позволяют сопоставлять длину префикса, в то время как списки ACL, используемые командой EIGRP distribution-list, нет; Использование расширенных ACL может оказаться громоздким для конфигурирования; Невозможность определения совпадения маски маршрута при использовании стандартных ACL; Работа ACL достаточно медленна, так как они последовательно применяется к каждой записи в маршрутном обновлении; Для начала разберёмся в принципе работы списка префиксов. Списки IP префиксов позволяют сопоставлять два компонента маршрута: адрес сети (номер сети); длину префикса (маску сети); Между списками доступа и списками префиксов есть общие черты. Как и нумерованные списки доступа, списки префиксов могу состоять из одной и более команд, которые вводятся в режиме глобальной конфигурации и нет отдельного режима конфигурации. Как и в именованных списках доступа, в списках префиксов можно указать номер строки. В целом команда выглядит так: ip prefix-list list-name [ seq seq-value ] { deny | permit prefix / prefix-length } [ ge ge-value ] [ le le-value ] Коротко работу списка префиксов можно описать так: Адрес сети маршрута должен быть в пределах, указанных в команде ip prefix-list prefix/prefix-length. Маска подсети маршрута должна соответствовать значениям, указанным в параметрах prefix-length, ge, le. Первый шаг работает также как и списки доступа. Например, написав ip prefix-list TESTLIST 10.0.0.0/8 мы скажем маршрутизатору, что адрес сети должен начинаться с 10. Но списки префиксов всегда проверяют и на соответствие длины маски сети указанным значениям. Ниже приведено пояснение параметров списка IP-префиксов: Параметр prefix-list-а Значение Не указан 10.0.0.0/8; Маска сети должна быть равной длине, указанной в параметре prefix/prefix-length. Все маршруты, которые начинаются с 10. ge и le (больше чем, меньше чем) 10.0.0.0/8 ge 16 le 24 Длина маски должна быть больше 16, но меньше 24. А первый байт должен быть равен 10-ти. le меньше чем 10.0.0.0/8 le 24 Длина маски должна быть от восьми до 24-х включительно. ge больше чем 10.0.0.0/8 ge 24 Длина маски должна быть равна или больше 24 и до 32-х включительно. Учтите, что Cisco требует, чтобы параметры prefix-length, ge и le соответствовали следующему равенству: prefix-length <= ge-value <= le-value (8<=10<=24). А теперь перейдем непосредственно к настройке фильтрации с помощью списка префиксов. Для этого в интерфейсе конфигурации EIGRP прописываем distribute-list prefix prefix-name. Воспользуемся той же топологией и введём некоторые изменения в конфигурацию маршрутизатора WAN1, точно такую же конфигурацию нужно прописать и на WAN2. Итак, наша задача: отфильтровать маршруты в сети 10.17.35.0 и 10.17.36.0; отфильтровать маршруты сетей точка-точка так, чтобы маршрутизаторы в филиалах и на коммутаторах ядра (Core1 и Core2) не видели сети с длиной маски /30 бит. Так как трафик от пользователей в эти сети не идет, следовательно, нет необходимости анонсировать их в сторону пользователей. Для этого создаем prefix-list с названием FILTER-EIGRP и добавим нужные сети: ip prefix-list FILTER-EIGRP seq 5 deny 10.17.35.0/24 ge 25 le 25 ip prefix-list FILTER-EIGRP seq 10 deny 10.17.36.0/24 ge 26 le 26 ip prefix-list FILTER-EIGRP seq 15 deny 0.0.0.0/0 ge 30 le 30 ip prefix-list FILTER-EIGRP seq 20 permit 0.0.0.0/0 le 32 Удалим из конфигурации фильтрацию по спискам доступа и проверим таблицу маршрутизации: А теперь применим наш фильтр и затем еще раз проверим таблицу маршрутизации: Как видим из рисунка, маршрутов в сети 10.17.35.0, 10.17.36.0 и сети для соединений точка-точка между сетевыми устройствами в таблице уже нет. А теперь объясним что мы сказали маршрутизатору: ip prefix-list FILTER-EIGRP seq 5 deny 10.17.35.0/24 ge 25 le 25 Все сети, которые начинаются на 10.17.35 и имеют длину 25 бит запретить. Под это условие попадают сети 10.17.35.0/25 и 10.17.35.128/25. Длине префикса /25 соответствует маска 255.255.255.128. ip prefix-list FILTER-EIGRP seq 10 deny 10.17.36.0/24 ge 26 le 26 Все сети, которые начинаются на 10.17.36 и имеют длину 26 бит запретить. Под это условие попадают сети 10.17.36.0/26 и 10.17.36.64/26. Длине префикса /26 соответствует маска 255.255.255.192. ip prefix-list FILTER-EIGRP seq 15 deny 0.0.0.0/0 ge 30 le 30 Все сети, длина префикса которых равна 30 бит - запретить. В нашей топологии под это условие попадают сети 10.1.1.0/30, 10.1.1.4/30, 10.1.2.0/30, 10.1.2.4/30 все сети которые начинаются на 10.9.2. ip prefix-list FILTER-EIGRP seq 20 permit 0.0.0.0/0 le 32 Все сети, префикс которых имеет длину до 32-х бит разрешить. Под это условие попадают все остальные сети топологии. Фильтрация маршрутов с помощью route-map Далее пойдет речь о картах маршрутов или route-map-ах. В целом, в работе сети route-map-ы используются довольно часто. Этот достаточно гибкий инструмент дает возможность сетевому инженеру тонко настраивать маршрутизацию в корпоративной сети. Именно поэтому следует хорошо изучить принцип их работы, чем мы и займемся сейчас. А дальше покажем, как фильтровать маршруты с помощью этого инструмента. Route-map применяет логику похожую на логику if, else, then в языках программирования. Один route-map может включать в себя несколько команд route-map и маршрутизатор выполняет эти команды поочередно согласно номеру строки, который система добавляет автоматически, если не был указан пользователем. После того как, система нашла соответствие маршрута условию и определила разрешить анонсирование или нет, маршрутизатор прекращает выполнение команды route-map для данного маршрута, даже если дальше указано другое условие. Каждый route-map включает в себя критерии соответствия, который задается командой match. Синтаксис route-map выглядит следующим образом: route-map route-map-name {permit | deny} seq sequence-number match (1st set of criteria) Как и в случае с ACL или prefix-list, в route-map тоже можно указать порядковый номер строки для добавления или удаления соответствующего правила. В команде match можно указать ACL или prefix-list. Но тут может возникнуть недоразумение. А связано оно с тем, как обрабатываются route-map Cisco IOS. Дело в том, что решение о запрете или допуске маршрута основано на команде deny или permit команды route-map. Другими словами, маршрут будет обработан route-map-ом если в ACL или prefix-list-е данный маршрут сопровождается командой permit. Иначе, route-map проигнорирует данную запись и перейдет к сравнению со следующим условием route-map. Поясним на примере: access-list 101 permit 10.17.37.0 0.0.0.255 access-list 102 deny 10.17.35.0 0.0.0.127 route-map Test permit 5 match ip-address 101 route-map Test deny 10 match ip-address 102 В данном случае маршрут 10.17.37.0 будет обработан route-map 5, а маршрут 10.17.35.0 будет проигнорирован, так как в списке доступа под номером 102 он запрещён и не попадёт под критерий соответствия route-map. Приведём ключевые пункты работы route-map при фильтрации маршрутов: Команда route-map с опцией permit либо разрешит анонсирование маршрута, если он соответствует критерию, указанному в команде match, либо пропустит для обработки следующим пунктом. Команда route-map с опцией deny либо запретит анонсирование маршрута, если он соответствует критерию, указанному в команде match, либо пропустит для обработки следующим пунктом. Если команда match основывается на ACL или prefix-list-ы, а в ACL или prefix-list-ах указанный маршрут прописан с действием deny, то маршрут не будет отфильтрован. Это будет означать, что маршрут не соответствует критерию, указанному в команде match и его нужно пропустить для обработки следующим пунктом. В конце каждого route-map существует явный запрет; чтобы пропустить все маршруты, которые не попали под критерии, нужно указать команду route-map с действием permit без опции match. Для того чтобы задействовать route-map в фильтрации маршрутов используется та же команда distribute-list с опцией route-map route-map-name. Внесём некоторые изменения в конфигурацию маршрутизатора WAN1. Точно такие же изменения нужно будет сделать на WAN2. Используем те же префикс-листы, что и в предыдущем примере с незначительными редактированиями: ip prefix-list MANUFACTURING seq 5 permit 10.17.35.0/24 ge 25 le 25 ip prefix-list MANUFACTURING seq 10 permit 10.17.36.0/24 ge 26 le 26 ip prefix-list POINT-TO-POINT seq 5 permit 0.0.0.0/0 ge 30 le 30 После внесения изменений маршрутов в сеть производства, а также в сети точка-точка таблице маршрутизации на роутерах филиалов не окажется. Также на Core1 не будет маршрута до сетей point-to-point: Мы рассмотрели фильтрацию маршрутов в EIGRP тремя способами. Хорошим тоном считается использование списка префиксов, так как они заточены именно под эти цели. А использование карты маршрутизации или route-map-ов неэффективно из-за большего количества команд для конфигурации. В следующем материале рассмотрим фильтрацию в домене OSPF.
img
В предыдущей статье мы рассмотрели развертывание сервера с помощью Terraform в Amazon облаке. Мы использовали для развертывания файл с кодом, где описали полностью наш сервер и добавили скрипт на скриптовом языке bash, чтобы создалась HTML страничка с IP адресом сервера. Сам скрипт: user_data = <<EOF #!/bin/bash apt -y update apt -y install apache2 myip=`curl http://169.254.169.254/latest/meta-data/local-ipv4` echo "<h2>WebServer with IP: $myip</h2><br> Build by Terraform!" > /var/www/html /index.html sudo service httpd start chkconfig httpd on EOF Помещение подобного скрипта в код для поднятия инстанса, не очень хорошая практика, обычно для этого используются внешние статические файлы. На это есть несколько причин, одна из них разделение ролей в команде, например. Один человек пишет Terraform код, а другой скрипты для серверов на bash если это Linux сервер или на PowerShell если сервер разворачивается под управлением операционной системой Windows. Еще одной причиной является информационная безопасность точки зрения, которой не корректно вставлять скрипт внутри терраформ кода. Для начала создадим новую директорию Lesson-3 с помощью команды mkdir Lesson-3. Теперь, создадим новый файл WebServer.tr, командой nano webserver.tr и вставим рабочий код: Далее мы можем вырезать те данные которые у нас пойдут в скрипт и сохраняем файл. Создадим еще один файл назовем его user_data.sh. Создается файл достаточно просто - nano user_data.sh. В данный файл мы вставляем вырезанный кусок скрипта. Очень важно, обратите внимание! Файл должен начинаться с #!/bin/bash данная строка указывает, что для исполнения данного файла должен использоваться скриптовый язык bash. Сохраняем. На самом деле расширение файла, создаваемого не важно, т.к мы будем использовать функцию в Terraform которая берет контент из файла и делает вставку в код, автоматически подхватывая скрипт. Далее переходим к редактированию основного файла из которого мы вырезали скрипт. Открываем его любым текстовым редактором опять - nano webserver.tr. И нам теперь необходимо вставить функцию, которая возьмет данные из файла. В общем виде данная функция будет выглядеть следующим образом: user_data = file(“./dir/myfile.txt”) В нашем случае строчка модифицируется, т.к файл лежит в той же директории, что и Terraform файл user_data = file(“user_data.sh”). Теперь, чтобы проверить, как это работает мы должны сделать первоначальную инициацию Terraform, командой terraform init. Terraform, как обычно скачает все, что ему необходимо для работы. Далее проверяем, что у нас получилось и посмотрим, какие изменения Terraform произведет. В результате мы можем видеть, что, как и в прошлый раз будет создано 2 элемента. Сервер и Группа безопасности. Далее для запуска сервера мы можем использовать стандартную команду terraform apply и на вопрос системы отвечаем утвердительно. Можно сразу увидеть, что процесс создания сервера и группы безопасности начался. Как видите процесс занял совсем небольшое время. В данном случае не более одной минуты. Если мы зайдем в консоль мы можем убедится, что инстанс поднялся. Находим присвоенный амазоном белый ip адрес, который нам позволит из интернета проверить работоспособность нашего сервера и использование статического файла в качестве нашего скрипта, т.е убедится, что у нас все заработало. И последний шаг, проверяем что наш веб сервер доступен из глобальной сети. Обращаемся к нему, через браузер по протоколу http. В данном случае - http://18.157.187.102/. Вот мы можем увидеть вот такую картину. Не забудьте выключить и удалить все не нужные вам ресурсы в Амазон, во избежание лишних затрат. Статические внешние файлы играют большую роль в написание Terraform кода, потому что они используется практически во всех проектах и постоянно нужна в работе.
img
Ваш клиент хочет перестроить свою систему IP-телефона или, возможно, впервые перейти на нее. Вы придете к нему с проприетарной системой, например, CUCM, или открытой стандартной системой, например, Asterisk? Прежде чем сделать выбор, важно не упускать сразу ни один из вариантов. Понимание всех входов и выходов каждого типа системы, а также конкретных требований вашего клиента имеет важное значение. Давайте рассмотрим некоторые сильные и слабые стороны каждого подхода. Положительные и отрицательные стороны открытых АТС АТС с открытым стандартом являются решениями с открытым стеком, использующими стандартный подход - например, SIP - для передачи мультимедийных сообщений. Широко распространенные и признанные благодаря своей универсальности в использовании и гибкости, системы АТС с открытым стандартом не имеют многих недостатков для многих предприятий сегодня. Наряду с необходимыми функциями телефонии, некоторые передовые решения, также предлагают высококачественные унифицированные коммуникации из коробки. В целом системы АТС с открытым стандартом обеспечивают: Лучшее соотношение цены и качества: Опенсорс АТС часто ассоциируется с существенной экономией, потому что ею легко управлять, и в большинстве случаев нужно беспокоиться о небольших лицензионных сборах. По сравнению с запатентованными решениями, которые заключают вас в долгосрочные контракты на обслуживание или дорогостоящий ремонт системы, решения с открытыми стандартами могут быть более рентабельными во многих бизнес-сценариях. Устранить риск блокировки поставщика: Истинная ценность таких АТС заключается в возможности сочетать набор стандартных компонентов для предоставления инновационных услуг. С системой можно использовать практически любой SIP-телефон, шлюз или периферийные устройства на основе стандарта, что способствует удовлетворенности пользователей и производительности бизнеса. Проще установить и настроить: Если вы используете проприетаруню телефонную систему, вы, вероятно, уже знаете о трудностях, возникающих при ее установке, использовании и обслуживании. Вместо этого системы АТС открытого стандарта просты в использовании и управлении. Это может быть особенно актуально для тех, кто использует Asterisk с интуитивно понятным интерфейсом. Совместимость и настройка: Кастомизация очень важна для телефонных систем. И на этом этапе выигрывают АТС открытого стандарта. Относительно легко интегрироваться с другими стандартными приложениями, такими как базы данных, CRM, PMS отеля, колл-центр и другие, чтобы удовлетворить специфические потребности клиентов. Хотя АТС с открытым стандартом, по большому счету, не имеют многих недостатков, качество всей системы сильно зависит от поставщиков и интеграторов. Некоторые, выбравшие бесплатные открытые решения утверждают, что им не хватает нужных функций, профессиональной поддержки и частых обновлений. Положительные и отрицательные стороны проприетарной АТС Проприетарной АТС являются «закрытой» системой, разработанной специально производителями, в комплекте с собственным брендом. Большинство проприетарных решений, таких как NEC или Panasonic, считаются относительно надежными, но менее привлекательными с финансовой точки зрения. С проприетарной системой вы получаете практически все ваше оборудование и программное обеспечение от одного поставщика, который будет поддерживать и гарантировать все, от АТС до мобильных телефонов. Таким образом, некоторые из преимуществ включают в себя: Единый пользовательский опыт: В большинстве случаев проприетарные системы предлагают единый пользовательский интерфейс. Вся система VoIP остается согласованной для всех совместимых аппаратных и программных приложений. Таким образом, вы можете ожидать аналогичного и знакомого взаимодействия с каждым устройством. Поддержка производителя: Благодаря проприетарной системе ваш поставщик имеет единоличный контроль над обновлениями, обновлениями и модификациями. Как следствие, вы, как торговый посредник или дистрибьютор, могли бы иметь больший контроль над клиентами, но вам нужно будет вкладывать больше ресурсов в освоение сложных запатентованных систем и интерфейсов для лучшей поддержки клиентов. Наряду с преимуществами проприетарного решения, есть некоторые недостатки, которыми нельзя пренебрегать. Самые большие из них могут быть связаны с затратами, риском блокировки поставщиков и ограниченной гибкостью. Многие запатентованные продукты могут функционировать должным образом только при использовании с другими продуктами того же производителя. Другими словами, вы, скорее всего, будете заложниками проприетарных мобильных телефонов и периферийных устройств, которые могут быть переоценены с ограниченной функциональностью, что приведет к негативным последствиям в процессе продаж. Еще одна важная вещь, которую следует помнить, это то, что с проприетарной системой АТС вы не сможете достичь того же уровня гибкости, что и решения с открытыми стандартами. Поскольку проприетарные решения обычно не допускают обходных путей для разработчиков, специфичных для данной проблемы, скорее всего, вы не сможете реализовать наименьшие изменения, необходимые для лучшей адаптации решения к потребностям вашего бизнеса. И когда возникают сложные проблемы, ваш поставщик является вашей единственной резервной копией. Предвидение: бизнес-экосистема и возможности В условиях постоянно расширяющегося горизонта и достижений на рынке VoIP ключом к тому, чтобы телефонная система оставалась впереди, было стремление идти в ногу с рыночными тенденциями и предлагать жизнеспособные решения, чтобы вписаться в более широкий спектр потребностей клиентов. И нельзя отрицать, что решения открытых стандартов имеют конкурентные преимущества. Роль собственности как первичного новатора на рынке ушла на второй план. Распространенность промышленных открытых стандартов, таких как SIP и телефония с открытым исходным кодом, таких как Asterisk, произвела революцию в экосистеме и принесла больше возможностей для бизнеса. Используя коллективные усилия огромного мирового сообщества экспертов, новые непатентованные, то есть открытые, системы набирают обороты. Они приносят преимущества, связанные с открытым SIP и открытым исходным кодом: стабильность, быстрое развитие, гибкость и, самое главное, экономия затрат. Благодаря постоянно развивающимся решениям открытого стандарта пользователям теперь предоставляется больше свободы для взаимодействия нескольких приложений и интеграции систем данных. Интеграторы все чаще хотят их, а конечные пользователи требуют от них более высокого уровня соотношения цена-качество и устранения риска привязки к поставщику. Итого И проприетарные, и открытые стандартные системы имеют свои явные преимущества. Важно знать своих клиентов и понимать их потребности. Сколько они могут позволить себе новую телефонную систему? Какой уровень гибкости и настройки они требуют? Есть ли у них собственный опыт по обслуживанию системы? Задавая правильные вопросы, вы сможете сделать выбор, чтобы предложить наилучшее решение.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59