суббота, 17 сентября 2016 г.

Cisco ASA Firewall - Failover configuration / Межсетевой экран Cisco ASA - Настраиваем файловер - Часть 1: Теория. Настройка Active\Standby

   Межсетевые экраны Cisco ASA поддерживают такую удобную штуку как FAILOVER, что можно перевести "отказоустойчивый [кластер]". Не следует путать с кластеризацией ASA- это немного другое.
   Смысл файловера в том, чтобы сделать систему отказоустойчивой, то есть сделать так, чтобы в случае отказа одной ASA вторая бы продолжила работу без внесения изменений в общую конфигурацию, при этом пользователи этого не заметили бы.
   Ниже расскажу подробнее про теоретическую часть файловера и приведу пример настройки (которая, кстати, весьма тривиальна).

  

 

 Теория

 

   Прежде всего следует сказать, что в файловер можно собирать только абсолютно одинаковые устройства в плане железной части. При этом должно совпадать количество оперативной памяти, количество интерфейсов Если установлены какие-либо физические модули, то они тоже должны быть одинаковыми. Что касается софта, то должны совпадать версии операционной системы (как минимум мажорное и минорное значение версии, но лучше всего, чтобы версии ОС были полностью идентичны), версии ASDM (вообще такого требования нет, но лучше, чтобы совпадали просто потому, что нет смысла держать разные версии ASDM). Софт на модулях SSM или иных тоже должен совпадать. В общем, полностью одинаковые устройства, разве что количество флеш-памяти может различаться.
   Для создания файловера придется на каждом устройстве выделить линк, а лучше два, которые можно будет объединить в Redundant-интерфейс. Этот линк не будет использоваться для передачи трафика, а будет загружен исключительно файловерными данными, а именно:
   - состояние соседнего устройства (активное или резервное);
   - Состояние питания;
   - Hello-сообщения, они же keep-alives;
   - Состояние сетевых линков;
   - обмен МАС-адресами;
   - репликация и синхронизация конфигов.
   Все эти данные передаются по файловерному линку в открытом виде, если не добавить команду, позволяющую зашифровать трафик. Рекомендую по умолчанию всегда использовать шифрование на файловерном линке. Лишним не будет.
   Что касается подключения линка, то можно включаться напрямую друг к другу интерфейс в интерфейс (желательно кроссовером, но у нас же повсюду теперь auto-MDI\MDIX, поэтому можно не заморачиваться). А кроме того документация говорит, что можно файловерный линк прокинуть через коммутатор, и даже не один. Такую вещь не пробовал, надо будет в будущем потестить.
   Отдельного внимания заслуживает так называемый StateFull-линк. Суть в том, что можно гонять по файловерному линку не только перечень указанных выше состояний и кусков служебной информации, но и вообще все-все, чтобы полное состояние иметь на обоих межсетевых экранах. Т.е. в этом случае будут передаваться таблицы NAT-трансляций, различные прочие таблицы, в общем полное дублирование устройств.
   Что еще интересного можно сказать про файловер. В принципе перечисленное выше - это основное, что нужно знать. Да! Важно учесть, что файловер накладывает некоторые ограничения на использование VPN. Но это касается только режима Active/Active.  При включении этого режима не будут поддерживаться SSL\IPSec VPN, не работает динамическая маршрутизация.
   Следует дополнить эту краткую теоретическую справку пометкой о том, что не все команды синхронизируются.
    Ниже перечислены причины, по которым может произойти переключение файловера:
   - аппаратная проблема на одной из ASA в паре. Соответственно, если режим Active\Standby, и произошло все на резервной, то ничего не произойдет. Если же на активной, то произойдет переключение на резервную;
   - какой-либо программный сбой;
   - слишком много интерфейсов, за которыми ведется мониторинг, стали недоступными, отвалились, в общем, возникли проблемы со связью. Кстати, как это трактовать - слишком много интерфейсов (фраза взята из мануала) - непонятно. 2 из 4 интерфейсов упало - это много или мало? Непонятно;
   - на активной асашке выполнили команду no failover active, либо на резервной выполнили команду failover active. В общем, переключили файловер вручную.


   Практика

 

 Сбор Active/Standby файловера

 

   Перейдем к практической части. Для теста будем использовать две асашки 5515x, которые совершенно случайно оказались под руками. Соединяем их по простейшей схеме: выделяем один линк для файловера, соединяем кабелем - все. На этом работа с физикой закончилась.
   В данном примере я взял интерфейс GigabitEthernet0/5 на каждой из ASA в качестве файловерного линка. В принципе можно было использовать двойной файловерный линк, но мне было лень. Однако, для дополнения этой статьи, напишу пример конфига, который можно использовать для сбора отказоустойчивого файловерного линка. Я просто возьму и создам отказоустойчивый линк из... одного моего линка, взятого для файловера. Да, в моей текущей конфигурации это бессмысленно. Но если добавить второй линк, то все встанет на свои места, а конфигурация не будет отличаться ничем. Итак, поехали:
