10.11. Типовые конфигурации¶
10.11.1. L2-связность¶
Описание схемы¶
Основная идея обеспечения высокой доступности с использованием VRRP заключается в том, что у нас есть активный и резервный vADC. Активный узел, vADC-1, обрабатывает весь HTTP-трафик от пользователей к веб-серверам и обратно. Резервный узел, vADC-2, должен начать обработку трафика в случае, если vADC-1 теряет доступность.
VRRP поддерживает доступность основного IP-адреса сервиса, а Weighted Round Robin распределяет нагрузку между веб-серверами 192.168.0.1
, 192.168.0.2
и 192.168.0.3
. Если VRRP изменяет состояние, vADC-2 становится активным и продолжает передавать трафик на веб-сервисы согласно конфигурации.
На схеме ниже показано, что пользовательские устройства напрямую подключены к vADC через L2-коммутатор. Интерфейсы if0
на vADC и IP-адрес VRRP находятся в одной сети 192.168.0.0/24
.


vADC-1¶
Задаем название хоста.
hostname vADC-1
Настраиваем сетевой интерфейс
if0
:
Назначаем IP-адрес
192.168.0.251/24
Включаем VRRP с использованием IP-адреса
192.168.0.253
и приоритетом150
interface if0
ip address 192.168.0.251/24
vrrp 1 ip 192.168.0.253
vrrp 1 priority 150
exit
Создаем пул для SNAT (Source NAT) с диапазоном
192.168.0.253
, соответствующим IP-адресу VRRP. Это позволяет использовать адрес из локальной сети для NAT, при этом не нарушая корректную обработку ARP-запросов, обеспечивая разрешение MAC-адреса на целевых серверах при взаимодействии с vADC.
nat pool SNAT-Pool
range 192.168.0.253 192.168.0.253
pooling arbitrary
enable
exit
Группа целевых серверов:
Создаем Target-группу
web-tg0
с алгоритмом балансировки WRR - Weighted Round Robin (взвешенный круговой алгоритм) и привязкой кSNAT-Pool
В группу добавляем три веб-сервера с IP-адресами
192.168.0.1
,192.168.0.2
и192.168.0.3
, использующие80
порт для HTTP-трафика
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.0.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.0.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.0.3 port 80 weight 1
Сервис балансировки нагрузки:
Создаем сервис
web-service
, использующий группуweb-tg0
по-умолчанию для распределения HTTP-трафикаДоступ к сервису осуществляется через IP-адрес
192.168.0.253
и80
порт
vlb service web-service
default-target-group web-tg0
access-point type http ip 192.168.0.253/32 port 80
exit
Полная конфигурация¶
hostname vADC-1
!
interface if0
ip address 192.168.0.251/24
vrrp 1 ip 192.168.0.253
vrrp 1 priority 150
exit
!
nat pool SNAT-Pool
range 192.168.0.253 192.168.0.253
pooling arbitrary
enable
exit
!
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.0.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.0.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.0.3 port 80 weight 1
!
vlb service web-service
default-target-group web-tg0
access-point type http ip 192.168.0.253/32 port 80
exit
!
vADC-2¶
Задаем название хоста.
hostname vADC-2
Настраиваем сетевой интерфейс
if0
:
Назначаем IP-адрес
192.168.0.252/24
Включаем VRRP с использованием IP-адреса
192.168.0.253
и приоритетом120
, что ниже, чем у vADC-1. Это позволяет vADC-1 быть основным узлом VRRP, в то время как vADC-2 выступает в качестве резервного
interface if0
ip address 192.168.0.252/24
vrrp 1 ip 192.168.0.253
vrrp 1 priority 120
exit
Остальная часть конфигурации для vADC-2 идентична vADC-1.
Полная конфигурация¶
hostname vADC-2
!
interface if0
ip address 192.168.0.252/24
vrrp 1 ip 192.168.0.253
vrrp 1 priority 120
exit
!
nat pool SNAT-Pool
range 192.168.0.253 192.168.0.253
pooling arbitrary
enable
exit
!
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.0.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.0.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.0.3 port 80 weight 1
!
vlb service web-service
default-target-group web-tg0
access-point type http ip 192.168.0.253/32 port 80
exit
!
10.11.2. L2/L3-связность¶
Описание схемы¶
Расширенная конфигурация двух виртуальных устройств балансировки нагрузки (vADC-1 и vADC-2), которые настроены для работы в режиме высокой доступности с использованием VRRP и BGP-маршрутизации. Состояние active/standby управляется с помощью track-правил и CLI-политик для контроля состояния и корректировки приоритетов VRRP и BGP. Конфигурация обеспечивает отказоустойчивость и балансировку HTTP-трафика, который поступает на виртуальный IP (VIP) 203.0.113.1
.


