Условия:
Есть два канала в интернет.
1. Оптический линк
2. ADSL
Первый мы будем использовать как основной канал, а второй, как запасной,
в случае если что-нибудь случится с оптоволоконной связью.
Таким образом мы имеем три активных интерфейса Cisco ASA (конечно же
В конфигурационном файле имеет вид:
!
interface GigabitEthernet0/0
nameif inside
security-level 100
ip address 10.0.0.1 255.255.255.0
!
interface GigabitEthernet0/1
nameif outside
security-level 0
ip address xx.xx.XX.XX2 255.255.255.252
!
interface GigabitEthernet0/2
shutdown
nameif outside_adsl
security-level 0
ip address yy.yy.yy.yy.2 255.255.255.252
Будем считать, что на одном интерфейсе, смотрящего в сторону провайдера
у нас всё настроено, интернет работает, NAT поднят.
Для обеспечения переключения в случае когда по оптическому линку вдруг
перестают ходить пакеты нужно настроить механизм SLA.
Как это работает?
Очень просто, мы указываем чтоб по основному интерфейсу до определённого
хоста (обычно шлюз провайдерский, либо шлюз аплинкера прова) каждый
некоторый интервал производились отправки icmp echo request. Если ответ
echo replay приходит, то всё хорошо, если всё плохо, то переключаемся на
дополнительный канал, в нашем случае ADSL
Как это настраивается в Cisco ASA 55xx.
ciscoasa# conf t
ciscoasa(config)# sla monitor 1
ciscoasa(config-sla-monitor)#type echo protocol ipIcmpEcho xx.xx.xx.xx1 interface outside
ciscoasa(config-sla-monitor-echo)#num-packets 3
ciscoasa(config-sla-monitor-echo)#frequency 10
Первой командой мы сказали что номер SLA конфигурации 1-ый, и тем самым
зашли в режим конфигурации SLA
Дальше мы определяем тип мониторинга, указываем протокол и Адрес узла,
который будем проверять на «живучесть», и соответсвенно интерфейс через
который всё это будет делаться.
Следующей командой мы указываем сколько пакетов в сторону хоста будет
направлено, frequency указывает на то, как часто мы будем посылать echo
request хосту, в нашем случае каждые 10 секунд.
Так же можно указать порог ответа (echo replay), до которого будет
считаться что всё впорядке, если свыше переходить соответсвенно на
запасной канал. делается это с помощью treshold в режиме
config-sla-monitor-echo. ТАК ЖЕ МОЖНО ВЫСТАВИТЬ время timeout для
conn,h323,sip и так далее.
Для нас данных настроек достаточно,доп.информацию всегда можно
почерпнуть на cisco.com, ссылки приведу ниже.
ciscoasa(config)#sla monitor schedule 1 life forever start-time now
Здесь мы указываем когда запускать данный мониторинг и его время жизни.
В данном случае мониторинг запущен всегда, т.е. всегда проверяется
«живучесть нашего хоста».
Далее нам необходимо прописать трэк, который будет привязан к нашему
основному каналу.
ciscoasa(config)# track 1 rtr 1 reachability
Данный трэк, делает то, что если после падения основного провайдера он
восстанавливается, всё возвращается с резервного на основной, с помощью
смены шлюза по умолчанию. конечно же в настройках gateway необходимо это
указать следующим образом
route outside 0.0.0.0 0.0.0.0 xx.xx.xx.xx1 1 track 1
route outside_adsl 0.0.0.0 0.0.0.0 yy.yy.yy.yy1 254
Настройка SLA закончена.
теперь можно проверить. Посмотрим что у нас сейчас в таблице маршрутизации
ciscoasa# sh route
Codes: C — connected, S — static, I — IGRP, R — RIP, M — mobile, B — BGP
D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area
N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2
E1 — OSPF external type 1, E2 — OSPF external type 2, E — EGP
i — IS-IS, L1 — IS-IS level-1, L2 — IS-IS level-2, ia — IS-IS inter area
* — candidate default, U — per-user static route, o — ODR
P — periodic downloaded static route
Gateway of last resort is 83.69.71.205 to network 0.0.0.0
C xx.xx.xx.xx 255.255.255.252 is directly connected, outside
C yy.yy.yy.0 255.255.255.0 is directly connected, outside_adsl
C 127.0.0.0 255.255.0.0 is directly connected, cplane
C 10.10.10.0 255.255.255.0 is directly connected, management
C 10.0.0.0 255.255.255.0 is directly connected, inside
S* 0.0.0.0 0.0.0.0 [1/0] via xx.xx.xx.xx1, outside
ciscoasa#
Сейчас интернет работает у нас через основного провайдера, т.е. через
интерфейс outside, о чем говорит нам последняя строка sh route.
После отключения интерфейса outside (просто выдернем патчёкорд), через
несколько секунд заглянем в тот же sh route
ciscoasa# sh route
Codes: C — connected, S — static, I — IGRP, R — RIP, M — mobile, B — BGP
D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area
N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2
E1 — OSPF external type 1, E2 — OSPF external type 2, E — EGP
i — IS-IS, L1 — IS-IS level-1, L2 — IS-IS level-2, ia — IS-IS inter area
* — candidate default, U — per-user static route, o — ODR
P — periodic downloaded static route
Gateway of last resort is 83.69.71.205 to network 0.0.0.0
C xx.xx.xx.xx 255.255.255.252 is directly connected, outside
C yy.yy.yy.0 255.255.255.0 is directly connected, outside_adsl
C 127.0.0.0 255.255.0.0 is directly connected, cplane
C 10.10.10.0 255.255.255.0 is directly connected, management
C 10.0.0.0 255.255.255.0 is directly connected, inside
S* 0.0.0.0 0.0.0.0 [1/0] via yy.yy.yy.yy1, outside_adsl
ciscoasa#
теперь мы видим, что шлюз по умолчания у нас изменился, что нам и
требовалось. Теперь, как только «поднимется» основной канал, весь трафик
пойдёт через него.
Для того, чтоб посмотреть как ходят пакетики и проверяют живучесть,
можно использовать debug
ciscoasa# debug sla monitor trace
И соответсвенно для просмотра ошибок
ciscoasa# debug sla monitor error