!
ASA-2(config)# sh run | beg 0/5
interface GigabitEthernet0/5 //
Видим пустой интерфейс. Здесь и далее я буду приводить конфиг, который необходимо выполнить симметрично на обоих межсетевых экранах в паре. Там, где конфиг будет отличаться, я укажу на это отдельно.
 shutdown
 no nameif
 no security-level
!

ASA-2(config-if)# interf g0/5            //заходим в режим настройки интерфейса
ASA-2(config-if)# no shut              
  //активируем интерфейс
ASA-2(config-if)# interf redundant 1
// создаем специальный избыточный интерфейс
ASA-2(config-if)# member-interface gigabitEthernet 0/5
// указываем выбранный линк в качестве одного члена избыточного интерфейса. Если вдруг появится еще один интерфейс, который можно задействовать под избыточный, его следует ввести аналогичной командой в данную группу
INFO: security-level, IP address and cts manual are cleared on GigabitEthernet0/5.
ASA-2(config-if)# description FAILOVER_LINK
// обязательно пишем описание, чтоб не забыть
!
   Перед сбором файловера не стоит забывать о необходимости добавить резервный адрес на активные интерфейсы в конфигурации ASA, которая планируется как основная и активная, в том числе на интерфейс управления. Например, в моем случае ASA из коробки, поэтому никаких настроек ранее не выполнялось, но есть интерфейсы Management0/0, которые я использую для удаленного доступа. Активной будет ASA-1, поэтому:
!
interface Management0/0
 management-only
 nameif MGMT
 security-level 50
 ip address 10.1.1.7 255.255.255.0 standby 10.1.1.8
//первый адрес управления ASA-1, второй ASA-2
!
   Теперь приступаем к сбору файловера. Я хочу собрать простой файловер Active\Standby. Для этого выполняю следующий общий (общий для обеих ASA) набор команд:
!
failover        //включаем файловер на устройствеfailover lan interface FAILOVER Redundant1 //указываем, какой интерфейс будет использоваться в качестве линка состояния - файловерного линка
failover interface ip FAILOVER 10.10.168.1 255.255.255.252 standby 10.10.168.2  //указываем адреса, по которым между собой будут общаться ASA
!
   После ввода этой группы команд каждая ASA секунд этак на 15 будет недоступна, отвалится консоль, будет казаться, что устройство зависло. Но нет, не стоит пугаться, нужно терпеливо подождать.
   Фактически вся настройка уже завершена. Осталось только указать асашкам их роль в паре.
На ASA-1 я указываю команду:
!
failover lan unit primary
!
   А на ASA-2 соответственно:
!
failover lan unit secondary
!
   Не забываю сохранить конфигурацию. Файловер заработал, в чем я могу убедиться с помощью команды show failover state,  выполненной на любой из ASA.
   Попробуем доработать нашу схему. Во-первых, сделаем StateFull failover. Во-вторых, зашифруем передаваемый трафик, чтобы враги ничего не поняли, если вдруг подключатся. Набор команд, который позволит выполнить эти два условия:
!
failover link FAILOVER Redundant1 //включаем режим сохранения состояния, он же statefull
!
failover key WerYStr0ngKey  // указываем ключ для шифрования данных, протекающих через наш файловерный линк
!
   Небольшой комментарий относительно ввода ключа. Как только на одной из ASA будет введена команда failover key <KEY>, файловер развалится. Чтобы этого не произошло, рекомендую отправить в ребут сначала резервную асашку, после чего на активной поменять ключ, дождаться восстановления резервной, и сразу же после этого активную отправить в ребут, продолжая работу с резервной и изменив там ключ. В этом случае прерывание связи будет минимальным, ключ же будет установлен.
   Дополнительные настройки файловера могут заключаться в изменении таймеров опроса соседнего устройства, таймер ожидания, после которого происходит файловер и т.д.
   Проверку работоспособности Statefull-линка можно выполнить командой sh failover:

   На этом все. Про файловер Active\Active расскажу в следующей заметке.



Комментариев нет:

Отправить комментарий