vADC-1¶
Задаем название хоста.
hostname vADC-1
Добавляем маршрут по умолчанию до сети
203.0.113.0/24
в Null0, чтобы обеспечить анонс маршрутов с помощью BGP.
ip route 203.0.113.0/24 Null0
Настраиваем сетевые интерфейсы
if0
иif1
:
Назначаем IP-адрес
192.168.0.1/31
на интерфейсif0
Назначаем IP-адрес
192.168.1.251/24
на интерфейсif1
и включаем VRRP с приоритетом 150 и виртуальным IP-адресом192.168.1.254
interface if0
ip address 192.168.0.1/31
exit
interface if1
ip address 192.168.1.251/24
vrrp 1 ip 192.168.1.254
vrrp 1 priority 150
exit
Создаем пул для SNAT (Source NAT) с диапазоном
192.168.1.254
, что соответствует IP-адресу VRRP.
nat pool SNAT-Pool
range 192.168.1.254 192.168.1.254
pooling arbitrary
enable
exit
Группа целевых серверов:
Создаем Target-группу
web-tg0
с алгоритмом взвешенного кругового распределения (WRR) и привязкой кSNAT-Pool
В группу добавляем три веб-сервера с IP-адресами
192.168.1.1
,192.168.1.2
и192.168.1.3
, использующие80
порт для HTTP-трафика
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.1.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.3 port 80 weight 1
BGP-маршрутизация:
Настраиваем BGP с автономной системой 65002
Настраиваем связи с соседним маршрутизатором
192.168.0.0
с AS 65001Реализуем маршрутизацию статических маршрутов с фильтрацией по списку префиксов и управлением маршрутами через
route-map SERVICES
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.0 remote-as 65001
neighbor 192.168.0.0 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.0 soft-reconfiguration inbound
neighbor 192.168.0.0 prefix-list DEFAULT in
neighbor 192.168.0.0 route-map SERVICES out
exit-address-family
Списки префиксов и route-map:
Список
SERVICES
разрешает анонс сети203.0.113.0/24
Список
DEFAULT
разрешает маршрут по умолчанию0.0.0.0/0
Route-map
SERVICES
управляет исходящими маршрутами, фильтруя их по спискуSERVICES
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
route-map SERVICES permit 10
match ip address prefix-list SERVICES
Сервис балансировки нагрузки:
Создаем сервис
web-service
, использующий группуweb-tg0
по-умолчанию для распределения HTTP-трафикаДоступ к сервису осуществляется через IP-адрес
203.0.113.1/32
и80
порт
vlb service web-service
default-target-group web-tg0
access-point type http ip 203.0.113.1/32 port 80
exit
vADC-2¶
Конфигурация vADC-2 аналогична vADC-1 за исключением следующих изменений:
Задаем название хоста.
hostname vADC-2
Настраиваем сетевые интерфейсы
if0
иif1
:
Назначаем IP-адрес
192.168.0.3/31
на интерфейсif0
Назначаем IP-адрес
192.168.1.252/24
на интерфейсif1
и включаем VRRP с приоритетом 120
interface if0
ip address 192.168.0.3/31
exit
!
interface if1
ip address 192.168.1.252/24
vrrp 1 ip 192.168.1.254
vrrp 1 priority 120
exit
Для NAT-пула используем фиксированный IP
192.168.1.254
, который соответствует VRRP адресу.
nat pool SNAT-Pool
range 192.168.1.254 192.168.1.254
pooling arbitrary
enable
exit
BGP-маршрутизация:
Указываем соседа
192.168.0.2
(AS 65001) для взаимодействия с BGPДобавляем
AS-path prepend
вroute-map SERVICES
, чтобы приоритет маршрутов от vADC-1 был выше
route-map SERVICES permit 10
match ip address prefix-list SERVICES
set as-path prepend 65002
Трекеры и Политики CLI¶
Track-правила и CLI-политики настраиваются на vADC-1:
Правила track:
track 1
: Отслеживает VRRP на интерфейсеif1
, чтобы контролировать состояние мастераtrack 2
: Отслеживает наличие маршрута по-умолчанию
track 1 vrrp 1 interface if1 ip state master
track 2 ip route 0.0.0.0/0 ecmp-number less-equal 0
CLI-политики:
cli-policy 1
: Если результатtrack 1
соответствуетTRUE
, то в параметрахroute-map SERVICES
удаляетсяas-path prepend
cli-policy 2
: Если результатtrack 1
соответствуетFALSE
, то в параметрыroute-map SERVICES
добавляетсяas-path prepend 65002 65002
. Таким образом анонс маршрутов от vADC-2 становятся более приоритетными и трафик переходит на негоcli-policy 3
: Если результатtrack 2
соответствуетFALSE
, то повышается приоритет VRRP до 150cli-policy 4
: Если результатtrack 2
соответствуетTRUE
, то понижается приоритет VRRP до 1 тем самым переводя VRRP в состояние standby.
rtm cli-policy 1
event track 1 state positive
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli no set as-path prepend
!
rtm cli-policy 2
event track 1 state negative
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli set as-path prepend 65002 65002
!
rtm cli-policy 3
event track 2 state negative
action 1 cli configure terminal
action 2 cli interface if1
action 3 cli vrrp 1 priority 150
!
rtm cli-policy 4
event track 2 state positive
action 1 cli configure terminal
action 2 cli interface if1
action 3 cli vrrp 1 priority 1
!
Полная конфигурация¶
vADC-1¶
hostname vADC-1
!
ip route 203.0.113.0/24 Null0
!
interface if0
ip address 192.168.0.1/31
exit
!
interface if1
ip address 192.168.1.251/24
vrrp 1 ip 192.168.1.254
vrrp 1 priority 150
exit
!
nat pool SNAT-Pool
range 192.168.1.254 192.168.0.253
pooling arbitrary
enable
exit
!
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.1.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.3 port 80 weight 1
!
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.0 remote-as 65001
neighbor 192.168.0.0 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.0 soft-reconfiguration inbound
neighbor 192.168.0.0 prefix-list DEFAULT in
neighbor 192.168.0.0 route-map SERVICES out
exit-address-family
!
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
!
route-map SERVICES permit 10
match ip address prefix-list SERVICES
!
vlb service web-service
default-target-group web-tg0
access-point type http ip 203.0.113.1/32 port 80
exit
!
track 1 vrrp 1 interface if1 ip state master
track 2 ip route 0.0.0.0/0 ecmp-number less-equal 0
!
rtm cli-policy 1
event track 1 state positive
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli no set as-path prepend
!
rtm cli-policy 2
event track 1 state negative
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli set as-path prepend 65002 65002
!
rtm cli-policy 3
event track 2 state negative
action 1 cli configure terminal
action 2 cli interface if1
action 3 cli vrrp 1 priority 150
!
rtm cli-policy 4
event track 2 state positive
action 1 cli configure terminal
action 2 cli interface if1
action 3 cli vrrp 1 priority 1
!
vADC-2¶
hostname vADC-2
!
ip route 203.0.113.0/24 Null0
!
interface if0
ip address 192.168.0.3/31
exit
!
interface if1
ip address 192.168.1.252/24
vrrp 1 ip 192.168.1.254
vrrp 1 priority 120
exit
!
nat pool SNAT-Pool
range 192.168.1.254 192.168.1.254
pooling arbitrary
enable
exit
!
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.1.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.2.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.3.3 port 80 weight 1
!
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.2 remote-as 65001
neighbor 192.168.0.2 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.2 soft-reconfiguration inbound
neighbor 192.168.0.2 prefix-list DEFAULT in
neighbor 192.168.0.2 route-map SERVICES out
exit-address-family
!
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
!
route-map SERVICES permit 10
match ip address prefix-list SERVICES
set as-path prepend 65002
!
vlb service web-service
default-target-group web-tg0
access-point type http ip 203.0.113.1/32 port 80
exit
!
10.11.3. L3-связность¶
Описание схемы¶
Расширенная конфигурация двух виртуальных устройств балансировки нагрузки (vADC-1 и vADC-2), которые настроены для работы в режиме высокой доступности с использованием только BGP-маршрутизации. Состояние active/standby управляется с помощью track-правил и CLI-политик. Конфигурация обеспечивает отказоустойчивость и балансировку HTTP-трафика, который поступает на виртуальный IP (VIP) 203.0.113.1
.


