2 интернет провайдера на Cisco ASA. ip sla
Любой администратор когда-то обязательно сталкивался с выходом из строя канала связи, обеспечивающего офису доступ в Интернет или к другим ресурсам. Обычно в этот момент и возникает мысль о каком-то резерве (никак не раньше :-)). А вот при наличии двух провайдеров уже есть возможность настроить отказоустойчивое подключение.
Правильно было бы поставить некий маршрутизатор, подключить к нему двух провайдеров, зарезервировать автономную систему с блоком публичных ip адресов и настроить полноценное отказоустойчивое соединение с помощью протокола BGP (Cisco ASA поддерживает его только в серии 5500X в самых последних версиях IOS). Однако это решение подходит для крупных компаний, обладающих ресурсами, возможностями и квалифицированным персоналом.
В подавляющем большинстве случаев будет достаточно сделать простое переключение на резервного провайдера, если пропадет связь с основным. Cisco ASA может отслеживать доступность основного провайдера и, как только связь пропадет (шлюз перестанет отвечать на icmp в течение нескольких секунд), начнет пересылать трафик через резервный канал.
Перейдем к практике.
В нашем распоряжении есть Cisco ASA 5505, обеспечивающая подключение офиса к сети Интернет через провайдера 1 (Ethernet 0/1). Подробное описание настройки можно найти в статье «Cisco ASA. Основы. Доступ в Интернет»
К устройству дополнительно подключен провайдер 2 в интерфейс Ethernet 0/2. (см. схему).
Задача: настроить отказоустойчивое подключение к Интернет (dual wan).
Шаг 1. Проверка маршрутов
Проверяем текущие маршруты на устройстве. Для удобства командой sh run | inc route выводим строки текущей конфигурации, содержащие слово «route»
FW-DELTACONFIG-1# sh run | inc route
route outside 0.0.0.0 0.0.0.0 1.1.1.1 1
Если переводить с языка устройства на «человеческий», то получится следующее:
«Перенаправлять все пакеты, о которых я не знаю, в сторону интерфейса outside через шлюз 1.1.1.1»
Cisco ASA «знает» только о тех сетях, которые подключены к ней напрямую (connected) или для которых имеются подобные строки маршрутов.
Шаг 2. Настройка интерфейсов для резервного провайдера
На межсетевом экране уже настроен интерфейс outside (Ethernet 0/1 <=> Vlan 2), к которому подключен Основной провайдер. В текущей конфигурации (просмотреть командой sh run) будут присутствовать подобные строки:
FW-DELTACONFIG-1# sh run
/...вырезано.../
interface Vlan2
nameif outside
security-level 0
ip address 1.1.1.2 255.255.255.252
/...вырезано.../
interface Ethernet0/1
switchport access vlan 2
/...вырезано.../
Добавим настройки для Резервного канала, который подключен к Ethernet 0/2 <=> Vlan 3
FW-DELTACONFIG-1 (config)#
interface Vlan 3
nameif outside_backup
security-level 0
ip address 2.2.2.2 255.255.255.252
interface Ethernet0/2
switchport access vlan 3
no shut
Если все подключено и настроено корректно, то должен быть доступен шлюз Резервного провайдера.
FW-DELTACONFIG-1 # ping 2.2.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/18/20 ms
Шаг 3. Настройка отслеживания доступности провайдера
Для того, чтобы межсетевой экран Cisco ASA следил за доступностью Основного канала настраиваем функцию ip sla monitor. С ней каждый заданный интервал времени будет посылаться ping (icmp запрос) на адрес провайдера 1. Ответный ping (icmp ответ) будет означать доступность канала.
FW-DELTACONFIG-1 (config)#
sla monitor 1
type echo protocol ipIcmpEcho 1.1.1.1 interface outside
timeout 3000
threshold 10000
frequency 5
sla monitor schedule 1 life forever start-time now
Ftrack 1 rtr 1 reachability
Для справки:
timeout 3000 – время, которое Cisco ASA будет ждать ответа на icmp запрос. 3000 => 3 секунды.
frequency 5 – как часто посылать запросы. Раз в 5 секунд.
threshold 10000 – время задержки операции 10 секунд, в течение которого не происходит никаких действий.
Шаг 4. Шлюз по умолчанию для Резервного провайдера.
Для Резервного провайдера по аналогии с Основным также требуется указать шлюз по умолчанию (default gateway), куда Cisco ASA будет отправлять все пакеты, но с одним отличием – этот маршрут не должен учитываться, когда доступен Основной провайдер. Для этого следует изменить административное расстояние маршрута – сделать его больше, тем самым понизив приоритет.
По умолчанию значение административного расстояния для статического маршрута – 1. Зададим для Резервного канала значение, близкое к максимальному – 250
FW-DELTACONFIG-1 (config)#
route outside_backup 0.0.0.0 0.0.0.0 2.2.2.1 250
После добавления в конфигурации должно быть 2 маршрута по умолчанию
FW-DELTACONFIG-1# sh run | inc route
route outside 0.0.0.0 0.0.0.0 1.1.1.1 1
route outside_backup 0.0.0.0 0.0.0.0 2.2.2.1 250
Шаг 5. Активация переключения
Финальный шаг – привязать основной маршрут к функции слежения за доступностью канала (ip sla).
Добавляем новую строку для шлюза по умолчанию с пометкой track 1 и удаляем старую
FW-DELTACONFIG-1 (config)#
route outside 0.0.0.0 0.0.0.0 1.1.1.1 1 track 1
no route outside 0.0.0.0 0.0.0.0 1.1.1.1 1
После этого в итоговой конфигурации останутся две строчки для шлюзов по умолчанию
FW-DELTACONFIG-1# sh run | inc route
route outside 0.0.0.0 0.0.0.0 1.1.1.1 1 track 1
route outside_backup 0.0.0.0 0.0.0.0 2.2.2.1 250
Важно!
Если существуют строки маршрутов для каких-то сетей, кроме шлюза по умолчанию, то следует учесть их при настройке.
Важно!
Кроме маршрутов необходимо скорректировать списки доступа (access-lists) и правила трансляций (NAT) для интерфейса Резервного провайдера. Добавьте идентичные правила и привяжите их к интерфейсу outside_backup.
Проверка работы механизма отслеживания
Для проверки работы отслеживания ip sla используется команда show sla monitor operational-state
FW-DELTACONFIG-1# show sla monitor operational-state
Entry number: 1
Modification time: 12:02:29.993 MSK Mon Aug 17 2015
Number of Octets Used by this Entry: 1480
Number of operations attempted: 39
Number of operations skipped: 0
Current seconds left in Life: Forever
Operational state of entry: Active
Last time this entry was reset: Never
Connection loss occurred: FALSE
Timeout occurred: FALSE
Over thresholds occurred: FALSE
Latest RTT (milliseconds): 10
Latest operation start time: 12:05:39.997 MSK Mon Aug 17 2015
Latest operation return code: OK
RTT Values:
RTTAvg: 10 RTTMin: 10 RTTMax: 10
NumOfRTT: 1 RTTSum: 10 RTTSum2: 100
Здесь собрана вся информация о статистике срабатывания и настройках функции. Информация будет полезна в случае необходимости диагностики.
Важно!
Не забудьте сохранить конфигурацию командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
FW-DELTACONFIG-1#write
Building configuration...
[OK]
Перейти к оглавлению
Спасибо, помогло. Но, как всегда, есть НО. У меня на резерв переключается, а обратно на основной — нет. Переключается, только если погасить резервный порт, ну или маршрут
Вы можете задать ip адреса на интерфейсах статически или получить их по DHCP от провайдера. Это не меняет логики настройки
Скажіть будь ласка по якому протоколу мають передаватись IP адрес для налаштування резервних каналів?
Cпс за сайт!!!
Не хватает только указать NAT до резервного канала
object network OBJ_NAT_LAN
subnet 192.168.10.0 255.255.255.0
nat (inside,outside) dynamic interface
object network OBJ_NAT_LAN_BACKUP
subnet 192.168.10.0 255.255.255.0
nat (inside,outside_backup) dynamic interface
после чего все заработало и переключается
На сколько мне известно, на Cisco ASA так сделать не получится.
Можно сделать подобные настройки на маршрутизаторах Cisco и регулировать задержку командами
track 1 rtr 1 reachability
delay down 5 up 5
5 и 5 — время в секундах перед выполнением действия, то есть включения или выключения маршрута.
Как установить задержку после переключения ? Идея следующая, основной канал моргает то работает то нет, как заложить интервал переключения, например переключить на резервный канал на 30 мин, и только после вернуть на основной. Возможно за это время исправит все, при текущей настройке будет постоянное переключение с основного на резервный каждые 10 секунд.