HOST1 имитирует внутреннюю сеть
HOST2 имитирует интернет хост
R1 имитирует пограничный маршрутизатор с двумя линками на провайдера ( F0/1 и F1/0 )
R2 - R4 имитирут интернет
Задача: Обеспечить хождение трафика по дефолту через ISP1. В случае падения линка или пропадания сервиса переключится на ISP2. Всё это должно происходить автоматически без ручной перенастройки.
Конфигурация:
Настройка EIGRP, поднятие хостов и айпишников тут не приводится
1) Настроим NAT на ISP1 и ISP2
Создаём ACL
R1(config)#ip access-list extended RouteNAT
R1(config-ext-nacl)#permit ip 10.0.1.0 0.0.0.255 any
R1(config-ext-nacl)#exit
Прописываем два route-map на ISP1 и ISP2
R1(config)#route-map isp1 permit 10
R1(config-route-map)#match ip address RouteNAT
R1(config-route-map)#match interface f0/1
R1(config-route-map)#exit
R1(config)#route-map isp2 permit 20
R1(config-route-map)#match ip address RouteNAT
R1(config-route-map)#match interface f1/0
R1(config-route-map)#exit
Назначаем inside и outside интерфейсы
R1(config)#int fa 0/0
R1(config-if)#ip nat inside
R1(config)#int fa 1/0
R1(config-if)#ip nat outside
R1(config)#int fa 0/1
R1(config-if)#ip nat outside
И, наконец, создаём правила NAT ( в данном случае PAT )
R1(config)#ip nat inside source route-map isp1 interface f0/1 overload
R1(config)#ip nat inside source route-map isp2 interface f1/0 overload
-----------------------------------------------------------------------------------
2) Для мониторинга контрольный ресурс для необходимо смаршрутизировать через ISP1
Задаём ip route
R1(config)#ip route 200.200.200.2 255.255.255.255 213.22.2.1
Вписываем ACL
R1(config)#access-list 101 permit icmp any host 200.200.200.1 echo
Делаем route-map
R1(config)#route-map echo permit 10
R1(config-route-map)#match ip address 101
R1(config-route-map)#set interface f0/1
И применяем route-map
R1(config)#ip local policy route-map echo
-----------------------------------------------------------------------------------
3) Приступим к настройке SLA
Создаём процесс-монитор IP SLA с номером 77
R1(config)# ip sla monitor 77
Указываем, что нужно пинговать с помощью icmp -- хост 200.200.200.2 из source адреса 213.22.2.2
R1(config-sla-monitor)# type echo protocol ipIcmpEcho 200.200.200.2 source-ipaddr 213.22.2.2
Задаём таймаут в 1 секунду, частоту пингов в 5 секунд и фейл в 3 попытки
R1(config-sla-monitor-echo)# timeout 1000
R1(config-sla-monitor-echo)# threshold 3
R1(config-sla-monitor-echo)# frequency 5
Cтартуем процесс на вечное повторение с начальным временем now
R1(config)# ip sla monitor schedule 77 life forever start-time now
И настраиваем процесс ( track с номером 77 ) слежения за IP SLA ( за 77-м монитором )
R1(config)#track 77 rtr 77 reachability
Notes: С изменением IOS синтаксис может быть более изменённым и более упрощённым
ip sla 77
icmp-echo 200.200.200.2 source-ip 213.22.2.2
timeout 1000
threshold 3
frequency 5
ip sla schedule 77 life forever start-time now
-----------------------------------------------------------------------------------
4) Прописываем маршрутизацию
ip route 0.0.0.0 0.0.0.0 213.22.2.1 track 77
ip route 0.0.0.0 0.0.0.0 213.22.1.1 254
-----------------------------------------------------------------------------------
5) Тестирование ( или что там такое за сценой )
а) Штатный режим работы. Пинги проходят каждые 5 секунд как в аптеке :)
Заметим что есть ответный REPLY -- это важно!
Маршрутизация выглядит так
R1#sh ip ro
200.200.200.0/32 is subnetted, 1 subnetsВыделены: статический маршрут для пинга и дефолт gateway на 213.22.2.1 поскольку track достижим
S 200.200.200.2 [1/0] via 213.22.2.1
213.22.1.0/30 is subnetted, 1 subnets
C 213.22.1.0 is directly connected, FastEthernet1/0
213.22.2.0/30 is subnetted, 1 subnets
C 213.22.2.0 is directly connected, FastEthernet0/1
10.0.0.0/24 is subnetted, 1 subnets
C 10.0.1.0 is directly connected, FastEthernet0/0
S* 0.0.0.0/0 [1/0] via 213.22.2.1
б) Кладём линк R2 F0/1 ( либо R1 F0/1 не имеет никакого значения, SLA всё равно отработает)
В данной ситуации смотрим именно падение линка на R2 F0/1 и, как следствие, потерю маршрута до пингуемого хоста.
Видим на порту R1 F0/1, появился ответ, destination host unreachable
Маршрутизация стала такой
R1#sh ip ro
200.200.200.0/32 is subnetted, 1 subnets6) Конечный конфиг роутера
S 200.200.200.2 [1/0] via 213.22.2.1
213.22.1.0/30 is subnetted, 1 subnets
C 213.22.1.0 is directly connected, FastEthernet1/0
213.22.2.0/30 is subnetted, 1 subnets
C 213.22.2.0 is directly connected, FastEthernet0/1
10.0.0.0/24 is subnetted, 1 subnets
C 10.0.1.0 is directly connected, FastEthernet0/0
S* 0.0.0.0/0 [254/0] via 213.22.1.1
R1(config)#do sh run
...
!
!
ip sla monitor 77
type echo protocol ipIcmpEcho 200.200.200.2 source-ipaddr 213.22.2.2
timeout 1000
threshold 5
frequency 5
ip sla monitor schedule 77 life forever start-time now
!
track 77 rtr 77 reachability
!
interface FastEthernet0/0
ip address 10.0.1.254 255.255.255.0
ip nat inside
ip virtual-reassembly
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 213.22.2.2 255.255.255.252
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 213.22.1.2 255.255.255.252
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
!
!
ip local policy route-map echo
!
ip route 0.0.0.0 0.0.0.0 213.22.2.1 track 77
ip route 0.0.0.0 0.0.0.0 213.22.1.1 254
ip route 200.200.200.2 255.255.255.255 213.22.2.1
!
!
ip nat inside source route-map isp1 interface FastEthernet0/1 overload
ip nat inside source route-map isp2 interface FastEthernet1/0 overload
!
!
ip access-list extended RouteNAT
permit ip 10.0.1.0 0.0.0.255 any
access-list 101 permit icmp any host 200.200.200.1 echo
!
route-map echo permit 10
match ip address 101
set interface FastEthernet0/1
!
route-map isp2 permit 20
match ip address RouteNAT
match interface FastEthernet1/0
!
route-map isp1 permit 10
match ip address RouteNAT
match interface FastEthernet0/1
!
...
!
end
R1(config)#
7) Заметки
Если используется схема с двумя треками нужно использовать комбинацию reachabilty и state
CoreRouter(config)#track 1 rtr 10 state
CoreRouter(config-track)# delay down 20 up 20
CoreRouter(config-track)#track 2 rtr 20 reachability
CoreRouter(config-track)# delay down 20 up 20
CoreRouter(config-track)#exit
--------------------
Если сообщение в логах появляться не будут, включитьdebug track
-------------------
track 55 rtr 55 reachability
delay down 20 up 40
Через 20 сек. после потери пингов track будет в состоянии down и через 40 сек. после появления пингов в состоянии up.
Комментариев нет:
Отправить комментарий