vADC-1¶
Задаем название хоста.
hostname vADC-1
Статическая маршрутизация:
Добавляем маршрут по умолчанию до сети
203.0.113.0/24
, выделенной для сервисовДобавляем маршрут по умолчанию до сети
100.64.1.0/24
, выделенной для SNAT-пула
ip route 203.0.113.0/24 Null0
ip route 100.64.1.0/24 Null0
Настраиваем сетевые интерфейсы
if0
иif1
:
Назначаем IP-адрес
192.168.0.1/31
на интерфейсif0
Назначаем IP-адрес
192.168.0.5/31
на интерфейсif1
interface if0
ip address 192.168.0.1/31
exit
!
interface if1
ip address 192.168.0.5/31
exit
!
Создаем NAT-пул с именем
SNAT-Pool
с диапазоном100.64.1.0 - 100.64.1.254
.
nat pool SNAT-Pool
range 100.64.1.0 100.64.1.254
pooling arbitrary
enable
exit
Группа целевых серверов:
Создаем Target-группу
web-tg0
с алгоритмом взвешенного кругового распределения (WRR) и привязкой кSNAT-Pool
В группу добавляем три веб-сервера с IP-адресами
192.168.1.1
,192.168.1.2
и192.168.1.3
, использующие80
порт для HTTP-трафика
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.1.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.3 port 80 weight 1
BGP-маршрутизация:
Настраиваем BGP с автономной системой 65002
Настраиваем связи соседей
192.168.0.0
с AS 65001 и192.168.0.4
с AS 65003. Для обоих включаем BFD и soft-reconfiguration inboundНастраиваем анонс и прием маршрутов с фильтрацией по списку префиксов и управлением маршрутами через route-map
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.0 remote-as 65001
neighbor 192.168.0.0 bfd
neighbor 192.168.0.4 remote-as 65003
neighbor 192.168.0.4 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.0 soft-reconfiguration inbound
neighbor 192.168.0.0 prefix-list DEFAULT in
neighbor 192.168.0.0 route-map SERVICES out
neighbor 192.168.0.4 soft-reconfiguration inbound
neighbor 192.168.0.4 prefix-list BACKENDS in
neighbor 192.168.0.4 prefix-list SNAT_POOLS out
exit-address-family
Списки префиксов и route-map:
Список
DEFAULT
разрешает прием маршрута по умолчанию0.0.0.0/0
Список
SERVICES
разрешает анонс подсети203.0.113.0/24
Prefix-list
BACKENDS
разрешает прием маршрута до целевых серверов192.168.1.0/24
Список
SNAT_POOLS
разрешает анонс SNAT пула100.64.1.0/24
Route-map
SERVICES
управляет исходящими маршрутами, фильтруя их по спискуSERVICES
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list BACKENDS seq 5 permit 192.168.1.0/24
ip prefix-list SNAT_POOLS seq 5 permit 100.64.1.0/24
!
route-map SERVICES permit 10
match ip address prefix-list SERVICES
!
Сервис балансировки нагрузки:
Создаем сервис
web-service
, использующий группуweb-tg0
по-умолчанию для распределения HTTP-трафикаДоступ к сервису осуществляется через IP-адрес
203.0.113.1/32
и80
порт
vlb service web-service
default-target-group web-tg0
access-point type http ip 203.0.113.1/32 port 80
exit
vADC-2¶
Конфигурация vADC-2 аналогична vADC-1 за исключением следующих изменений:
Задаем название хоста.
hostname vADC-2
Настраиваем сетевые интерфейсы
if0
иif1
:
Назначаем IP-адрес
192.168.0.3/31
на интерфейсif0
Назначаем IP-адрес
192.168.0.7/31
на интерфейсif1
interface if0
ip address 192.168.0.3/31
exit
!
interface if1
ip address 192.168.0.7/31
exit
Создаем NAT-пул с именем
SNAT-Pool
с диапазоном100.64.2.0 - 100.64.2.254
.
nat pool SNAT-Pool
range 100.64.2.0 100.64.2.254
pooling arbitrary
enable
exit
BGP-маршрутизация:
Настраиваем BGP с автономной системой 65002
Настраиваем связи соседей
192.168.0.2
с AS 65001 и192.168.0.6
с AS 65003. Для обоих включаем BFD и soft-reconfiguration inboundНастраиваем анонс и прием маршрутов с фильтрацией по списку префиксов и управлением маршрутами через route-map
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.2 remote-as 65001
neighbor 192.168.0.2 bfd
neighbor 192.168.0.6 remote-as 65003
neighbor 192.168.0.6 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.2 soft-reconfiguration inbound
neighbor 192.168.0.2 prefix-list DEFAULT in
neighbor 192.168.0.2 route-map SERVICES out
neighbor 192.168.0.6 soft-reconfiguration inbound
neighbor 192.168.0.6 prefix-list BACKENDS in
neighbor 192.168.0.6 prefix-list SNAT_POOLS out
exit-address-family
Списки префиксов и route-map:
Список
DEFAULT
разрешает прием маршрута по умолчанию0.0.0.0/0
Список
SERVICES
разрешает анонс подсети203.0.113.0/24
Prefix-list
BACKENDS
разрешает прием маршрута до целевых серверов192.168.1.0/24
Список
SNAT_POOLS
разрешает анонс NAT пула100.64.2.0/24
Route-map
SERVICES
используется сAS-path prepend 65002
, чтобы приоритет маршрутов от vADC-1 был выше
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list BACKENDS seq 5 permit 192.168.1.0/24
ip prefix-list SNAT_POOLS seq 5 permit 100.64.2.0/24
!
route-map SERVICES permit 10
match ip address prefix-list SERVICES
set as-path prepend 65002
!
Трекеры и Политики CLI¶
Track-правила и CLI-политики настраиваются на vADC-1:
track1
проверяет наличие маршрута к192.168.1.0/24
.
track 1 ip route 192.168.1.0/24 ecmp-number less-equal 0
CLI-политики:
cli-policy 1
: Если результатtrack 1
соответствуетTRUE
, в параметрахroute-map SERVICES
удаляетсяas-path prepend
cli-policy 2
: Если результатtrack 1
соответствуетFALSE
, в параметры route-mapSERVICES
добавляетсяas-path prepend 65002 65002
таким образом анонс маршрутов от vADC-2 становятся более приоритетными и трафик переходит на него.
rtm cli-policy 1
event track 1 state negative
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli no set as-path prepend
!
rtm cli-policy 2
event track 1 state positive
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli set as-path prepend 65002 65002
!
Полная конфигурация¶
vADC-1¶
hostname vADC-1
!
ip route 203.0.113.0/24 Null0
ip route 100.64.1.0/24 Null0
!
interface if0
ip address 192.168.0.1/31
exit
!
interface if1
ip address 192.168.0.5/31
exit
!
nat pool SNAT-Pool
range 100.64.1.0 100.64.1.254
pooling arbitrary
enable
exit
!
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.1.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.1.3 port 80 weight 1
!
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.0 remote-as 65001
neighbor 192.168.0.0 bfd
neighbor 192.168.0.4 remote-as 65003
neighbor 192.168.0.4 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.0 soft-reconfiguration inbound
neighbor 192.168.0.0 prefix-list DEFAULT in
neighbor 192.168.0.0 route-map SERVICES out
neighbor 192.168.0.4 soft-reconfiguration inbound
neighbor 192.168.0.4 prefix-list BACKENDS in
neighbor 192.168.0.4 prefix-list SNAT_POOLS out
exit-address-family
!
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list BACKENDS seq 5 permit 192.168.1.0/24
ip prefix-list SNAT_POOLS seq 5 permit 100.64.1.0/24
!
route-map SERVICES permit 10
match ip address prefix-list SERVICES
!
vlb service web-service
default-target-group web-tg0
access-point type http ip 203.0.113.1/32 port 80
exit
!
track 1 ip route 192.168.1.0/24 ecmp-number less-equal 0
!
rtm cli-policy 1
event track 1 state negative
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli no set as-path prepend
!
rtm cli-policy 2
event track 1 state positive
action 1 cli configure terminal
action 2 cli route-map SERVICES permit 10
action 3 cli set as-path prepend 65002 65002
!
vADC-2¶
hostname vADC-2
!
ip route 203.0.113.0/24 Null0
ip route 100.64.2.0/24 Null0
!
interface if0
ip address 192.168.0.3/31
exit
!
interface if1
ip address 192.168.0.7/31
exit
!
nat pool SNAT-Pool
range 100.64.2.0 100.64.2.254
pooling arbitrary
enable
exit
!
vlb target-group web-tg0 algorithm wrr nat-pool SNAT-Pool
vlb target-group web-tg0 worker ip 192.168.1.1 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.2.2 port 80 weight 1
vlb target-group web-tg0 worker ip 192.168.3.3 port 80 weight 1
!
router bgp 65002
bgp log-neighbor-changes
neighbor 192.168.0.2 remote-as 65001
neighbor 192.168.0.2 bfd
neighbor 192.168.0.6 remote-as 65003
neighbor 192.168.0.6 bfd
!
address-family ipv4 unicast
redistribute static
neighbor 192.168.0.2 soft-reconfiguration inbound
neighbor 192.168.0.2 prefix-list DEFAULT in
neighbor 192.168.0.2 route-map SERVICES out
neighbor 192.168.0.6 soft-reconfiguration inbound
neighbor 192.168.0.6 prefix-list BACKENDS in
neighbor 192.168.0.6 prefix-list SNAT_POOLS out
exit-address-family
!
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
ip prefix-list SERVICES seq 5 permit 203.0.113.0/24
ip prefix-list BACKENDS seq 5 permit 192.168.1.0/24
ip prefix-list SNAT_POOLS seq 5 permit 100.64.2.0/24
!
route-map SERVICES permit 10
match ip address prefix-list SERVICES
set as-path prepend 65002
!
vlb service web-service
default-target-group web-tg0
access-point type http ip 203.0.113.1/32 port 80
exit
!