Поиск по этому блогу

16.11.2018

Отказоустойчивое включение межсетевых экранов

Включение межсетевых экранов по  схеме проекта иногда вызывает вопросы по реализации. Как заметил один из заказчиков, у исполнителя не может быть замечаний к проекту, могут быть вопросы по пусконаладке. В общем, нарисована в проекте такая схема. Интерфейсы я подписал уже исходя из того что получилось. До этого включения были в свичевые карты без линка между маршрутизаторами.
проектная схема включения
В поставке отсутствовали лицензии security plus, поэтому собрать failover кластер на asa5506-x не представлялось возможным. Да и схема включения межсетевого экрана в два маршрутизатора необычна. Чаще собирают кластер и включают вот по такой схеме, как в документации на opsense. 
пример с opsense
 Попробовал настроить и осознал ограничения динамической маршрутизации и свичинга на asa:
1. на линке r1-r2, организованного между портами свичевой карты маршрутизатора динамика периодически падала.
2. собрав порты 1 и 2 в бриждгруппу на asa, необходимо настроить stp cost'ы на r1 и  r2 в сторону одно из интерфейсов экрана.
3. asa не видит соседа, hello пакеты отправляются в три интерфейса, включая BVI.
В итоге собрал схему на routed интерфейсах маршрутизатора gi0/0, gi0/1, gi0/2. На схеме обозначены как 0, 1, 2. Интерфейсы asa gi1/1, gi1/2 обозначены как 1 и 2. Но есть ASA asymmetric routing problems поэтому интефейсы asa 1 и 2 не могут быть активны в одно и то же время. Тут выручил функционал backup interface, доступный на routed интерфейсах маршрутизаторов Cisco.
Конфигурация r1
interface GigabitEthernet0/0
 description asa1-eth1
 ip address 10.1.1.97 255.255.255.252
!
interface GigabitEthernet0/1
 description asa2-eth1
 ip address 10.1.1.109 255.255.255.252
!
interface GigabitEthernet0/2
 description r2-gi0/2
 backup interface GigabitEthernet0/1
 ip address 10.1.1.104 255.255.255.254
 ip ospf network point-to-point
!
interface GigabitEthernet0/0/0
 description uplink1
Конфигурация r2
interface GigabitEthernet0/0
 description asa1-eth2
 ip address 10.1.1.101 255.255.255.252
!         
interface GigabitEthernet0/1
 description asa2-eth2
 ip address 10.1.1.113 255.255.255.252
!
interface GigabitEthernet0/2
 description r1-gi0/2
 backup interface GigabitEthernet0/0
 ip address 10.1.1.105 255.255.255.254
 ip ospf network point-to-point
!
interface GigabitEthernet0/0/0
 description uplink2
Что получилось
r1#sh int desc  
Interface                      Status         Protocol Description
Em0/0                          admin down     down     
Gi0/0                          up             up       asa1-eth1
Gi0/1                          standby mode   down     asa2-eth1
Gi0/2                          up             up       r2-gi0/2
При отключении любого маршрутизатора, на рабочем падает интерфейс gi0/2 и становится активным gi0/1. На самих межсетевых экранах статический маршрут отличается административной дистанцией. В резервный линк она больше.
Конфигурация asa1
interface GigabitEthernet1/1
 description r1-gi0/0
 nameif wan-r1
 security-level 0
 ip address 10.1.1.98 255.255.255.252 
!
interface GigabitEthernet1/2
 description r2-gi0/0
 nameif wan-r2
 security-level 0
 ip address 10.1.1.102 255.255.255.252 
!
interface GigabitEthernet1/3
 nameif lan
 security-level 100
 ip address 10.1.2.1 255.255.255.0 

route wan-r1 0.0.0.0 0.0.0.0 10.1.1.97 200
route wan-r2 0.0.0.0 0.0.0.0 10.1.1.101 201
Конфигурация asa2
interface GigabitEthernet1/1
 description r1-gi0/1
 nameif wan-r1
 security-level 0
 ip address 10.1.1.110 255.255.255.252 
!
interface GigabitEthernet1/2
 description r2-gi0/1
 nameif wan-r2
 security-level 0
 ip address 10.1.1.114 255.255.255.252 
!
interface GigabitEthernet1/3
 nameif lan
 security-level 100
 ip address 10.1.2.1 255.255.255.0 

route wan-r2 0.0.0.0 0.0.0.0 10.1.1.113 200
route wan-r1 0.0.0.0 0.0.0.0 10.1.1.109 201
Да, на обоих межсетевых экранах в gi1/3 один и тот же адрес, т.к. основной и резервный комплект оборудования настроили в одной подсети. И все было нормально в случае предусмотренного failover'а, казалось бы, но не предполагается соединение коммутаторов. Возможно, более корректным решением было бы выдать для пусконаладчиков отдельные сети для настройки основного и резервного комплекта оборудования.
Прописал в итоге статические маршруты, настроил их передачу в динамический протокол маршрутизации eigrp как показано в конфиге asa2 ниже.
prefix-list HOSTS seq 5 permit 10.1.2.0/24 ge 32
!
!
route-map HOSTS permit 10
 match ip address prefix-list HOSTS

!
router eigrp 65000
 network 10.1.1.108 255.255.255.252
 network 10.1.1.112 255.255.255.252
 redistribute static route-map HOSTS
!
route lan 10.1.2.101 255.255.255.255 10.1.2.101 1
route lan 10.1.2.102 255.255.255.255 10.1.2.102 1
route lan 10.1.2.103 255.255.255.255 10.1.2.103 1
route lan 10.1.2.104 255.255.255.255 10.1.2.104 1