По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Ищете вариант автоматического сохранения (резервного копирования) конфигурации на Cisco ASA? Если да, тогда Вам сюда. Многие делают бэкапирование конфигурации через меню ASDM. Но как это автоматизировать? Ответ ниже. Сегодня мы рассмотрим вариант автоматического сохранения конфигурации Cisco ASA на удаленный FTP-сервер. Также возможен вариант бэкапирования на TFTP-сервер. Отличие лишь в синтаксисе команды. Данный функционал поддерживается на версии программного обеспечения 9.2(1) и выше. Также стоит учесть, что Cisco Embedded Event Manager может быть запушен только тогда, когда устройство работает в одно контекстном режиме. Ниже я приведу примеры настройки данного функционала как через ASDM, так и с помощью командной строки. Для этих целей мы будем использовать возможности Cisco Embedded Event Manager. Если коротко, то это механизм, позволяющий создавать сценарии для автоматизации работы устройств. Подробнее о нем можно почитать на официальном сайте Cisco на английском языке. И так, приступим. Вариант через ASDM (Adaptive Security Device Manager) Переходим на вкладку "Configuration", далее "Device manager". Слева в древовидной структуре выбираем "Advanced" и далее "Embedded Event Manager": Справа нажимаем "Add" и заполняем форму: Пойдем по пунктам: "Applet Name" - имя нашего апплета "Description" - описание Дальше самое интересное: "Events" - здесь мы описываем необходимое нам событие Из выпадающего списка выбираем "Once-a-day timer". Он нас как раз и интересует. Также указываем время для ежедневного выполнения: Далее переходим к пункту "Actions". Здесь нам необходимо указать порядковый номер команды "Sequence", например 10. В следующей строке вводим саму команду: backup /noconfirm location ftp://user:password@ip_вашего_ftp_сервера// В итоге получается вот так: Далее идем по накатанному пути: "Apply" и "Save". Теперь каждый день в 21:05:00 Cisco ASA будет создавать резервную копию конфигурации на наш FTP-сервер. В качестве FTP-сервера использовался один из сетевых дисковых накопителей. Используем CLI Здесь все намного проще. Переходим в режим глобального конфигурирования и вводим следующие команды: Задаем имя апплета: event manager applet Backup Описание апплета: description Backup configuration Создаем наше событие: event timer absolute time 21:05:00 И сама команда: action 10 cli command "backup /noconfirm location ftp://user:password@ip_вашего_ftp_сервера// Далее стандартное: wr Как я уже писал в начале статьи, возможен вариант использования TFTP-сервера. В этом случае команда будет выглядеть заметно короче: action 10 cli command "backup /noconfirm location tftp://ip_вашего_tftp_сервера// Запустить апплет можно командой: event manager run имя_апплета Для просмотра всех настроенных задач вводим команду: show running-config event manager Также присутствует возможность посмотреть стандартные счетчики: show counters protocol eem Пример вывода: # show counters protocol eem< Protocol Counter Value Context EEM COMMANDS 11 Summary EEM FILE_ERRORS 1 Summary Ну и конечно же команда отладки: show debug event manager Автор предпочитает использовать вариант именно с CLI. Например с помощью Ansible мы можем настроить бэкапирование на всех имеющихся Cisco ASA. Пример можно подглядеть в официальной документации по Ansible.
img
Предыдущая статья из цикла про соответствие пакетов в IP ACL. Обратные маски, такие как значения dotted-decimal number (DDN), фактически представляют собой 32-разрядное двоичное число. Как 32-разрядное число, маска WC фактически направляет логику маршрутизатора бит за битом. Короче говоря, бит маски WC (wildcard), равный 0, означает, что сравнение должно выполняться как обычно, но двоичный 1 означает, что бит является подстановочным знаком и может быть проигнорирован при сравнении чисел. Кстати, наш калькулятор подсетей показывает и сам считает WC (wildcard) маску. Вы можете игнорировать двоичную маску WC. Почему? Что ж, обычно мы хотим сопоставить диапазон адресов, которые можно легко идентифицировать по номеру подсети и маске, будь то реальная подсеть или сводный маршрут, который группирует подсети вместе. Если вы можете указать диапазон адресов с помощью номера подсети и маски, вы можете найти числа для использования в вашем ACL с помощью простой десятичной математики, как описано далее. Если вы действительно хотите знать логику двоичной маски, возьмите два номера DDN, которые ACL будет сравнивать (один из команды access-list, а другой из заголовка пакета), и преобразуйте оба в двоичный код. Затем также преобразуйте маску WC в двоичную. Сравните первые два двоичных числа бит за битом, но также игнорируйте любые биты, для которых маска WC случайно перечисляет двоичный 1, потому что это говорит вам игнорировать бит. Если все биты, которые вы проверили, равны, это совпадение! Нахождения правильной обратной маски, соответствующей подсети Во многих случаях ACL должен соответствовать всем хостам в определенной подсети. Чтобы соответствовать подсети с помощью ACL, вы можете использовать следующие сочетания: Используйте номер подсети в качестве исходного значения в команде access-list. Используйте обратную маску, полученную путем вычитания маски подсети из 255.255.255.255. Например, для подсети 172.16.8.0 255.255.252.0 используйте номер подсети (172.16.8.0) в качестве параметра адреса, а затем выполните следующие вычисления, чтобы найти обратную маску: Продолжая этот пример, завершенная команда для той же подсети будет следующей: access-list 1 permit 172.16.8.0 0.0.3.255 Соответствие любому/всем адресам В некоторых случаях вам может понадобиться одна команда ACL для сопоставления всех без исключения пакетов, которые достигают этой точки в ACL. Во-первых, вы должны знать (простой) способ сопоставить все пакеты с помощью ключевого слова any. Что еще более важно, вам нужно подумать о том, когда сопоставить все без исключения пакеты. Во-первых, чтобы сопоставить все пакеты с помощью команды ACL, просто используйте ключевое слово any для адреса. Например, чтобы разрешить все пакеты: access-list 1 permit any Итак, когда и где вы должны использовать такую команду? Помните, что все ACL Cisco IP заканчиваются неявным отрицанием любой концепции в конце каждого ACL. То есть, если маршрутизатор сравнивает пакет с ACL, и пакет не соответствует ни одному из настроенных операторов, маршрутизатор отбрасывает пакет. Хотите переопределить это поведение по умолчанию? Настроить permit any в конце ACL. Вы также можете явно настроить команду для запрета всего трафика (например, access-list 1 deny any) в конце ACL. Почему, когда та же самая логика уже находится в конце ACL? Что ж, ACL показывает счетчики списка для количества пакетов, соответствующих каждой команде в ACL, но нет счетчика для этого не явного запрета любой концепции в конце ACL. Итак, если вы хотите видеть счетчики количества пакетов, совпадающих с логикой deny any в конце ACL, настройте явное deny any. Внедрение стандартных IP ACL В этой лекции уже представлены все этапы настройки по частям. Далее суммируются все эти части в единую конфигурацию. Эта конфигурация основана на команде access-list, общий синтаксис которой повторяется здесь для справки: access-list access-list-number {deny | permit} source [source-wildcard] Этап 1. Спланируйте локацию (маршрутизатор и интерфейс) и направление (внутрь или наружу) на этом интерфейсе: Стандартные списки ACL должны быть размещены рядом с местом назначения пакетов, чтобы они случайно не отбрасывали пакеты, которые не следует отбрасывать. Поскольку стандартные списки ACL могут соответствовать только исходному IP-адресу пакета, идентифицируйте исходные IP-адреса пакетов по мере их прохождения в направлении, которое проверяет ACL. Этап 2. Настройте одну или несколько команд глобальной конфигурации списка доступа для создания ACL, учитывая следующее: Список просматривается последовательно с использованием логики первого совпадения. Действие по умолчанию, если пакет не соответствует ни одной из команд списка доступа, - отклонить (отбросить) пакет. Этап 3. Включите ACL на выбранном интерфейсе маршрутизатора в правильном направлении, используя подкоманду  ip access-group number {in | out}. Далее рассмотрим несколько примеров. Стандартный нумерованный список ACL, пример 1 В первом примере показана конфигурация для тех же требований, что и на рисунках 4 и 5. Итак, требования для этого ACL следующие: Включите входящий ACL на интерфейсе R2 S0/0/1. Разрешить пакеты, приходящие от хоста A. Запретить пакеты, приходящие от других хостов в подсети хоста A. Разрешить пакеты, приходящие с любого другого адреса в сети класса A 10.0.0.0. В исходном примере ничего не говорится о том, что делать по умолчанию, поэтому просто запретите весь другой трафик. В примере 1 показана завершенная правильная конфигурация, начиная с процесса настройки, за которым следует вывод команды show running-config. R2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. R2(config)# access-list 1 permit 10.1.1.1 R2(config)# access-list 1 deny 10.1.1.0 0.0.0.255 R2(config)# access-list 1 permit 10.0.0.0 0.255.255.255 R2(config)# interface S0/0/1 R2(config-if)# ip access-group 1 in R2(config-if)# ^Z R2# show running-config ! Lines omitted for brevity access-list 1 permit 10.1.1.1 access-list 1 deny 10.1.1.0 0.0.0.255 access-list 1 permit 10.0.0.0 0.255.255.255 Во-первых, обратите внимание на процесс настройки в верхней части примера. Обратите внимание, что команда access-list не изменяет командную строку из приглашения режима глобальной конфигурации, поскольку команда access-list является командой глобальной конфигурации. Затем сравните это с выводом команды show running-config: детали идентичны по сравнению с командами, которые были добавлены в режиме конфигурации. Наконец, не забудьте указать ip access-group 1 в команде под интерфейсом R2 S0/0/1, который включает логику ACL (как локацию, так и направление). В примере 2 перечислены некоторые выходные данные маршрутизатора R2, которые показывают информацию об этом ACL. Команда show ip access-lists выводит подробную информацию только о списках ACL IPv4, а команда show access-lists перечисляет сведения о списках ACL IPv4, а также о любых других типах ACL, настроенных в настоящее время, например, списки ACL IPv6. Вывод этих команд показывает два примечания. В первой строке вывода в этом случае указывается тип (стандарт) и номер. Если существовало более одного ACL, вы бы увидели несколько разделов вывода, по одной на каждый ACL, каждая со строкой заголовка, подобной этой. Затем эти команды перечисляют счетчики пакетов для количества пакетов, которые маршрутизатор сопоставил с каждой командой. Например, на данный момент 107 пакетов соответствуют первой строке в ACL. Наконец, в конце примера перечислены выходные данные команды show ip interface. Эта команда перечисляет, среди многих других элементов, номер или имя любого IP ACL, включенного на интерфейсе для подкоманды интерфейса ip access-group. Стандартный нумерованный список ACL, пример 2 Для второго примера используйте рисунок 8 и представьте, что ваш начальник в спешке дает вам некоторые требования в холле. Сначала он говорит вам, что хочет фильтровать пакеты, идущие от серверов справа к клиентам слева. Затем он говорит, что хочет, чтобы вы разрешили доступ для хостов A, B и других хостов в той же подсети к серверу S1, но запретили доступ к этому серверу хостам в подсети хоста C. Затем он сообщает вам, что, кроме того, хостам в подсети хоста A следует отказать в доступе к серверу S2, но хостам в подсети хоста C должен быть разрешен доступ к серверу S2 - и все это путем фильтрации пакетов, идущих только справа налево. Затем он говорит вам поместить входящий ACL на интерфейс F0/0 R2. Если вы просмотрите все запросы начальника, требования могут быть сокращены до следующего: Включите входящий ACL на интерфейсе F0/0 R2. Разрешить пакеты от сервера S1, идущие к хостам в подсети A. Запретить пакетам с сервера S1 идти к хостам в подсети C. Разрешить пакетам с сервера S2 идти к хостам в подсети C. Запретить пакетам с сервера S2 идти к хостам в подсети A. Не было комментариев о том, что делать по умолчанию; используйте подразумеваемое отклонение всего по умолчанию. Как оказалось, вы не можете сделать все, что просил ваш начальник, с помощью стандартного ACL. Например, рассмотрим очевидную команду для требования номер 2: access-list 2 permit 10.2.2.1. Это разрешает весь трафик с исходным IP-адресом 10.2.2.1 (сервер S1). Следующее требование просит вас фильтровать (отклонять) пакеты, полученные с того же IP-адреса! Даже если вы добавите другую команду, которая проверяет исходный IP-адрес 10.2.2.1, маршрутизатор никогда не доберется до него, потому что маршрутизаторы используют логику первого совпадения при поиске в ACL. Вы не можете проверить и IP-адрес назначения, и исходный IP-адрес, потому что стандартные ACL не могут проверить IP-адрес назначения. Чтобы решить эту проблему, вам следует переосмыслить проблему и изменить правила. В реальной жизни вы, вероятно, вместо этого использовали бы расширенный ACL, который позволяет вам проверять как исходный, так и целевой IP-адрес. Представьте себе, что ваш начальник позволяет вам изменять требования, чтобы попрактиковаться в другом стандартном ACL. Во-первых, вы будете использовать два исходящих ACL, оба на маршрутизаторе R1. Каждый ACL разрешает пересылку трафика с одного сервера в эту подключенную локальную сеть со следующими измененными требованиями: Используя исходящий ACL на интерфейсе F0 / 0 маршрутизатора R1, разрешите пакеты с сервера S1 и запретите все остальные пакеты. Используя исходящий ACL на интерфейсе F0 / 1 маршрутизатора R1, разрешите пакеты с сервера S2 и запретите все остальные пакеты. Пример 3 показывает конфигурацию, которая удовлетворяет этим требованиям. access-list 2 remark This ACL permits server S1 traffic to host A's subnet access-list 2 permit 10.2.2.1 ! access-list 3 remark This ACL permits server S2 traffic to host C's subnet access-list 3 permit 10.2.2.2 ! interface F0/0 ip access-group 2 out ! interface F0/1 ip access-group 3 out Как показано в примере, решение с номером ACL 2 разрешает весь трафик с сервера S1, при этом эта логика включена для пакетов, выходящих из интерфейса F0/0 маршрутизатора R1. Весь другой трафик будет отброшен из-за подразумеваемого запрета all в конце ACL. Кроме того, ACL 3 разрешает трафик от сервера S2, которому затем разрешается выходить из интерфейса F0/1 маршрутизатора R1. Также обратите внимание, что решение показывает использование параметра примечания списка доступа, который позволяет оставить текстовую документацию, которая остается в ACL. Когда маршрутизаторы применяют ACL для фильтрации пакетов в исходящем направлении, как показано в Примере 2, маршрутизатор проверяет пакеты, которые он направляет, по списку ACL. Однако маршрутизатор не фильтрует пакеты, которые сам маршрутизатор создает с помощью исходящего ACL. Примеры таких пакетов включают сообщения протокола маршрутизации и пакеты, отправленные командами ping и traceroute на этом маршрутизаторе. Советы по устранению неполадок и проверке Устранение неполадок в списках ACL IPv4 требует внимания к деталям. В частности, вы должны быть готовы посмотреть адрес и обратную маску и с уверенностью предсказать адреса, соответствующие этим двум комбинированным параметрам. Во-первых, вы можете определить, соответствует ли маршрутизатор пакетам или нет, с помощью пары инструментов. Пример 2 уже показал, что IOS хранит статистику о пакетах, соответствующих каждой строке ACL. Вдобавок, если вы добавите ключевое слово log в конец команды access-list, IOS затем выдает сообщения журнала со случайной статистикой совпадений с этой конкретной строкой ACL. И статистика, и сообщения журнала могут помочь решить, какая строка в ACL соответствует пакету. Например, в примере 4 показана обновленная версия ACL 2 из примера 3, на этот раз с добавленным ключевым словом log. Внизу примера затем показано типичное сообщение журнала, в котором показано результирующее совпадение на основе пакета с исходным IP-адресом 10.2.2.1 (в соответствии с ACL) с адресом назначения 10.1.1.1. R1# show running-config ! lines removed for brevity access-list 2 remark This ACL permits server S1 traffic to host A's subnet access-list 2 permit 10.2.2.1 log ! interface F0/0 ip access-group 2 out R1# Feb 4 18:30:24.082: %SEC-6-IPACCESSLOGNP: list 2 permitted 0 10.2.2.1 -> 10.1.1.1, 1 Packet Когда вы впервые устраняете неисправности на ACL, прежде чем вдаваться в подробности логики сопоставления, подумайте, как об интерфейсе, на котором включен ACL, так и о направлении потока пакетов. Иногда логика сопоставления идеальна, но ACL был включен на неправильном интерфейсе или в неправильном направлении, чтобы соответствовать пакетам, настроенным для ACL. Например, на рисунке 9 повторяется тот же ACL, показанный ранее на рисунке 7. Первая строка этого ACL соответствует конкретному адресу хоста 10.1.1.1. Если этот ACL существует на маршрутизаторе R2, размещение этого ACL в качестве входящего ACL на интерфейсе S0/0/1 R2 может работать, потому что пакеты, отправленные хостом 10.1.1.1 - в левой части рисунка - могут входить в интерфейс S0/0/1 маршрутизатора R2. Однако, если R2 включает ACL 1 на своем интерфейсе F0/0 для входящих пакетов, ACL никогда не будет соответствовать пакету с исходным IP-адресом 10.1.1.1, потому что пакеты, отправленные хостом 10.1.1.1, никогда не войдут в этот интерфейс. Пакеты, отправленные 10.1.1.1, будут выходить из интерфейса R2 F0/0, но никогда не попадут в него только из-за топологии сети.
img
Для того, чтобы нормально пользоваться инструментом Terraform, нам понадобится текстовый редактор с плагином, понимающим язык разметки Terraform (HCL). Это необходимо для того, чтобы было удобно писать код для поднятия инфраструктуры. На самом деле, код можно писать в каком угодно текстовом редакторе, но наиболее удачно подходит текстовый редактор Atom. Для Windows установка очень простая. Идем на сайт www.atom.io, сайт автоматически определяет версию операционной системы и нажимаем на кнопку скачать. Дальнейшая инсталляция под операционную систему Windows очень простая - запуск файла и нажатие несколько раз кнопки Далее. В случае если мы хотим работать из-под операционной системы Linux, заходя на сайт мы видим, что сайт предлагает скачать нам установочные пакеты в вариации deb и rmp. Но возможно пойти нам и другим путем. Заходим на сайте в документацию, находим Atom Flight Manual. Далее выбираем с левой стороны Installing Atom, а вверху тип операционной системы. Далее мы видим описание инсталляций для разных ОС семейства Linux. Для Ubuntu и для CentOS. При инсталляции на Ubuntu: wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - Скачиваем ключ и помещаем в хранилище. sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list' Обновляем список депозитарий командой apt update, а также обновляем сам репозиторий. Ну собственно и последующая инсталляция непосредственно самого текстового редактора Atom. sudo apt-get install Atom Инсталляция на CentOS в принципе аналогичная. Скачиваем и добавляем ключ. sudo rpm --import https://packagecloud.io/AtomEditor/atom/gpgkey sudo sh -c 'echo -e "[Atom] name=Atom Editor baseurl=https://packagecloud.io/AtomEditor/atom/el/7/$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packagecloud.io/AtomEditor/atom/gpgkey" > /etc/yum.repos.d/atom.repo' Теперь мы можем воспользоваться пакетным менеджером yum или dnf sudo dnf install Atom sudo dnf install atom-beta Или если установлен альтернативный пакетный менеджер yum или операционная система CentOS 7, можно скачать пакет в rpm формате https://atom.io/download/rpm и установить sudo yum install -y atom.x86_64.rmp sudo dnf install -y atom.x86_64.rpm После данных манипуляций у нас установится текстовый редактор Atom. Конечно, установка имеет смысл на машину с графическим интерфейсом пользователя. Его можно найти по зеленой иконке, как на скриншоте. Далее, самая интересная, часть данной статьи. Если мы просто вставим кусочек кода от TerraForm, то мы увидим, что он ничем не отличается от обычного текста. Все преимущества данного текстового редактора раскрываются в использовании плагинов для Terraform. Для установки плагина, который различает написанный код Terraform, нам необходимо зайти в Edit, в данном открывшемся меню найти Preferences. В следующем открывшемся окне выбираем Install. В правой части после данной операции появляется строка поиска для инсталляции дополнительных пакетов (Plugins). С помощью данного поиска находим пакет по запросу Terraform. Пакетов будет найдено достаточно много. Можно посмотреть описание и версию пакетов и сколько раз был скачен данный пакет. Я рекомендую выбрать пакет language-terraform. Для большинства данного пакета будет совершенно достаточно. Данный пакет дает не только красивую подсветку кода, но и много других функций. Еще для удобства работы можно установить terraform-fmt. Данный пакет не столь популярен, но за то он позволяет удобно форматировать код Terraform при написании. А именно, код будет выравниваться при нажатии сочетания клавиш Ctrl+S для сохранения изменений в файле. Для того, чтобы плагины начали работать, необходимо перезапустить текстовый редактор. И второй важный момент переименовать файл рабочий в файл с разрешением *.tf.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59