В настоящем руководстве приведено описание настройки кластера для администратора сервисного маршрутизатора ESR (далее — маршрутизатор).

Рисунок 1 — Схема реализации HA Cluster
Для начала работы необходимо полностью настроить одно устройство из кластера.
После включения устройства примените конфигурацию по умолчанию на устройствах, предназначенных для объединения в кластер:
esr# copy system:default-config system:candidate-config Entire candidate configuration will be reset to default, all settings will be lost upon commit. Do you really want to continue? (y/N): y |******************************************| 100% (59B) Default configuration loaded successfully. |
Для более удобного и ясного восприятия рекомендуется переименовать устройства. В кластерной версии прошивки предусмотрена возможность указать имя устройства с привязкой к юниту. Устройство будет использовать только тот hostname, юнитом которого он является:
esr# configure esr(config)# hostname ESR-1 unit 1 esr(config)# hostname ESR-2 unit 2 |
Более приоритетным является hostname, указанный с привязкой к unit. |
Чтобы изменить юнит устройства, выполните следующие команды:
ESR-1# set unit id 1 Unit ID will be 1 after reboot ESR-1# reload system Do you really want to reload system now? (y/N): y |
На заводской конфигурации unit принимает значение по умолчанию (unit = 1). Смена юнита устройства вступает в силу после перезагрузки. |
Убедитесь в том, что настройка юнита применилась успешно:
ESR-1# show unit id Unit ID is 1 Unit ID will be 1 after reboot |
Объединение устройств в кластер невозможно, если они относятся к одному и тому же юниту. |
Для полноценной работы кластера требуется сконфигурировать кластерный интерфейс, который будет использоваться для передачи control plane трафика. В качестве кластерного интерфейса назначен bridge. В качестве механизма, отвечающего за определение ролей устройств, участвующих в резервировании, назначен протокол VRRP. Настройки cluster-интерфейса должны быть идентичны для всех участников кластера.
Так как кластер выполняет синхронизацию состояний между устройствами, необходимо создать зону безопасности SYNC (synchronization) и разрешить прохождение трафика протокола VRRP:
ESR-1(config)# security zone SYNC ESR-1(config-security-zone)# exit ESR-1(config)# security zone-pair SYNC self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol vrrp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Далее перейдите к настройкам кластерного интерфейса:
ESR-1(config)# bridge 1 |
В версии ПО 1.24 в качестве cluster-интерфейса поддержан только bridge. |
Укажите, к какому VLAN относится bridge, и зону безопасности:
ESR-1(config-bridge)# vlan 1 ESR-1(config-bridge)# security-zone SYNC |
Далее укажите IP-адреса:
ESR-1(config-bridge)# ip address 192.18.1.254/24 unit 1 ESR-1(config-bridge)# ip address 192.18.1.253/24 unit 2 |
Для работы кластерного интерфейса поддерживается только IPv4-адресация. На cluster-интерфейсе необходима настройка адресов с привязкой к unit. |
Настройте идентификатор VRRP, принадлежность VRRP-маршрутизатора к группе, IP-адрес VRRP:
ESR-1(config-bridge)# vrrp id 1 ESR-1(config-bridge)# vrrp group 1 ESR-1(config-bridge)# vrrp ip 192.18.1.1/24 |
Адрес VRRP должен быть из той же подсети, что и адреса на интерфейсе. |
Включите протокол VRRP и bridge:
ESR-1(config-bridge)# vrrp ESR-1(config-bridge)# enable ESR-1(config-bridge)# exit |
Настройте физические порты для выделенного линка синхронизации маршрутизаторов ESR-1 и ESR-2:
ESR-1(config)# interface gigabitethernet 1/0/1 ESR-1(config-if-gi)# description "Network: SYNC" ESR-1(config-if-gi)# mode switchport ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/1 ESR-1(config-if-gi)# description "Network: SYNC" ESR-1(config-if-gi)# mode switchport ESR-1(config-if-gi)# exit |
Для проверки работы протокола VRRP выполните следующую команду:
ESR-1# show vrrp Virtual router Virtual IP Priority Preemption State -------------- --------------------------------- -------- ---------- ------ 1 192.18.1.1/24 100 Enabled Backup |
Можно увидеть, что устройство приняло состояние Backup. Через 10 секунд устройство примет состояние Master.
Для запуска кластера необходимо указать заранее настроенный кластерный интерфейс и юниты, которые будут выполнять роли Active и Standby.
Перейдите в режим настройки кластера:
ESR-1(config)# cluster |
Настройте юниты:
ESR-1(config-cluster)# unit 1 ESR-1(config-cluster-unit)# mac-address E4:5A:D4:A0:BE:35 ESR-1(config-cluster-unit)# exit ESR-1(config-cluster)# unit 2 ESR-1(config-cluster-unit)# mac-address A8:F9:4B:AF:35:84 ESR-1(config-cluster-unit)# exit |
В качестве mac-address указывается системный MAC-адрес устройства, его можно узнать с помощью команды show system | include MAC. |
Укажите кластерный интерфейс, созданный ранее, и активируйте кластер:
ESR-1(config-cluster)# cluster-interface bridge 1 ESR-1(config-cluster)# enable ESR-1(config-cluster)# exit |
Первое устройство полностью настроено и готово к работе.
Аналогичные настройки необходимо произвести на втором устройстве. Также возможна настройка второго устройства средствами ZTP.
Для активации процесса ZTP необходимо на втором устройстве запустить dhcp-client на bridge-интерфейсе, физический интерфейс которого будет включен в кластерный интерфейс первого устройства. В качестве примера такой конфигурации подойдет factory-конфигурация. (В factory-конфигурации для vESR нет настроенного dhcp-client) В процессе ZTP устройство автоматически выставит себе: 1) Конфигурацию; 2) Юнит; 3) Версию ПО, на котором работает Active ESR; 4) Лицензию, если она предварительно загружена на Active ESR. |
После выполнения этих шагов кластер будет успешно запущен. Текущее состояние кластера можно узнать, выполнив команду:
ESR-1# show cluster status Unit Hostname Role MAC address State IP address ---- -------------------- ---------- ----------------- -------------- --------------- 1* ESR-1 Active e4:5a:d4:a0:be:35 Joined 192.18.1.10 2 ESR-2 Standby a8:f9:4b:af:35:84 Joined 192.18.1.20 |
После включения кластера и установления юнитов в состояние Joined далее настройка устройств осуществляется настройкой Active устройства. Синхронизируются команды конфигурации, а также команды: commit, confirm, rollback, restore, save, copy <source> system:candidate-config. В случае, если конфигурирование осуществляется на Standby, то синхронизации не будет. Есть возможность отключения синхронизации командой sync config disable. |
После выполнения этих шагов кластер будет успешно запущен. Текущее состояние синхронизации подсистем кластера можно узнать, выполнив команду:
ESR-1# show cluster sync status System part Synced ---------------------- ------ candidate-config Yes running-config Yes SW version Yes licence Yes licence (After reboot) Yes date Yes |
В версии 1.24 не поддержана синхронизация шифрованных паролей. |
Через минуту после включения кластера синхронизируется время, на Standby установится время Active-юнита. Синхронизация времени проверяется раз в минуту, в случае расхождения время синхронизируется. |
Для синхронизации файлов лицензий в кластере необходимо загрузить их все на Active-устройство командой copy в директорию system:cluster-unit-licences.
Все загруженные лицензии в данной директории передаются остальным участникам кластера.
ESR-1# copy tftp://<IP_address>:/licence system:cluster-unit-licences |*************************| 100% (680B) Licence loaded successfully. |
На каждый ESR нужна отдельная лицензия (Wi-Fi, BRAS и т. д.). Для активации функций кластера не нужна отдельная лицензия. |
Установить лицензию в кластере можно одним из способов:
1. Загрузить индивидуально лицензию на каждое устройство, как в случае с обычным ESR вне кластера.
2. Загрузить лицензию для Active-юнита в system:licence (данная лицензия также автоматически загрузится и в system:cluster-unit-licences), лицензии для Standby загрузить в system:cluster-unit-licences на Active-юните, после чего либо выполнить команду sync cluster system force, либо подключить Standby по ZTP.
ESR-1# copy tftp://<IP_address>:/licence system:cluster-unit-licences |*************************| 100% (680B) Licence loaded successfully. ESR-1# ESR-1# ESR-1# ESR-1# show cluster-unit-licences Serial number Features --------------- ------------------------------------------------------------ NP0B003634 BRAS,IPS,WIFI NP0B009033 BRAS,IPS,WIFI ESR-1# sync cluster system force |
После успешной настройки кластера можно приступать к конфигурации сервисов.
Технология MultiWAN позволяет организовать отказоустойчивое соединение с резервированием линков от нескольких провайдеров, а также решает проблему балансировки трафика между резервными линками.
Создайте локальную зону безопасности и зону безопасности в сторону интернета:
ESR-1(config)# security zone TRUSTED ESR-1(config-security-zone)# exit ESR-1(config)# security zone ISP1_ISP2 ESR-1(config-security-zone)# exit |
Создайте список IP-адресов для проверки целостности соединения:
ESR-1(config)# wan load-balance target-list ISP1_ISP2 ESR-1(config-wan-target-list)# target 1 ESR-1(config-wan-target)# resp-time 1 ESR-1(config-wan-target)# ip address 8.8.8.8 ESR-1(config-wan-target)# enable ESR-1(config-wan-target)# exit ESR-1(config-wan-target-list)# exit |
Настройте интерфейсы в ISP 1, ISP 2 и TRUSTED:
ESR-1(config)# interface gigabitethernet 1/0/2 ESR-1(config-if-gi)# description "Network: TRUSTED" ESR-1(config-if-gi)# security-zone TRUSTED ESR-1(config-if-gi)# ip address 192.18.3.254/24 ESR-1(config-if-gi)# vrrp id 3 ESR-1(config-if-gi)# vrrp ip 192.18.3.1/24 ESR-1(config-if-gi)# vrrp group 1 ESR-1(config-if-gi)# vrrp ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 1/0/3.111 ESR-1(config-subif)# description "Network: ISP1" ESR-1(config-subif)# security-zone ISP1_ISP2 ESR-1(config-subif)# ip address 192.18.4.254/24 ESR-1(config-subif)# vrrp id 111 ESR-1(config-subif)# vrrp ip 192.18.4.2/24 ESR-1(config-subif)# vrrp group 1 ESR-1(config-subif)# vrrp ESR-1(config-subif)# wan load-balance nexthop 192.18.4.1 ESR-1(config-subif)# wan load-balance success-count 1 ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2 ESR-1(config-subif)# wan load-balance enable ESR-1(config-subif)# exit ESR-1(config)# interface gigabitethernet 1/0/3.222 ESR-1(config-subif)# description "Network: ISP2" ESR-1(config-subif)# security-zone ISP1_ISP2 ESR-1(config-subif)# ip address 192.18.5.254/24 ESR-1(config-subif)# vrrp id 222 ESR-1(config-subif)# vrrp ip 192.18.5.2/24 ESR-1(config-subif)# vrrp group 1 ESR-1(config-subif)# vrrp ESR-1(config-subif)# wan load-balance nexthop 192.18.5.1 ESR-1(config-subif)# wan load-balance success-count 1 ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2 ESR-1(config-subif)# wan load-balance enable ESR-1(config-subif)# exit ESR-1(config)# interface gigabitethernet 2/0/2 ESR-1(config-if-gi)# description "Network: TRUSTED" ESR-1(config-if-gi)# security-zone TRUSTED ESR-1(config-if-gi)# ip address 192.18.3.253/24 ESR-1(config-if-gi)# vrrp id 3 ESR-1(config-if-gi)# vrrp ip 192.18.3.1/24 ESR-1(config-if-gi)# vrrp group 1 ESR-1(config-if-gi)# vrrp ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/3.111 ESR-1(config-subif)# description "Network: ISP1" ESR-1(config-subif)# security-zone ISP1_ISP2 ESR-1(config-subif)# ip address 192.18.4.253/24 ESR-1(config-subif)# vrrp id 111 ESR-1(config-subif)# vrrp ip 192.18.4.2/24 ESR-1(config-subif)# vrrp group 1 ESR-1(config-subif)# vrrp ESR-1(config-subif)# wan load-balance nexthop 192.18.4.1 ESR-1(config-subif)# wan load-balance success-count 1 ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2 ESR-1(config-subif)# wan load-balance enable ESR-1(config-subif)# exit ESR-1(config)# interface gigabitethernet 2/0/3.222 ESR-1(config-subif)# description "Network: ISP2" ESR-1(config-subif)# security-zone ISP1_ISP2 ESR-1(config-subif)# ip address 192.18.5.253/24 ESR-1(config-subif)# vrrp id 222 ESR-1(config-subif)# vrrp ip 192.18.5.2/24 ESR-1(config-subif)# vrrp group 1 ESR-1(config-subif)# vrrp ESR-1(config-subif)# wan load-balance nexthop 192.18.5.1 ESR-1(config-subif)# wan load-balance success-count 1 ESR-1(config-subif)# wan load-balance target-list ISP1_ISP2 ESR-1(config-subif)# wan load-balance enable ESR-1(config-subif)# exit |
Укажите статический маршрут и создайте правило для балансировки трафика:
ESR-1(config)# ip route 0.0.0.0/0 wan load-balance rule 1 10 ESR-1(config)# wan load-balance rule 1 ESR-1(config-wan-rule)# outbound interface gigabitethernet 1/0/3.111 70 ESR-1(config-wan-rule)# outbound interface gigabitethernet 1/0/3.222 30 ESR-1(config-wan-rule)# outbound interface gigabitethernet 2/0/3.222 30 ESR-1(config-wan-rule)# outbound interface gigabitethernet 2/0/3.111 70 ESR-1(config-wan-rule)# enable ESR-1(config-wan-rule)# exit |
Разрешите работу протокола VRRP и протокола ICMP в зоне ISP1_ISP2 и TRUSTED:
ESR-1(config)# security zone-pair ISP1_ISP2 self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol vrrp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair TRUSTED self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol vrrp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Проверить работу можно командой show wan interfaces status:
ESR-1# show wan interfaces status Interface Nexthop Status Uptime/Downtime -------------------- ----------------------- -------- ------------------------------------------ gi1/0/3.111 192.18.4.1 Active 1 minute and 58 seconds gi1/0/3.222 192.18.5.1 Active 1 minute and 58 seconds |
IPsec — это набор протоколов, обеспечивающих защиту данных, передаваемых по протоколу IP. Данный набор протоколов позволяет осуществлять подтверждение подлинности (аутентификацию), проверку целостности и шифрование IP-пакетов, а также включает в себя протоколы для защищённого обмена ключами в сети Интернет.
Создайте зону безопасности для IPsec_VPN, разрешите прохождение трафика для протокола ESP, а также откройте порты ISAKMP для зоны ISP1_ISP2:
ESR-1(config)# object-group service ISAKMP ESR-1(config-object-group-service)# port-range 500 ESR-1(config-object-group-service)# port-range 4500 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone IPsec_VPN ESR-1(config-security-zone)# exit ESR-1(config)# security zone-pair ISP1_ISP2 self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol esp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match source-port object-group ISAKMP ESR-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Создайте туннели VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. Также настройте WAN для резервирования VTI-туннеля. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов:
ESR-1(config)# wan load-balance target-list MGMT ESR-1(config-wan-target-list)# target 1 ESR-1(config-wan-target)# resp-time 1 ESR-1(config-wan-target)# ip address 192.18.2.75 ESR-1(config-wan-target)# enable ESR-1(config-wan-target)# exit ESR-1(config-wan-target-list)# exit ESR-1(config)# tunnel vti 1 ESR-1(config-vti)# security-zone IPsec_VPN ESR-1(config-vti)# local address 192.18.4.2 ESR-1(config-vti)# remote address 192.18.4.1 ESR-1(config-vti)# ip address 192.18.11.1/24 ESR-1(config-vti)# wan load-balance nexthop 192.18.11.2 ESR-1(config-vti)# wan load-balance success-count 1 ESR-1(config-vti)# wan load-balance target-list MGMT ESR-1(config-vti)# wan load-balance enable ESR-1(config-vti)# enable ESR-1(config-vti)# exit ESR-1(config)# tunnel vti 2 ESR-1(config-vti)# security-zone IPsec_VPN ESR-1(config-vti)# local address 192.18.5.2 ESR-1(config-vti)# remote address 192.18.5.1 ESR-1(config-vti)# ip address 192.18.12.1/24 ESR-1(config-vti)# wan load-balance nexthop 192.18.12.2 ESR-1(config-vti)# wan load-balance success-count 1 ESR-1(config-vti)# wan load-balance target-list MGMT ESR-1(config-vti)# wan load-balance enable ESR-1(config-vti)# enable ESR-1(config-vti)# exit ESR-1(config)# ip route 192.168.2.0/24 wan load-balance rule 2 10 ESR-1(config)# wan load-balance rule 2 ESR-1(config-wan-rule)# outbound tunnel vti 1 70 ESR-1(config-wan-rule)# outbound tunnel vti 2 30 ESR-1(config-wan-rule)# enable ESR-1(config-wan-rule)# exit |
Создайте профиль протокола IKE. В профиле укажите группу Диффи-Хэллмана — 2, алгоритм шифрования — AES 128 bit, алгоритм аутентификации — MD5. Данные параметры безопасности используются для защиты IKE-соединения:
ESR-1(config)# security ike proposal IKE_PROP ESR-1(config-ike-proposal)# dh-group 2 ESR-1(config-ike-proposal)# authentication algorithm md5 ESR-1(config-ike-proposal)# encryption algorithm aes128 ESR-1(config-ike-proposal)# exit |
Создайте политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
ESR-1(config)# security ike policy IKE_POL ESR-1(config-ike-policy)# pre-shared-key hexadecimal 123FFF ESR-1(config-ike-policy)# proposal IKE_PROP ESR-1(config-ike-policy)# exit |
Создайте шлюзы протокола IKE. В данном профиле указываются: VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель. Поддержка MOBIKE отключается для route-based IPsec в обязательном порядке:
ESR-1(config)# security ike gateway IKE_GW_1 ESR-1(config-ike-gw)# ike-policy IKE_POL ESR-1(config-ike-gw)# mode route-based ESR-1(config-ike-gw)# mobike disable ESR-1(config-ike-gw)# bind-interface vti 1 ESR-1(config-ike-gw)# version v2-only ESR-1(config-ike-gw)# exit ESR-1(config)# security ike gateway IKE_GW_2 ESR-1(config-ike-gw)# ike-policy IKE_POL ESR-1(config-ike-gw)# mode route-based ESR-1(config-ike-gw)# mobike disable ESR-1(config-ike-gw)# bind-interface vti 2 ESR-1(config-ike-gw)# version v2-only ESR-1(config-ike-gw)# exit |
Создайте профиль параметров безопасности для IPsec-туннеля. В профиле укажите алгоритм шифрования — AES 128 bit, алгоритм аутентификации — MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
ESR-1(config)# security ipsec proposal IPSEC_PROP ESR-1(config-ipsec-proposal)# authentication algorithm md5 ESR-1(config-ipsec-proposal)# encryption algorithm aes128 ESR-1(config-ipsec-proposal)# exit |
Создайте политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы:
ESR-1(config)# security ipsec policy IPSEC_POL ESR-1(config-ipsec-policy)# proposal IPSEC_PROP ESR-1(config-ipsec-policy)# exit |
Создайте IPsec VPN. В VPN указываются: шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения:
ESR-1(config)# security ipsec vpn IPSEC_1 ESR-1(config-ipsec-vpn)# mode ike ESR-1(config-ipsec-vpn)# ike establish-tunnel route ESR-1(config-ipsec-vpn)# ike gateway IKE_GW_1 ESR-1(config-ipsec-vpn)# ike ipsec-policy IPSEC_POL ESR-1(config-ipsec-vpn)# enable ESR-1(config-ipsec-vpn)# exit ESR-1(config)# security ipsec vpn IPSEC_2 ESR-1(config-ipsec-vpn)# mode ike ESR-1(config-ipsec-vpn)# ike establish-tunnel route ESR-1(config-ipsec-vpn)# ike gateway IKE_GW_2 ESR-1(config-ipsec-vpn)# ike ipsec-policy IPSEC_POL ESR-1(config-ipsec-vpn)# enable ESR-1(config-ipsec-vpn)# exit |
Создайте разрешающие правила для работы IPsec VPN:
ESR-1(config)# security zone-pair IPsec_VPN self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Firewall failover необходим для резервирования сессий Firewall.
Выберите IP-адрес сетевого интерфейса, с которого будут отправляться сообщения при работе Firewall в режиме резервирования сессий, и IP-адрес соседа. Для этого необходимо создать object-group и указать IP-адреса с привязкой к unit:
ESR-1(config)# object-group network SYNC_SRC ESR-1(config-object-group-network)# ip address-range 192.18.1.254 unit 1 ESR-1(config-object-group-network)# ip address-range 192.18.1.253 unit 2 ESR-1(config-object-group-network)# exit ESR-1(config)# object-group network SYNC_DST ESR-1(config-object-group-network)# ip address-range 192.18.1.253 unit 1 ESR-1(config-object-group-network)# ip address-range 192.18.1.254 unit 2 ESR-1(config-object-group-network)# exit |
При включенном кластере использование object-group в настройке failover-сервисов обязательно. |
Для настройки failover-сервисов необходимо настроить объект IP failover в config-view.
Перейдите к выбору IP-адреса сетевого интерфейса, с которого будут отправляться сообщения при работе Firewall в режиме резервирования сессий, указав созданную object-group:
ESR-1(config)# ip failover ESR-1(config-failover)# local-address object-group SYNC_SRC |
Настройте IP-адреса соседа при работе резервирования сессий Firewall в unicast-режиме, указав созданную object-group:
ESR-1(config-failover)# remote-address object-group SYNC_DST |
Укажите VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при резервировании сессий Firewall:
ESR-1(config-failover)# vrrp-group 1 ESR-1(config-failover)# exit |
Объект IP failover настроен. Далее необходимо настроить Firewall failover.
Настройте режим резервирования сессий unicast:
ESR-1(config)# ip firewall failover ESR-1(config-firewall-failover)# sync-type unicast |
Настройте номер UDP-порта службы резервирования сессий Firewall:
ESR-1(config-firewall-failover)# port 9999 |
Включите резервирование сессий Firewall:
ESR-1(config-firewall-failover)# enable ESR-1(config-firewall-failover)# exit |
Для настройки правил зон безопасности создайте профиль для порта Firewall failover:
ESR-1(config)# object-group service FAILOVER ESR-1(config-object-group-service)# port-range 9999 ESR-1(config-object-group-service)# exit |
Создайте разрешающие правило для зоны безопасности SYNC, разрешив прохождение трафика Firewall failover:
ESR-1(config)# security zone-pair SYNC self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
После успешного запуска Firewall failover можно посмотреть состояние резервирования сессий Firewall с помощью следующей команды:
ESR-1# show ip firewall failover Communication interface: bridge 1 Status: Running Bytes sent: 21680 Bytes received: 21664 Packets sent: 1460 Packets received: 1463 Send errors: 0 Receive errors: 0 |
Также возможно узнать текущее состояние Firewall failover сервиса, выполнив команду:
ESR-1# show high-availability state
DHCP option 82 table:
State: Disabled
Last state change: --
DHCP server:
State: Disabled
Last state change: --
Firewall sessions and NAT translations:
Tracking VRRP Group 1
Tracking VRRP Group state: Active
State: Successful synchronization
Fault Reason: --
Last synchronization: 16:20:44 10.01.2024
ESR-1# |
DHCP-failover позволяет обеспечить высокую доступность службы DHCP.
Выполните настройку DHCP-сервера. В качестве default-router и dns-server используется IP-адрес VRRP:
ESR-1(config)# ip dhcp-server ESR-1(config)# ip dhcp-server pool TRUSTED ESR-1(config-dhcp-server)# network 192.18.3.0/24 ESR-1(config-dhcp-server)# address-range 192.18.3.50-192.18.3.100 ESR-1(config-dhcp-server)# default-router 192.18.3.1 ESR-1(config-dhcp-server)# dns-server 192.18.3.1 ESR-1(config-dhcp-server)# exit |
Разрешите получение DHCP-адресов:
ESR-1(config)# object-group service DHCP_SERVER ESR-1(config-object-group-service)# port-range 67 ESR-1(config-object-group-service)# exit ESR-1(config)# object-group service DHCP_CLIENT ESR-1(config-object-group-service)# port-range 68 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone-pair TRUSTED self ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match source-port object-group DHCP_CLIENT ESR-1(config-security-zone-pair-rule)# match destination-port object-group DHCP_SERVER ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Так как объект IP failover уже настроен на предыдущем шаге, перейдите к настройке резервирования DHCP-сервера:
ESR-1(config)# ip dhcp-server failover |
Установите режим работы резервирования:
ESR-1(config-dhcp-server-failover)# mode active-standby |
Для работы в кластере необходимо использовать режим active-standby. |
Включите DHCP-failover:
ESR-1(config-dhcp-server-failover)# enable ESR-1(config-dhcp-server-failover)# exit |
Создайте профиль для портов dhcp-server failover и установите разрешающие правила для работы сервиса:
ESR-1(config)# object-group service SYNC_MGR ESR-1(config-object-group-service)# port-range 873 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone-pair SYNC self ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule# match protocol tcp ESR-1(config-security-zone-pair-rule)# match source-port object-group SYNC_MGR ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 5 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SYNC_MGR ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Посмотреть состояние резервирования DHCP-сервера можно с помощью команды:
ESR-1# show ip dhcp server failover
VRF: --
State: Successful |
Посмотреть состояние резервирования сессий DHCP можно с помощью команды:
ESR-1# show high-availability state
DHCP option 82 table:
State: Disabled
Last state change: --
DHCP server:
VRF: --
State: Successful synchronization
Firewall sessions and NAT translations:
Tracking VRRP Group 1
Tracking VRRP Group state: Master
State: Successful synchronization
Fault Reason: --
Last synchronization: 16:33:14 10.01.2024 |
В таком режиме активный сервер выдает адреса и передает информацию о выданных адресах резервному серверу.
Протокол SNMP позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
В текущей схеме SNMP-трафик будет идти на интерфейсы Gi1/0/2.7 и Gi2/0/2.7. Необходимо настроить snmp-server и snmp-traps, чтобы удаленно получать информацию о состоянии сети и при необходимости изменять её конфигурацию.
Создайте зону безопасности для MGMT (management):
ESR-1(config)# security zone MGMT ESR-1(config-security-zone)# exit |
Откройте SNMP-порты и порт для SSH-подключения:
ESR-1(config)# object-group service SNMP ESR-1(config-object-group-service)# port-range 161 ESR-1(config-object-group-service)# port-range 162 ESR-1(config-object-group-service)# exit ESR-1(config)# object-group service SSH ESR-1(config-object-group-service)# port-range 22 ESR-1(config-object-group-service)# exit |
Укажите правила для зоны безопасности MGMT:
ESR-1(config)# security zone-pair MGMT self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol vrrp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SSH ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SNMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair MGMT IPsec_VPN ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SNMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit ESR-1(config)# security zone-pair IPsec_VPN MGMT ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SSH ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group SNMP ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Настройте MGMT-интерфейсы:
ESR-1(config)# interface gigabitethernet 1/0/2.7 ESR-1(config-if-gi)# description "Network: MGMT" ESR-1(config-if-gi)# security-zone MGMT ESR-1(config-if-gi)# ip address 192.18.7.254/24 ESR-1(config-if-gi)# vrrp id 7 ESR-1(config-if-gi)# vrrp ip 192.18.7.1/24 ESR-1(config-if-gi)# vrrp group 1 ESR-1(config-if-gi)# vrrp ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/2.7 ESR-1(config-if-gi)# description "Network: MGMT" ESR-1(config-if-gi)# security-zone MGMT ESR-1(config-if-gi)# ip address 192.18.7.253/24 ESR-1(config-if-gi)# vrrp id 7 ESR-1(config-if-gi)# vrrp ip 192.18.7.1/24 ESR-1(config-if-gi)# vrrp group 1 ESR-1(config-if-gi)# vrrp ESR-1(config-if-gi)# exit |
Management-сервер, куда должен дойти MGMT-трафик, имеет IP-адрес — 192.18.2.75, который доступен через VTI-туннели.
Создайте object-group и укажите IP-адреса с привязкой к unit, которые будут использоваться в качестве адресов, с которых будут отправляться SNMP-пакеты с ESR:
ESR-1(config)# object-group network MGMT_SRC ESR-1(config-object-group-network)# ip address-range 192.18.7.254 unit 1 ESR-1(config-object-group-network)# ip address-range 192.18.7.253 unit 2 ESR-1(config-object-group-network)# exit |
Включите SNMP-server, настройте snmp-community:
ESR-1(config)# snmp-server ESR-1(config)# snmp-server system-shutdown ESR-1(config)# snmp-server community MGMT client-list MGMT_SRC rw |
Настройте SNMP-сервер:
ESR-1(config)# snmp-server host 192.18.2.75 ESR-1(config-snmp-host)# source-address object-group MGMT_SRC ESR-1(config-snmp-host)# exit |
Настройте SNMP-уведомления на команды конфигурирования commit/confirm:
ESR-1(config)# snmp-server enable traps config ESR-1(config)# snmp-server enable traps config commit ESR-1(config)# snmp-server enable traps config confirm |
Syslog — стандарт отправки и регистрации сообщений о происходящих в системе событиях, используется в сетях, работающих по протоколу IP.
В текущей схеме Syslog настраивается для удаленного получения информации о событиях в сети.
Настройте локальную ротацию логов уровня info, а также отправку логов уровня info на удаленный syslog-server. В качестве source-address используйте созданную object-group для MGMT:
ESR-1(config)# syslog max-files 3 ESR-1(config)# syslog file-size 512 ESR-1(config)# syslog file tmpsys:syslog/default ESR-1(config-syslog-file)# severity info ESR-1(config-syslog-file)# exit ESR-1(config)# syslog host MGMT ESR-1(config-syslog-host)# remote-address 192.18.2.75 ESR-1(config-syslog-host)# severity info ESR-1(config-syslog-host)# source-address object-group MGMT_SRC ESR-1(config-syslog-host)# exit |
Netflow — сетевой протокол, предназначенный для учета и анализа трафика. Netflow позволяет передавать данные о трафике (адрес отправителя и получателя, порт, количество информации и др.) с сетевого оборудования (сенсора) на коллектор. В качестве коллектора может использоваться обычный сервер.
В текущей схеме Netflow настраивается для контроля объема трафика в сети.
Организуйте учет трафика на интерфейсах Gi1/0/2 и Gi2/0/2.
Укажите IP-адрес коллектора:
ESR-1(config)# netflow collector 192.18.2.75 ESR-1(config-netflow-host)# exit |
Включите сбор экспорта статистики Netflow на сетевых интерфейсах Gi1/0/2 и Gi2/0/2:
ESR-1(config)# interface gigabitethernet 1/0/2 ESR-1(config-if-gi)# ip netflow export ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/2 ESR-1(config-if-gi)# ip netflow export ESR-1(config-if-gi)# exit |
Активируйте Netflow на маршрутизаторе:
ESR-1(config)# netflow enable |
Для просмотра статистики Netflow используется команда:
ESR-1# show netflow statistics |
На маршрутизаторах ESR предусмотрена функция локального и/или удаленного копирования конфигурации по таймеру или при применении конфигурации.
В примере ниже рассмотрена настройка локального и удаленного резервного копирования конфигурации маршрутизатора 1 раз в сутки и при успешном изменении конфигурации. Удаленные копии отправляются на TFTP-сервер 192.18.2.75 в подпапку esr-example. Максимальное количество локальных копий — 30.
Перейдите в режим настройки резервного копирования конфигураций:
ESR-1(config)# archive |
Задайте режим локального и удаленного резервного копирования конфигурации:
ESR-1(config-archive)# type both |
Настройте путь для удаленного копирования конфигураций и максимальное количество локальных резервных копий:
ESR-1(config-archive)# path tftp://192.18.2.75:/esr-example/esr-example.cfg ESR-1(config-archive)# count-backup 30 |
Задайте интервал резервного копирования конфигурации в случае отсутствия изменений:
ESR-1(config-archive)# time-period 1440 |
Включите режимы архивации конфигурации маршрутизатора по таймеру и при успешном изменении конфигурации:
ESR-1(config-archive)# auto ESR-1(config-archive)# by-commit ESR-1(config-archive)# exit |
После применения данной конфигурации 1 раз в сутки и при каждом успешном изменении конфигурации маршрутизатора на TFTP-сервер будет отправляться конфигурационный файл с именем вида "esr-exampleYYYYMMDD_HHMMSS.cfg". Также на самом маршрутизаторе в разделе flash:backup/ будет создаваться файл с именем вида "config_YYYYMMDD_HHMMSS". Когда в разделе flash:backup/ накопится 30 таких файлов, при создании нового будет удаляться наиболее старый.
DNS — это распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста, получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене.
Создайте статическую DNS-запись.
Включите разрешение DNS-имен:
ESR-1(config)# domain lookup enable |
Назначьте имя домена для маршрутизатора.
Определите IP-адрес DNS-сервера, используемого для разрешения DNS-имен:
ESR-1(config)# domain name-server 192.18.2.75 |
Откройте DNS-порт:
ESR-1(config)# object-group service DNS_SERVER ESR-1(config-object-group-service)# port-range 53 ESR-1(config-object-group-service)# exit |
Добавьте разрешающее правило для работы DNS:
ESR-1(config)# security zone-pair TRUSTED self ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group DNS_SERVER ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Функция Source NAT (SNAT) используется для подмены адреса источника у пакетов, проходящих через сетевой шлюз. При прохождении пакетов из локальной сети в публичную сеть адрес источника заменяется на один из публичных адресов шлюза. Дополнительно к адресу источника может применяться замена порта источника. При прохождении пакетов из публичной сети в локальную происходит обратная подмена адреса и порта.
В текущей схеме SNAT используется для предоставления доступа в Интернет хостам, находящимся в локальной сети.
Создайте список IP-адресов, которые будут иметь возможность выхода в Интернет. Так как в локальной сети работает DHCP-сервер и раздает адреса 192.168.3.50-192.168.3.100, то именно они и получат возможность выхода в Интернет:
ESR-1(config)# object-group network INTERNET_USERS ESR-1(config-object-group-network)# ip address-range 192.168.3.50-192.168.3.100 ESR-1(config-object-group-network)# exit |
Добавьте правило, где включена проверка адреса источника данных на принадлежность к диапазону адресов INTERNET_USERS, для соблюдения ограничения на выход в публичную сеть:
ESR-1(config)# security zone-pair TRUSTED ISP1_ISP2 ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match source-address object-group INTERNET_USERS ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Создайте набор правил SNAT. В атрибутах набора укажите, что правила применяются только для пакетов, направляющихся в зону ISP1_ISP2. Правила включают проверку адреса источника данных на принадлежность к пулу INTERNET_USERS и задают трансляцию в IP-адрес интерфейса:
ESR-1(config)# nat source ESR-1(config-snat)# ruleset SNAT_ISP1_ISP2 ESR-1(config-snat-ruleset)# to zone ISP1_ISP2 ESR-1(config-snat-ruleset)# rule 1 ESR-1(config-snat-rule)# match source-address object-group INTERNET_USERS ESR-1(config-snat-rule)# action source-nat interface ESR-1(config-snat-rule)# enable ESR-1(config-snat-rule)# exit ESR-1(config-snat-ruleset)# exit ESR-1(config-snat)# exit |
Функция Destination NAT (DNAT) состоит в преобразовании IP-адреса назначения у пакетов, проходящих через сетевой шлюз. DNAT используется для перенаправления трафика, идущего на некоторый «виртуальный» адрес в публичной сети, на «реальный» сервер в локальной сети, находящийся за сетевым шлюзом.
В текущей схеме DNAT используется для организации публичного доступа к серверу, находящемуся в частной сети и не имеющему публичного сетевого адреса.
Сконфигурируйте интерфейс в сторону DMZ-сервера в зоне безопасности DMZ:
ESR-1(config)# security zone DMZ ESR-1(config-zone)# exit ESR-1(config)# interface gigabitethernet 1/0/2.10 ESR-1(config-subif)# description "Network: DMZ" ESR-1(config-subif)# security-zone DMZ ESR-1(config-subif)# ip address 192.18.10.254/24 ESR-1(config-subif)# vrrp id 10 ESR-1(config-subif)# vrrp ip 192.18.10.1/24 ESR-1(config-subif)# vrrp group 1 ESR-1(config-subif)# vrrp ESR-1(config-subif)# exit ESR-1(config)# interface gigabitethernet 2/0/2.10 ESR-1(config-subif)# description "Network: DMZ" ESR-1(config-subif)# security-zone DMZ ESR-1(config-subif)# ip address 192.18.10.253/24 ESR-1(config-subif)# vrrp id 10 ESR-1(config-subif)# vrrp ip 192.18.10.1/24 ESR-1(config-subif)# vrrp group 1 ESR-1(config-subif)# vrrp ESR-1(config-subif)# exit |
Создайте профиль адресов публичной сети:
ESR-1(config)# object-group network EXTERNAL_VIPS ESR-1(config-object-group-network)# ip address-range 192.18.4.2 ESR-1(config-object-group-network)# ip address-range 192.18.5.2 ESR-1(config-object-group-network)# exit |
Создайте профиль портов:
ESR-1(config)# object-group service SERVER_DMZ ESR-1(config-object-group-service)# port-range 80 ESR-1(config-object-group-service)# exit |
Войдите в режим конфигурирования DNAT и создайте пул адресов, в которые будут транслироваться адреса пакетов, поступающие на адреса 192.18.4.2 и 192.18.5.2 из внешней сети:
ESR-1(config)# nat destination ESR-1(config-dnat)# pool SERVER_DMZ ESR-1(config-dnat-pool)# ip address 192.18.10.75 ESR-1(config-dnat-pool)# exit |
Создайте набор правил «DNAT», в соответствии с которыми будет производиться трансляция адресов. В атрибутах набора укажите, что правила применяются только для пакетов, пришедших из зоны ISP1_ISP2. Набор правил включает в себя требования соответствия данных по адресу и порту назначения (match destination-address, match destination-port) и по протоколу. Кроме этого, в наборе задано действие, применяемое к данным, удовлетворяющим всем правилам (action destination-nat):
ESR-1(config-dnat)# ruleset DNAT_SERVER_DMZ ESR-1(config-dnat-ruleset)# from zone ISP1_ISP2 ESR-1(config-dnat-ruleset)# rule 1 ESR-1(config-dnat-rule)# match protocol tcp ESR-1(config-dnat-rule)# match destination-address object-group EXTERNAL_VIPS ESR-1(config-dnat-rule)# match destination-port object-group SERVER_DMZ ESR-1(config-dnat-rule)# action destination-nat pool SERVER_DMZ ESR-1(config-dnat-rule)# enable ESR-1(config-dnat-rule)# exit ESR-1(config-dnat-ruleset)# rule 2 ESR-1(config-dnat-rule)# match protocol udp ESR-1(config-dnat-rule)# match destination-address object-group EXTERNAL_VIPS ESR-1(config-dnat-rule)# match destination-port object-group SERVER_DMZ ESR-1(config-dnat-rule)# action destination-nat pool SERVER_DMZ ESR-1(config-dnat-rule)# enable ESR-1(config-dnat-rule)# exit ESR-1(config-dnat-ruleset)# exit ESR-1(config-dnat)# exit |
Для пропуска трафика, идущего из зоны ISP1_ISP2 в DMZ, создайте еще одно правило. Пропускать следует только трафик, прошедший преобразование DNAT:
ESR-1(config)# security zone-pair ISP1_ISP2 DMZ ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# match destination-nat ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (далее АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.
Для установлении BGP-сессии необходимо в firewall разрешить TCP-порт 179. |
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Настроить приоритетность протокола BGP-маршрутизации для основной таблицы маршрутизации (не обязательно). | esr(config)# ip protocols bgp preference <VALUE> | <VALUE> – приоритетность протокола, принимает значения в диапазоне [1..255]. Значение по умолчанию: BGP (170). |
2 | Настроить емкость таблиц маршрутизации протокола BGP (не обязательно при использовании глобальной таблицы маршрутизации). | esr(config)# ip protocols bgp max-routes <VALUE> | <VALUE> – количество маршрутов протокола BGP в маршрутной таблице, принимает значения в диапазоне:
Значение по умолчанию для глобальной таблицы маршрутизации:
Значение по умолчанию для VRF: 0. |
esr(config)# ipv6 protocols bgp max-routes <VALUE> | |||
esr(config-vrf)# ip protocols bgp max-routes <VALUE> | |||
esr(config-vrf)# ipv6 protocols bgp max-routes <VALUE> | |||
3 | Включить вывод информации о состоянии отношений с соседями для протокола маршрутизации BGP (не обязательно). | esr(config)# router bgp log-neighbor-changes | |
esr(config)# ipv6 router bgp log-neighbor-changes | |||
4 | Включить ECMP и определяется максимальное количество равноценных маршрутов до цели. | esr(config)# router bgp maximum-paths <VALUE> | <VALUE> – количество допустимых равноценных маршрутов до цели, принимает значения [1..16]. |
5 | Выбрать метод фильтрации для передаваемой информации между роутерами (обязательно при конфигурировании eBGP для анонсирования подсетей). | ||
5.1.1 | При выборе метода фильтрации на основе route-map создать список правил, который в дальнейшем будет использоваться для фильтрации анонсируемых и получаемых IP-маршрутов. | esr(config)# route-map <NAME> | <NAME> – имя конфигурируемых правил маршрутизации, задаётся строкой до 31 символа. |
5.1.2 | Создать правило. | (config-route-map)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1 .. 10000]. |
5.1.3 | Определить список подсетей, которые затрагиваются правилом. | esr(config-route-map-rule)#match ip address { <ADDR/LEN> | object-group <OBJ-GRP-NETNAME> } [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ] | <ADDR/LEN> – IP-адрес и маска подсети, задается в виде:
<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задается в виде:
<OBJ-GRP-NETNAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. При использовании фильтрации по object-group их необходимо создать заранее; <LEN>, <LEN 1>, <LEN 2> – длина префикса, принимает значения [1..32] в IP-списках префиксов для IPv4 и [1..128] для IPv6; eq – при указании команды длина префикса должна соответствовать указанной; le – при указании команды длина префикса должна быть меньше либо соответствовать указанной; ge – при указании команды длина префикса должна быть больше либо соответствовать указанной; ge <LEN 1> le <LEN 2> – при указании команды длина префикса должна быть больше либо соответствовать <LEN>, но меньше или равна <LEN1>. |
esr(config-route-map-rule)#match ipv6 address { <IPV6-ADDR/LEN> | object-group <OBJ-GRP-NETNAME> } [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ] | |||
5.1.4 | Разрешить (permit) или запретить (deny) действие для указанных подсетей в правиле. | esr(config-route-map-rule)# action {deny | permit} | |
5.2.1 | При выборе метода фильтрации на основе префикс-листов создать списки IP-подсетей, которые в дальнейшем будут использоваться для фильтрации анонсируемых и получаемых IP-маршрутов. | esr(config)# ip prefix-list <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
esr(config)# ipv6 prefix-list <NAME> | |||
5.2.2 | Разрешить (permit) или запретить (deny) списки префиксов. | esr(config-pl)# permit { <ADDR/LEN> | object-group <OBJ-GRP-NETNAME>} [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ] | <ADDR/LEN> – IP-адрес и маска подсети, задается в виде:
<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задаётся в виде:
<OBJ-GRP-NETNAME> – имя профиля IP-адресов, задаётся строкой до 31 символа. При использовании фильтрации по object-group их необходимо создать заранее; <LEN>, <LEN 1>, <LEN 2> – длина префикса, принимает значения [1..32] в IP-списках префиксов для IPv4 и [1..128] для IPv6; eq – при указании команды длина префикса должна соответствовать указанной; le – при указании команды длина префикса должна быть меньше либо соответствовать указанной; ge – при указании команды длина префикса должна быть больше либо соответствовать указанной; ge <LEN 1> le <LEN 2> – при указании команды длина префикса должна быть больше либо соответствовать <LEN> но меньше или равна <LEN1>. |
esr(config-pl)# deny {<ADDR/LEN> | object-group <OBJ-GRP-NETNAME>} [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ] | |||
esr(config-ipv6-pl)# permit { <IPV6-ADDR/LEN> | object-group <OBJ-GRP-NETNAME>} [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ] | |||
esr(config-ipv6-pl)# deny {<IPV6-ADDR/LEN> | object-group <OBJ-GRP-NETNAME> } [ { eq <LEN> | le <LEN> | ge <LEN 1> [ le <LEN 2> ] } ] | |||
6 | Добавить BGP-процесс в систему и осуществить переход в режим настройки параметров BGP-процесса. | esr(config)# router bgp <AS> | <AS> – номер автономной системы процесса, принимает значения [1..4294967295]. |
7 | Установить идентификатор маршрутизатора. | esr(config-bgp)# router-id { <ID> | <IF> | <TUN> } | <ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <IF> – интерфейс, задаётся в виде, описанном в разделе <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
8 | Установить идентификатор Route-Reflector кластера, которому принадлежит BGP-процесс маршрутизатора (при необходимости). | esr(config-bgp)# cluster-id <ID> | <ID> – идентификатор Route-Reflector кластера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
9 | Включить генерацию и отправку маршрута по умолчанию, если маршрут по умолчанию есть в таблице маршрутизации FIB (не обязательно). | esr(config-bgp)# default-information-originate | |
10 | Установить временной интервал, по истечении которого идет проверка соединения со встречной стороной (не обязательно). | esr(config-bgp-af)# timers keeaplive <TIME> | <TIME> – время в секундах, принимает значения [1..32767]. Значение по умолчанию: 60 секунд. |
11 | Установить временной интервал, по истечении которого встречная сторона считается недоступной (не обязательно). | esr(config-bgp-af)# timers holdtime <TIME> | <TIME> – время в секундах, принимает значения [2..65535]. Значение по умолчанию: 180 секунд. |
12 | Установить время минимальной и максимальной задержки, в течение которого запрещено устанавливать соединение, в целях защиты от частых разрывов соединения (не обязательно). | esr(config-bgp)# timers error-wait <TIME1> <TIME2> | <TIME1> – время минимальной задержки в секундах, принимает значения [1..65535]; <TIME2> – время максимальной задержки в секундах, принимает значения [1..65535]. |
13 | Определить глобальный алгоритм аутентификации с соседями (при необходимости). | esr(config-bgp)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования:
Значение по умолчанию: шифрование не используется. |
14 | Установить глобальный пароль для аутентификации с соседями (используется совместно с "authentication algorithm"). | esr(config-bgp)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
15 | Активировать BGP-процесс. | esr(config-bgp)# enable | |
16 | Определить тип конфигурируемой маршрутной информации и перейти в данный режим настройки. | esr(config-bgp)# address-family { ipv4 | ipv6 } unicast | ipv 4 – семейство IPv4; ipv 6 – семейство IPv6. |
17 | Включить анонсирование маршрутов процессом BGP полученных альтернативным образом (при необходимости). | esr(config-bgp-af)# redistribute static [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых статических маршрутов, задаётся строкой до 31 символа. |
esr(config-bgp-af)# redistribute connected [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых напрямую подключенных подсетей, задаётся строкой до 31 символа. | ||
esr(config-bgp-af)# redistribute rip [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых RIP-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-bgp-af)# redistribute ospf <ID> <ROUTE-TYPE 1> [<ROUTE-TYPE 2>] [<ROUTE-TYPE 3>] [<ROUTE-TYPE 4>] [ route-map <NAME> ] | <ID> – номер процесса, может принимать значение {1..65535}; <ROUTE-TYPE> – тип маршрута:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых OSPF-маршрутов, задаётся строкой до 31 символа. | ||
esr(config-bgp-af)# redistribute bgp <AS> [ route-map <NAME> ] | <AS> – номер автономной системы, может принимать значения [1..4294967295]; <NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. | ||
18 | Включить анонсирование подсетей. | esr(config-bgp-af)# network <ADDR/LEN> [ route-map <NAME> ] | <ADDR/LEN> – адрес подсети, указывается в одном из следующих формате:
<NAME> – имя маршрутной карты, которая будет использоваться для фильтрации и модификации анонсируемых BGP-маршрутов, задаётся строкой до 31 символа. |
19 | Осуществить выход из режима глобального конфигурирования анонсов маршрутной информации процесса BGP | esr(config-bgp-af)# exit | |
20 | Добавить BGP-соседа и осуществить переход в режим настройки параметров BGP-соседа. | esr(config-bgp)# neighbor <ADDR>|<IPV6-ADDR> | <ADDR> – IP-адрес соседа, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. |
21 | Задать описание соседа (не обязательно). | esr(config-bgp-neighbor)# description <DESCRIPTION> | <DESCRIPTION> – описание соседа, задаётся строкой до 255 символов. |
22 | Установить временной интервал, по истечении которого идет проверка соединения со встречной стороной | esr(config-bgp-neighbor)# timers keepalive <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 60 секунд. |
23 | Установить временной интервал, по истечении которого встречная сторона считается недоступной (не обязательно). | esr(config-bgp- neighbor)# timers holdtime <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 180 секунд. |
24 | Установить время минимальной и максимальной задержки, в течение которого запрещено устанавливать соединение, в целях защиты от частых разрывов соединения (не обязательно). | esr(config-bgp)# timers error-wait <TIME1> <TIME2> | <TIME1> – время минимальной задержки в секундах, принимает значения [1..65535]; <TIME2> – время максимальной задержки в секундах, принимает значения [1..65535]. Значение по умолчанию: 60 и 300 секунд. |
25 | Установить номер автономной системы BGP-соседа. | esr(config-bgp-neighbor)# remote-as <AS> | <AS> – номер автономной системы, принимает значения [1..4294967295]. |
26 | Разрешить подключение к соседям, которые находятся не в напрямую подключенных подсетях (не обязательно). | esr(config-bgp-neighbor)# ebgp-multihop <NUM> | <NUM> – максимальное количество хопов при установке EBGP (используется для TTL). |
27 | Указать, что BGP-сосед является Route-Reflector клиентом (не обязательно). | esr(config-bgp-neighbor)# route-reflector-client | |
28 | Задать IP/IPv6-адрес маршрутизатора, который будет использоваться в качестве IP/IPv6-адреса источника в отправляемых обновлениях маршрутной информации BGP (не обязательно). | esr(config-bgp-neighbor)# update-source { <ADDR> | <IPV6-ADDR> | <IF> | <TUN> } | <ADDR> – IP-адрес источника, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес источника, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. <IF> – интерфейс, задаётся в виде, описанном в разделе <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
29 | Включить режим, в котором разрешен приём маршрутов в BGP-атрибуте, AS Path которых содержит номера автономной системы процесса (не обязательно). | esr(config-bgp-neighbor)# allow-local-as <NUMBER> | <NUMBER> – пороговое число вхождений номера автономной системы процесса в атрибуте AS Path, при которых маршрут будет принят, диапазон допустимых значений [1..10]. |
30 | Включить BFD-протокол на конфигурируемом BGP-соседе (не обязательно, используется совместно с параметром update-source). | esr(config-bgp-neighbor)# bfd-enable | |
31 | Определить алгоритм аутентификации с соседом (не обязательно). | esr(config-bgp-neighbor)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования: md5 – пароль шифруется по алгоритму md5. |
32 | Установить пароль для аутентификации с соседом (не обязательно). | esr(config-bgp-neighbor)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
33 | Сделать соседство активным. | esr(config-bgp-neighbor)# enable | |
34 | Определить тип конфигурируемой маршрутной информации соседа и перейти в данный режим настройки. | esr(config-bgp-neighbor)# address-family { ipv4 | ipv6 | vpnv4 } unicast | ipv 4 – семейство IPv4; ipv 6 – семейство IPv6; vpnv4 – семейство VPNv4. |
35 | При выборе режима фильтрации на основе префикс-листов добавить фильтрацию подсетей во входящих или исходящих обновлениях (обязательно при конфигурировании eBGP для анонсирования подсетей). | esr(config-bgp-neighbor-af)# prefix-list <PREFIX-LIST-NAME> { in | out } | <PREFIX-LIST-NAME> – имя сконфигурированного списка подсетей, задаётся строкой до 31 символа. in – фильтрация входящих маршрутов; out – фильтрация анонсируемых маршрутов. |
36 | Задать режим, в котором BGP-соседу в обновлении на ряду с другими маршрутами всегда отправляется маршрут по умолчанию. (не обязательно, отсутствует для vpnv4). | esr(config-bgp-neighbor-af)# default-originate | |
37 | Задать режим, в котором все обновления отправляются BGP-соседу с указанием в качестве next-hop IP-адреса исходящего интерфейса локального маршрутизатора. По умолчанию изменяет next-hop только eBGP-маршрутов (не обязательно, отсутствует для vpnv4). | esr(config-bgp-neighbor-af)# next-hop-self [ all ] | all – заменить next-hop для eBGP-, iBGP-маршрутов. |
38 | Определить приоритетность маршрутов, получаемых от соседа (не обязательно). | esr(config-bgp-neighbor-af)# preference <VALUE> | <VALUE> – приоритетность маршрутов соседа, принимает значения в диапазоне [1..255]. Значение по умолчанию: 170. |
39 | Задать режим, в котором перед отправлением обновления из BGP-атрибута AS Path маршрутов удаляются приватные номера автономных систем (в соответствии с RFC 6996) (не обязательно, отсутствует для vpnv4). | esr(config-bgp-neighbor-af)# remove-private-as [ { all | nearest | replace } ] | all – удалить все частные номера AS из AS-path; nearest – заменить ближайшие частные AS в AS-path на рядом стоящую публичную AS; replace – заменить все частные номера AS номером текущего процесса BGP. Значение по умолчанию: all. |
40 | Включить обмен маршрутной информацией. | esr(config-bgp-neighbor-af)# enable | |
| 41 | Задать режим, в котором маршрутизатор будет представляться указанным номером автономной системы вместо реального номера автономной системы (не обязательно). | esr(config-bgp-neighbor)# local-as <AS> | <AS> – номер автономной системы, принимает значения [1..4294967295]. |
| 42 | Не добавлять указанный в local-as номер автономной системы в AS-Path при приёме маршрута (не обязательно). | esr(config-bgp-local-as)# no-prepend | |
| 43 | Добавлять в AS-Path только номер автономной системы, указанный в local-as (не обязательно). | esr(config-bgp-local-as)# replace-as | |
| 44 | Включить агрегирование маршрутной информации (не обязательно). | esr(config-bgp)# aggregate-address { <ADDR/LEN> | <IPV6-ADDR/LEN } | <ADDR/LEN> – IP-адрес и маска подсети, задается в виде:
<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задается в виде:
|
| 45 | Задать route-map для установки дополнительных условий агрегирования маршрутов (не обязательно). | esr(config-bgp-aggregate)# advertise-map [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для задания условий агрегирования BGP-маршрутов, задаётся строкой до 31 символа. |
| 46 | Добавлять в AS-Path агрегированного маршрута номера автономных систем из AS-Path его компонентов (не обязательно). | esr(config-bgp-aggregate)# as-set | |
| 47 | Задать route-map для установки дополнительных атрибутов агрегированного маршрута (не обязательно). | esr(config-bgp-aggregate)# attribute-map [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для задания атрибутов агрегированного BGP-маршрута, задаётся строкой до 31 символа. |
| 48 | Подавлять все компоненты агрегированного маршрута (не обязательно). | esr(config-bgp-aggregate)# summary-only | |
| 49 | Задать route-map для подавления компонентов агрегированного маршрута (не обязательно). | esr(config-bgp-aggregate)# suppress-map [ route-map <NAME> ] | <NAME> – имя маршрутной карты, которая будет использоваться для задания подавляемых компонентов агрегированного BGP-маршрута, задаётся строкой до 31 символа. |
| 50 | Задать возможность динамически устанавливать BGP-сессию без указания конкретного адреса соседа. Соседство может быть установлено с любым адресом, попадающим в указанную подсеть (не обязательно). | esr(config-bgp-aggregate)# listen-range { <ADDR/LEN> | <IPV6-ADDR/LEN } | <ADDR/LEN> – IP-адрес и маска подсети, задается в виде:
<IPV6-ADDR/LEN> – IPv6-адрес и маска подсети, задается в виде:
|
| 51 | Разрешить возможность динамической установки BGP-сессии только с соседями, которые имеют определённые номера AS. | esr(config-bgp-listen)# as-range <AS-PATH> | <AS-PATH> – список номеров автономных систем, задается в виде AS-AS,AS,AS-AS, принимает значения [1..4294967295]. |
Часто бывает, особенно при конфигурировании iBGP, что в одном bgp-процессе необходимо настроить несколько bgp neighbor с одинаковыми параметрами. Во избежание избыточности конфигурации рекомендуется использовать bgp peer-group, в которой возможно описать общие параметры, а в конфигурации bgp neighbor просто указать причастность к bgp peer-group. |
Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.1/24 unit 1
ip address 198.51.100.2/24 unit 2
vrrp id 1
vrrp ip 198.51.100.254/24
vrrp group 1
vrrp
enable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 1/0/3
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
exit
interface gigabitethernet 2/0/3
mode switchport
spanning-tree disable
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
enable
exit
exit |
Сконфигурируем необходимые сетевые интерфейсы:
ESR-1(config)# interface gigabitethernet 1/0/1 ESR-1(config-if-gi)# ip address 203.0.113.254/24 ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/1 ESR-1(config-if-gi)# ip address 203.0.113.253/24 ESR-1(config-if-gi)# exit |
Сконфигурируем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN:
ESR-1(config)# object-group service og_bgp ESR-1(config-object-group-service)# port-range 179 ESR-1(config-object-group-service)# exit ESR-1(config)# security zone WAN ESR-1(config-security-zone)# exit ESR-1(config)# security zone-pair WAN self ESR-1(config-security-zone-pair)# rule 1 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol vrrp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol ah ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 3 ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol icmp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 4 ESR-1(config-security-zone-pair-rule)# match protocol tcp ESR-1(config-security-zone-pair-rule)# match destination-port object-group og_bgp ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit |
И укажем принадлежность интерфейсов к зоне безопасности:
ESR-1(config)# interface gigabitethernet 1/0/1 ESR-1(config-if-gi)# security-zone WAN ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/1 ESR-1(config-if-gi)# security-zone WAN ESR-1(config-if-gi)# exit |
Настроем vrrp адрес на интерфейсе, с которого в дальнейшем будем строить BGP соседство:
ESR-1(config)# interface gigabitethernet 1/0/1 ESR-1(config-if-gi)# vrrp id 4 ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24 ESR-1(config-if-gi)# vrrp group 1 ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D ESR-1(config-if-gi)# vrrp authentication algorithm md5 ESR-1(config-if-gi)# vrrp ESR-1(config-if-gi)# exit ESR-1(config)# interface gigabitethernet 2/0/1 ESR-1(config-if-gi)# vrrp id 4 ESR-1(config-if-gi)# vrrp ip 203.0.113.1/24 ESR-1(config-if-gi)# vrrp group 1 ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D ESR-1(config-if-gi)# vrrp authentication algorithm md5 ESR-1(config-if-gi)# vrrp ESR-1(config-if-gi)# exit |
Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS:
ESR-1(config)# route-map bgp-out ESR-1(config-route-map)# rule 1 ESR-1(config-route-map-rule)# match ip address 198.51.100.0/24 ESR-1(config-route-map-rule)# action deny ESR-1(config-route-map-rule)# exit ESR-1(config-route-map)# rule 2 ESR-1(config-route-map-rule)# exit ESR-1(config-route-map)# exit |
Создадим BGP процесс для AS 2500 и войдем в режим конфигурирования параметров процесса:
ESR-1(config)# router bgp 2500 |
Сконфигурируем анонсирование подсетей, подключенных напрямую:
ESR-1(config-bgp)# address-family ipv4 unicast ESR-1(config-bgp-af)# redistribute connected ESR-1(config-bgp-af)# exit |
Создадим по eBGP с вышестоящим роутером:
ESR-1(config-bgp)# neighbor 203.0.113.2 ESR-1(config-bgp-neighbor)# remote-as 3000 ESR-1(config-bgp-neighbor)# update-source 203.0.113.1 |
И включим обмен IPv4-маршрутами:
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast ESR-1(config-bgp-neighbor-af)# route-map bgp-out out ESR-1(config-bgp-neighbor-af)# enable ESR-1(config-bgp-neighbor-af)# exit |
Включим работу протокола:
ESR-1(config-bgp-neighbor)# enable ESR-1(config-bgp-neighbor)# exit |
Информацию о BGP-пирах можно посмотреть командой:
esr# show bgp neighbors |
Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:
esr# show bgp ipv4 unicast |
В случае выхода из строя Active устройства, BGP будет полностью переустанавливаться со Standby устройством. |
cluster
cluster-interface bridge 1
unit 1
mac-address e4:5a:d4:a0:be:35
exit
unit 2
mac-address a8:f9:4b:af:35:84
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
object-group service ISAKMP
port-range 500
port-range 4500
exit
object-group service FAILOVER
port-range 9999
exit
object-group service DHCP_SERVER
port-range 67
exit
object-group service DHCP_CLIENT
port-range 68
exit
object-group service SYNC_MGR
port-range 873
exit
object-group service SNMP
port-range 161
port-range 162
exit
object-group service SSH
port-range 22
exit
object-group service DNS_SERVER
port-range 53
exit
object-group service SERVER_DMZ
port-range 80
exit
object-group network SYNC_SRC
ip address-range 192.18.1.254 unit 1
ip address-range 192.18.1.253 unit 2
exit
object-group network SYNC_DST
ip address-range 192.18.1.253 unit 1
ip address-range 192.18.1.254 unit 2
exit
object-group network MGMT_SRC
ip address-range 192.18.7.254 unit 1
ip address-range 192.18.7.253 unit 2
exit
object-group network INTERNET_USERS
ip address-range 192.168.3.50-192.168.3.100
exit
object-group network EXTERNAL_VIPS
ip address-range 192.18.4.2
ip address-range 192.18.5.2
exit
syslog max-files 3
syslog file-size 512
syslog file tmpsys:syslog/default
severity info
exit
syslog host MGMT
remote-address 192.18.2.75
severity info
source-address object-group MGMT_SRC
exit
netflow collector 192.18.2.75
exit
netflow enable
domain lookup enable
domain name-server 192.18.2.75
security zone SYNC
exit
security zone ISP1_ISP2
exit
security zone TRUSTED
exit
security zone IPsec_VPN
exit
security zone MGMT
exit
security zone DMZ
exit
wan load-balance target-list ISP1_ISP2
target 1
resp-time 1
ip address 8.8.8.8
enable
exit
exit
wan load-balance target-list MGMT
target 1
resp-time 1
ip address 192.18.2.75
enable
exit
exit
bridge 1
vlan 1
security-zone SYNC
ip address 192.18.1.254/24 unit 1
ip address 192.18.1.253/24 unit 2
vrrp id 1
vrrp ip 192.18.1.1/24
vrrp group 1
vrrp
enable
exit
interface gigabitethernet 1/0/1
description "Network: SYNC"
mode switchport
exit
interface gigabitethernet 1/0/2
description "Network: TRUSTED"
security-zone TRUSTED
ip netflow export
ip address 192.18.3.254/24
vrrp id 3
vrrp ip 192.18.3.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/2.7
description "Network: MGMT"
security-zone MGMT
ip address 192.18.7.254/24
vrrp id 7
vrrp ip 192.18.7.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/2.10
description "Network: DMZ"
security-zone DMZ
ip address 192.18.10.254/24
vrrp id 10
vrrp ip 192.18.10.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3.111
description "Network: ISP1"
security-zone ISP1_ISP2
ip address 192.18.4.254/24
vrrp id 111
vrrp ip 192.18.4.2/24
vrrp group 1
vrrp
wan load-balance nexthop 192.18.4.1
wan load-balance success-count 1
wan load-balance target-list ISP1_ISP2
wan load-balance enable
exit
interface gigabitethernet 1/0/3.222
description "Network: ISP2"
security-zone ISP1_ISP2
ip address 192.18.5.254/24
vrrp id 222
vrrp ip 192.18.5.2/24
vrrp group 1
vrrp
wan load-balance nexthop 192.18.5.1
wan load-balance success-count 1
wan load-balance target-list ISP1_ISP2
wan load-balance enable
exit
interface gigabitethernet 2/0/1
description "Network: SYNC"
mode switchport
exit
interface gigabitethernet 2/0/2
description "Network: TRUSTED"
security-zone TRUSTED
ip netflow export
ip address 192.18.3.253/24
vrrp id 3
vrrp ip 192.18.3.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/2.7
description "Network: MGMT"
security-zone MGMT
ip address 192.18.7.253/24
vrrp id 7
vrrp ip 192.18.7.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/2.10
description "Network: DMZ"
security-zone DMZ
ip address 192.18.10.253/24
vrrp id 10
vrrp ip 192.18.10.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3.111
description "Network: ISP1"
security-zone ISP1_ISP2
ip address 192.18.4.253/24
vrrp id 111
vrrp ip 192.18.4.2/24
vrrp group 1
vrrp
wan load-balance nexthop 192.18.4.1
wan load-balance success-count 1
wan load-balance target-list ISP1_ISP2
wan load-balance enable
exit
interface gigabitethernet 2/0/3.222
description "Network: ISP2"
security-zone ISP1_ISP2
ip address 192.18.5.253/24
vrrp id 222
vrrp ip 192.18.5.2/24
vrrp group 1
vrrp
wan load-balance nexthop 192.18.5.1
wan load-balance success-count 1
wan load-balance target-list ISP1_ISP2
wan load-balance enable
exit
tunnel vti 1
security-zone IPsec_VPN
local address 192.18.4.2
remote address 192.18.4.1
ip address 192.18.11.1/24
wan load-balance nexthop 192.18.11.2
wan load-balance success-count 1
wan load-balance target-list MGMT
wan load-balance enable
enable
exit
tunnel vti 2
security-zone IPsec_VPN
local address 192.18.5.2
remote address 192.18.5.1
ip address 192.18.12.1/24
wan load-balance nexthop 192.18.12.2
wan load-balance success-count 1
wan load-balance target-list MGMT
wan load-balance enable
enable
exit
snmp-server
snmp-server system-shutdown
snmp-server community MGMT client-list MGMT_SRC rw
snmp-server host 192.18.2.75
source-address object-group MGMT_SRC
exit
snmp-server enable traps config
snmp-server enable traps config commit
snmp-server enable traps config confirm
ip failover
local-address object-group SYNC_SRC
remote-address object-group SYNC_DST
vrrp-group 1
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol udp
match destination-port object-group FAILOVER
enable
exit
rule 4
action permit
match protocol tcp
match source-port object-group SYNC_MGR
enable
exit
rule 5
action permit
match protocol tcp
match destination-port object-group SYNC_MGR
enable
exit
exit
security zone-pair ISP1_ISP2 self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol esp
enable
exit
rule 4
action permit
match protocol udp
match source-port object-group ISAKMP
match destination-port object-group ISAKMP
enable
exit
exit
security zone-pair TRUSTED self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
rule 4
action permit
match protocol udp
match destination-port object-group DNS_SERVER
enable
exit
exit
security zone-pair IPsec_VPN self
rule 1
action permit
match protocol icmp
enable
exit
exit
security zone-pair MGMT self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol tcp
match destination-port object-group SSH
enable
exit
rule 4
action permit
match protocol udp
match destination-port object-group SNMP
enable
exit
exit
security zone-pair MGMT IPsec_VPN
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol udp
match destination-port object-group SNMP
enable
exit
exit
security zone-pair IPsec_VPN MGMT
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol tcp
match destination-port object-group SSH
enable
exit
rule 3
action permit
match protocol udp
match destination-port object-group SNMP
enable
exit
exit
security zone-pair TRUSTED ISP1_ISP2
rule 1
action permit
match source-address object-group INTERNET_USERS
enable
exit
exit
security zone-pair ISP1_ISP2 DMZ
rule 1
action permit
match destination-nat
enable
exit
exit
security ike proposal IKE_PROP
authentication algorithm md5
encryption algorithm aes128
dh-group 2
exit
security ike policy IKE_POL
pre-shared-key hexadecimal encrypted CDE6504B9629
proposal IKE_PROP
exit
security ike gateway IKE_GW_1
version v2-only
ike-policy IKE_POL
mode route-based
mobike disable
bind-interface vti 1
exit
security ike gateway IKE_GW_2
version v2-only
ike-policy IKE_POL
mode route-based
mobike disable
bind-interface vti 2
exit
security ipsec proposal IPSEC_PROP
authentication algorithm md5
encryption algorithm aes128
exit
security ipsec policy IPSEC_POL
proposal IPSEC_PROP
exit
security ipsec vpn IPSEC_1
ike establish-tunnel route
ike gateway IKE_GW_1
ike ipsec-policy IPSEC_POL
enable
exit
security ipsec vpn IPSEC_2
ike establish-tunnel route
ike gateway IKE_GW_2
ike ipsec-policy IPSEC_POL
enable
exit
ip firewall failover
sync-type unicast
port 9999
enable
exit
nat destination
pool SERVER_DMZ
ip address 192.18.10.75
exit
ruleset DNAT_SERVER_DMZ
from zone ISP1_ISP2
rule 1
match protocol tcp
match destination-address object-group EXTERNAL_VIPS
match destination-port object-group SERVER_DMZ
action destination-nat pool SERVER_DMZ
enable
exit
rule 2
match protocol udp
match destination-address object-group EXTERNAL_VIPS
match destination-port object-group SERVER_DMZ
action destination-nat pool SERVER_DMZ
enable
exit
exit
exit
nat source
ruleset SNAT_ISP1_ISP2
to zone ISP1_ISP2
rule 1
match source-address object-group INTERNET_USERS
action source-nat interface
enable
exit
exit
exit
ip dhcp-server
ip dhcp-server pool TRUSTED
network 192.18.3.0/24
address-range 192.18.3.50-192.18.3.100
default-router 192.18.3.1
dns-server 192.18.3.1
exit
ip dhcp-server failover
mode active-standby
enable
exit
ip route 0.0.0.0/0 wan load-balance rule 1 10
ip route 192.168.2.0/24 wan load-balance rule 2 10
wan load-balance rule 1
outbound interface gigabitethernet 1/0/3.111 70
outbound interface gigabitethernet 1/0/3.222 30
outbound interface gigabitethernet 2/0/3.222 30
outbound interface gigabitethernet 2/0/3.111 70
enable
exit
wan load-balance rule 2
outbound tunnel vti 1 70
outbound tunnel vti 2 30
enable
exit
archive
path tftp://192.18.2.75:/esr-example/esr-example.cfg
time-period 1440
auto
type both
by-commit
count-backup 30
exit |