...
Схема реализации HA Cluster
Первичная настройка
...
кластера(схема 1+1)
Для более удобного и ясного восприятия рекомендуется переименовать устройства. В кластерной версии прошивки предусмотрена возможность указать имя устройства с привязкой к юниту. Устройство будет использовать только тот hostname, юнитом которого он является:
...
| Блок кода |
|---|
|
wlc-1(config-bridge)# ip address 192.168.1.3/24 unit 1
wlc-1(config-bridge)# ip address 192.168.1.2/24 unit 2
|
Для схемы 1+2 используйте следующие адреса:
Настройте VRRP:
| Примечание |
|---|
Для избежания лишних переключений VRRP, в приведенном примере отключен перехват роли Master у текущего Master-устройства с более низким приоритетом. Если вам требуется перехват роли, то нужно вводить задержку для перехвата, чтобы сервисы успели синхронизировать данные. | Блок кода |
|---|
vrrp preempt delay 120 |
|
| Блок кода |
|---|
|
| Блок кода |
|---|
wlc-1(config-bridge)# vrrp 2
wlc-1(config-vrrp)# ip address 192.168.1.4/241/32
wlc-1(config-vrrp)# priority 130 unit 1
wlc-1(config-bridgevrrp)# priority ip120 address 192.168.1.3/24 unit 2unit 2
wlc-1(config-vrrp)# group 1
wlc-1(config-bridgevrrp)# ippreempt disable
wlc-1(config-vrrp)# enable
wlc-1(config-vrrp)# exit
|
Для схемы 1+2 необходимо задать приоритет для третьего юнит
| Блок кода |
|---|
|
wlc-1(config-bridge)# vrrp 2
wlc-1(config-vrrp)# priority 110 unit 3
wlc-1(config-vrrp)# exit
|
Отключите работу spanning-tree и включите работу Bridge:
| Блок кода |
|---|
|
wlc-1(config-bridge)# no spanning-tree
wlc-1(config-bridge)# enable
wlc-1(config-bridge)# exit
|
Перейдите к конфигурированию интерфейса Первого юнита:
| Блок кода |
|---|
|
wlc-1(config)# interface gigabitethernet 1/0/2
|
Для удобства укажите описание интерфейса:
| Блок кода |
|---|
|
wlc-1(config-if-gi)# description "Local"
|
Переведите режим работы интерфейса в L2:
| Блок кода |
|---|
|
wlc-1(config-if-gi)# mode switchport
|
Укажите режим работы интерфейса trunk:
| Блок кода |
|---|
|
wlc-1(config-if-gi)# switchport mode trunk
|
Добавьте VLAN 3 и 2449, которые будут обрабатываться интерфейсом:
| Блок кода |
|---|
|
wlc-1(config-if-gi)# switchport trunk allowed vlan add 3,2449
wlc-1(config-if-gi)# exit
|
Сконфигурируйте интерфейс Второго юнита. Настройки идентичны с интерфейсом, сконфигурированным выше:
| Блок кода |
|---|
|
wlc-1(config)# interface gigabitethernet 2/0/2
wlc-1(config-if-gi)# description "Local"
wlc-1(config-if-gi)# mode switchport
wlc-1(config-if-gi)# switchport mode trunk
wlc-1(config-if-gi)# switchport trunk allowed vlan add 3,2449
wlc-1(config-if-gi)# exit |
Если используется схема (1+2) необходимо выполнить настройку третьего юнита по аналогии с юнитом 2
Настройка кластерного интерфейса
Для полноценной работы кластера требуется сконфигурировать кластерный интерфейс, который будет использоваться для передачи control plane трафика. В качестве кластерного интерфейса назначен bridge. В качестве механизма, отвечающего за определение ролей устройств, участвующих в резервировании, назначен протокол VRRP. Настройки cluster-интерфейса должны быть идентичны для всех участников кластера.
Так как кластер выполняет синхронизацию состояний между устройствами, необходимо создать зону безопасности SYNC (synchronization) и разрешить прохождение трафика протокола VRRP:
| Блок кода |
|---|
|
wlc-1(config)# security zone SYNC
wlc-1(config-security-zone)# exit
wlc-1(config)# security zone-pair SYNC self
wlc-1(config-security-zone-pair)# rule 1
wlc-1(config-security-zone-pair-rule)# action permit
wlc-1(config-security-zone-pair-rule)# match protocol icmp
wlc-1(config-security-zone-pair-rule)# enable
wlc-1(config-security-zone-pair-rule)# exit
wlc-1(config-security-zone-pair)# rule 2
wlc-1(config-security-zone-pair-rule)# action permit
wlc-1(config-security-zone-pair-rule)# match protocol vrrp
wlc-1(config-security-zone-pair-rule)# enable
wlc-1(config-security-zone-pair-rule)# exit
wlc-1(config-security-zone-pair)# exit |
Перейдите к настройкам кластерного интерфейса:
| Блок кода |
|---|
|
wlc-1(config)# bridge 1
|
| Примечание |
|---|
В версии ПО 1.36.2 в качестве cluster-интерфейса поддержан только bridge. |
Укажите, к какому VLAN относится bridge, и зону безопасности:
| Блок кода |
|---|
|
wlc-1(config-bridge)# vlan 1
wlc-1(config-bridge)# security-zone SYNC |
Далее укажите IP-адреса:
| Блок кода |
|---|
|
wlc-1(config-bridge)# ip address 198.51.100.254/24 unit 1
wlc-1(config-bridge)# ip address 198.51.100.253/24 unit 2 |
| Примечание |
|---|
Для работы кластерного интерфейса поддерживается только IPv4-адресация. На cluster-интерфейсе необходима настройка адресов с привязкой к unit. |
Настройте идентификатор VRRP, принадлежность VRRP-маршрутизатора к группе, IP-адрес VRRP:
| Блок кода |
|---|
|
wlc-1(config-bridge)# vrrp 1
wlc-1(config-vrrp)# ip address 198.51.100.1/24
wlc-1(config-vrrp)# priority 130 unit 1
wlc-1(config-vrrp)# priority 120 unit 2
wlc-1(config-vrrp)# group 1
wlc-1(config-vrrp)# preempt disable
wlc-1(config-vrrp)# enable
wlc-1(config-vrrp)# exit |
| Примечание |
|---|
Для настройки кластера адрес VRRP должен быть исключительно из той же подсети, что и адреса на интерфейсе. |
Включите протокол bridge:
| Блок кода |
|---|
|
wlc-1(config-bridge)# enable
wlc-1(config-bridge)# exit |
Настройте физические порты для выделенного линка синхронизации маршрутизаторов wlc-1 и wlc-2:
| Блок кода |
|---|
|
wlc-1(config)# interface gigabitethernet 1/0/3
wlc-1(config-if-gi)# description "Network: SYNC"
wlc-1(config-if-gi)# mode switchport
wlc-1(config-if-gi)# exit
wlc-1(config)# interface gigabitethernet 2/0/3
wlc-1(config-if-gi)# description "Network: SYNC"
wlc-1(config-if-gi)# mode switchport
wlc-1(config-if-gi)# exit |
Для проверки работы протокола VRRP выполните следующую команду:
| Блок кода |
|---|
|
wlc-1# show vrrp
Virtual router Virtual IP Priority Preemption State Inherit Sync group ID
-------------- --------------------------------- -------- ---------- ------ ------- -------------
1 198.51.100.1/24 130 Disabled Master -- 1
2 192.168.1.1/32 130 Disabled Master -- 1 |
Можно увидеть, что устройство приняло состояние Backup. Через 10 секунд устройство примет состояние Master.
Настройка кластера
Для запуска кластера необходимо указать заранее настроенный кластерный интерфейс и юниты, которые будут выполнять роли Active и Standby.
Перейдите в режим настройки кластера:
| Блок кода |
|---|
|
wlc-1(config)# cluster |
Настройте юниты:
| Блок кода |
|---|
|
wlc-1(config-cluster)# unit 1
wlc-1(config-cluster-unit)# mac-address E4:5A:D4:A0:BE:35
wlc-1(config-cluster-unit)# exit
wlc-1(config-cluster)# unit 2
wlc-1(config-cluster-unit)# mac-address A8:F9:4B:AF:35:84
wlc-1(config-cluster-unit)# exit |
| Примечание |
|---|
В качестве mac-address указывается системный MAC-адрес устройства, его можно узнать с помощью команды show system | include MAC. Данный блок настройки кластера должен присутствовать на обоих юнитах. |
Укажите кластерный интерфейс, созданный ранее, и активируйте кластер:
| Блок кода |
|---|
|
wlc-1(config-cluster)# cluster-interface bridge 1
wlc-1(config-cluster)# enable
wlc-1(config-cluster)# exit |
Перейдите к настройке NTP:
| Блок кода |
|---|
|
wlc-1(config)# ntp server 100.110.0.65 |
| Примечание |
|---|
Для работы синхронизации сервисов WLC, а также кластера необходима синхронизация времени между юнитами. В примере указан демонстрационный IP-адрес NTP-сервера. |
Укажите минимальное время опроса и максимальное время опроса:
| Блок кода |
|---|
|
wlc-1(config-ntp-server)# minpoll 1
wlc-1(config-ntp-server)# maxpoll 4
wlc-1(config-ntp-server)# exit |
Отключите ntp broadcast-client:
| Блок кода |
|---|
|
wlc-1(config)# no ntp broadcast-client enable |
Укажите часовой пояс:
| Блок кода |
|---|
|
wlc-1(config)# clock timezone gmt +7
wlc-1(config)# exit |
После настроек кластера конфигурация на wlc-1 и wlc-2 должны выглядеть идентично, следующим образом:
| Раскрыть |
|---|
| Блок кода |
|---|
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 wlc-1
hostname wlc-1 unit 1
hostname wlc-2 unit 2
object-group service airtune
port-range 8099
exit
object-group service dhcp_client
port-range 68
exit
object-group service dhcp_server
port-range 67
exit
object-group service dns
port-range 53
exit
object-group service ntp
port-range 123
exit
object-group service radius_auth
port-range 1812
exit
object-group service sa
port-range 8043-8044
exit
object-group service ssh
port-range 22
exit
object-group service sync
port-range 873
exit
object-group service journal_sync
port-range 5432
exit
syslog max-files 3
syslog file-size 512
syslog file tmpsys:syslog/default
severity info
exit
radius-server local
nas ap
key ascii-text password
network 192.168.1.0/24
exit
nas local
key ascii-text password
network 127.0.0.1/32
exit
domain default
user test
password ascii-text password1
exit
exit
virtual-server default
enable
exit
enable
exit
radius-server host 127.0.0.1
key ascii-text password
exit
aaa radius-profile default_radius
radius-server host 127.0.0.1
exit
boot host auto-config
boot host auto-update
vlan 3
force-up
exit
vlan 2449
force-up
exit
vlan 2
exit
no spanning-tree
domain lookup enable
security zone trusted
exit
security zone untrusted
exit
security zone users
exit
security zone SYNC
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp 1
ip 198.51.100.1/24
priority 130 unit 1
priority 120 unit 2
group 1
preempt disable
enable
exit
enable
exit
bridge 2
vlan 2
security-zone untrusted
ip address dhcp
no spanning-tree
enable
exit
bridge 3
vlan 3
mtu 1458
security-zone users
ip address 192.168.2.1/24
no spanning-tree
enable
exit
bridge 5
vlan 2449
security-zone trusted
ip address 192.168.1.3/24 unit 1
ip address 192.168.1.2/24 unit 2
vrrp 2
ip 192.168.1.1/32
priority 130 unit 1
priority 120 unit 2
group 1
preempt disable
enable
exit
no spanning-tree
enable
exit
interface gigabitethernet 1/0/1
mode switchport
switchport access vlan 2
exit
interface gigabitethernet 1/0/2
description "Local"
mode switchport
switchport mode trunk
switchport trunk allowed vlan add 3,2449
exit
interface gigabitethernet 1/0/3
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/4
mode switchport
exit
interface tengigabitethernet 1/0/1
mode switchport
switchport access vlan 2
exit
interface tengigabitethernet 1/0/2
mode switchport
exit
interface gigabitethernet 2/0/1
mode switchport
switchport access vlan 2
exit
interface gigabitethernet 2/0/2
description "Local"
mode switchport
switchport mode trunk
switchport trunk allowed vlan add 3,2449
exit
interface gigabitethernet 2/0/3
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/4
mode switchport
exit
interface tengigabitethernet 2/0/1
mode switchport
switchport access vlan 2
exit
interface tengigabitethernet 2/0/2
mode switchport
exit
tunnel softgre 1
mode data
local address 192.168.1.1
default-profile
enable
exit
security zone-pair trusted self
rule 10
action permit
match protocol tcp
match destination-port object-group ssh
enable
exit
rule 20
action permit
match protocol icmp
enable
exit
rule 30
action permit
match protocol udp
match source-port object-group dhcp_client
match destination-port object-group dhcp_server
enable
exit
rule 40
action permit
match protocol udp
match destination-port object-group ntp
enable
exit
rule 50
action permit
match protocol tcp
match destination-port object-group dns
enable
exit
rule 60
action permit
match protocol udp
match destination-port object-group dns
enable
exit
rule 70
action permit
match protocol tcp
match destination-port object-group sa
enable
exit
rule 80
action permit
match protocol udp
match destination-port object-group radius_auth
enable
exit
rule 90
action permit
match protocol gre
enable
exit
rule 110
action permit
match protocol tcp
match destination-port object-group airtune
enable
exit
exit
security zone-pair trusted trusted
rule 1
action permit
enable
exit
exit
security zone-pair trusted untrusted
rule 1
action permit
enable
exit
exit
security zone-pair untrusted self
rule 1
action permit
match protocol udp
match source-port object-group dhcp_server
match destination-port object-group dhcp_client
enable
exit
exit
security zone-pair users self
rule 10
action permit
match protocol icmp
enable
exit
rule 20
action permit
match protocol udp
match source-port object-group dhcp_client
match destination-port object-group dhcp_server
enable
exit
rule 30
action permit
match protocol tcp
match destination-port object-group dns
enable
exit
rule 40
action permit
match protocol udp
match destination-port object-group dns
enable
exit
exit
security zone-pair users untrusted
rule 1
action permit
enable
exit
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 passwords default-expired
nat source
ruleset factory
to zone untrusted
rule 10
description "replace 'source ip' by outgoing interface ip address"
action source-nat interface
enable
exit
exit
exit
ip dhcp-server
ip dhcp-server pool ap-pool
network 192.168.1.0/24
address-range 192.168.1.5-192.168.1.254
default-router 192.168.1.1
dns-server 192.168.1.1
option 42 ip-address 192.168.1.1
vendor-specific
suboption 12 ascii-text "192.168.1.1"
suboption 15 ascii-text "https://192.168.1.1:8043"
exit
exit
ip dhcp-server pool users-pool
network 192.168.2.0/24
address-range 192.168.2.4-192.168.2.254
default-router 192.168.2.1
dns-server 192.168.2.1
exit
softgre-controller
nas-ip-address 127.0.0.1
data-tunnel configuration wlc
aaa radius-profile default_radius
keepalive-disable
service-vlan add 3
enable
exit
wlc
outside-address 192.168.1.1
service-activator
aps join auto
exit
airtune
enable
exit
ap-location default-location
description "default-location"
mode tunnel
ap-profile default-ap
ssid-profile default-ssid
exit
ssid-profile default-ssid
description "default-ssid"
ssid "default-ssid"
radius-profile default-radius
vlan-id 3
security-mode WPA2_1X
802.11kv
band 2g
band 5g
enable
exit
ap-profile default-ap
password ascii-text password
exit
radius-profile default-radius
auth-address 192.168.1.1
auth-password ascii-text password
domain default
exit
ip-pool default-ip-pool
description "default-ip-pool"
ap-location default-location
exit
enable
exit
ip ssh server
clock timezone gmt +7
ntp enable
ntp server 100.110.0.65
minpoll 1
maxpoll 4
exit |
|
Первое устройство полностью настроено и готово к работе.
Аналогичные настройки необходимо произвести на втором устройстве. Также возможна настройка второго устройства средствами ZTP.
| Примечание |
|---|
Для активации процесса ZTP необходимо на втором устройстве запустить dhcp-client на bridge-интерфейсе, физический интерфейс которого будет включен в кластерный интерфейс первого устройства. В качестве примера такой конфигурации подойдет factory-конфигурация. (В factory-конфигурации для vwlc нет настроенного dhcp-client). В процессе ZTP устройство автоматически выставит себе: 1) Конфигурацию; 2) Юнит; 3) Версию ПО, на котором работает Active wlc; 4) Лицензию, если она предварительно загружена на Active wlc. |
Чтобы изменить юнит на других устройвах, выполните следующие команды:
| Блок кода |
|---|
|
wlс# set unit id 2
Unit ID will be 2 after reboot
wlc# reload system
Do you really want to reload system now? (y/N): y |
| Блок кода |
|---|
wlc# set unit id 3
Unit ID will be 3 after reboot
wlc-2# reload system
Do you really want to reload system now? (y/N): y |
| Примечание |
|---|
На заводской конфигурации unit принимает значение по умолчанию (unit = 1). Смена юнита устройства вступает в силу после перезагрузки. |
| Примечание |
|---|
При изменении номера юнита контролера не происходит автоматической конвертации конфигурации. В случае если до контролера настроен удаленный доступ и у него меняется номер юнита, необходимо до перезагрузки настроить ip-интерфейсы для нового юнита аналогично текущим. |
| Примечание |
|---|
В заводской конфигурации присутствуют настройки интерфейсов только для юнита по умолчанию (unit = 1). При копировании и применении заводской конфигурации настройка номера юнита не изменяется на значение по умолчанию. Установить номер юнита по умолчанию возможно следующими способами: 1. Используя консольное подключение; 2. Зажав функциональную кнопку "F" на 15 секунд. |
Убедитесь, что настройка юнита применилась успешно:
| Блок кода |
|---|
|
wlc-2# show unit id
Unit ID is 2
Unit ID will be 2 after reboot |
| Примечание |
|---|
Объединение устройств в кластер невозможно, если они относятся к одному и тому же юниту. Исключение — процесс ZTP, так как в процессе ZTP нужный unit у устройства выставится автоматически. |
После выполнения этих шагов кластер будет успешно запущен. Текущее состояние кластера можно узнать, выполнив команду:
| Блок кода |
|---|
|
wlc-1# show cluster status
Unit Hostname Role MAC address State IP address
---- -------------------- ---------- ----------------- -------------- ---------------
1* wlc-1 Active e4:5a:d4:a0:be:35 Joined 198.51.100.254
2 wlc-2 Standby a8:f9:4b:af:35:84 Joined 198.51.100.253 |
| Примечание |
|---|
После включения кластера и установления юнитов в состояние Joined, настройка устройств осуществляется настройкой Active устройства. Синхронизируются команды конфигурации, а также команды: commit, confirm, rollback, restore, save, copy <source> system:candidate-config. В случае, если конфигурирование осуществляется на Standby, то синхронизации не будет. Есть возможность отключения синхронизации командой sync config disable. Если между юнитами кластера не будет синхронизирована версия ПО, то команды commit, confirm не будут синхронизироваться на Standby устройство. |
После выполнения этих шагов кластер будет успешно запущен. Текущее состояние синхронизации подсистем кластера можно узнать, выполнив команду:
| Блок кода |
|---|
|
wlc-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.36.2 не поддержана синхронизация шифрованных паролей. |
| Примечание |
|---|
Через минуту после включения кластера синхронизируется время, на Standby установится время Active-юнита. Синхронизация времени проверяется раз в минуту, в случае расхождения время синхронизируется. |
Первичная настройка кластера(схема 1+2)
Для более удобного и ясного восприятия рекомендуется переименовать устройства. В кластерной версии прошивки предусмотрена возможность указать имя устройства с привязкой к юниту. Устройство будет использовать только тот hostname, юнитом которого он является:
| Блок кода |
|---|
|
wlc# configure
wlc(config)# hostname wlc-1 unit 1
wlc(config)# hostname wlc-2 unit 2 |
| Примечание |
|---|
Более приоритетным является hostname, указанный с привязкой к unit. |
Необходимо удалить заводские настройки Bridge, чтобы далее сконфигурировать его с нуля:
| Блок кода |
|---|
|
wlc-1(config)# no bridge 1 |
Создайте VLAN 2449, который будет выступать как vlan управления для ТД:
| Блок кода |
|---|
|
wlc-1(config)# vlan 2449
|
Укажите параметр, который отвечает за постоянное состояние UP:
| Блок кода |
|---|
|
wlc-1(config-vlan)# force-up
wlc-1(config-vlan)# exit |
Для того чтобы задать адресацию на Bridge, предварительно необходимо удалить заводские настройки интерфейса:
| Блок кода |
|---|
|
wlc-1(config)# no interface gigabitethernet 1/0/2 |
Создайте Bridge для управления ТД:
| Блок кода |
|---|
|
wlc-1(config)# bridge 5 |
Укажите VLAN:
| Блок кода |
|---|
|
wlc-1(config-bridge)# vlan 2449
|
Задайте зону безопасности:
| Блок кода |
|---|
|
wlc-1(config-bridge)# security-zone trusted
|
Необходимо задать адресацию для первого и второго юнита кластера:
| Блок кода |
|---|
|
wlc-1(config-bridge)# ip address 192.168.1.3/24 unit 1
wlc-1(config-bridge)# ip address 192.168.1.2/24 unit 2
address 192.168.1.2/24 unit 3 |
Настройте VRRP:
| Примечание |
|---|
Для избежания лишних переключений VRRP, в приведенном примере отключен перехват роли Master у текущего Master-устройства с более низким приоритетом. Если вам требуется перехват роли, то нужно вводить задержку для перехвата, чтобы сервисы успели синхронизировать данные. | Блок кода |
|---|
vrrp preempt delay 120 |
|
...
Если используется схема (1+2) необходимо выполнить настройку третьего юнита по аналогии с юнитом 2
Настройка кластерного интерфейса
Для полноценной работы кластера требуется сконфигурировать кластерный интерфейс, который будет использоваться для передачи control plane трафика. В качестве кластерного интерфейса назначен bridge. В качестве механизма, отвечающего за определение ролей устройств, участвующих в резервировании, назначен протокол VRRP. Настройки cluster-интерфейса должны быть идентичны для всех участников кластера.
...
Можно увидеть, что устройство приняло состояние Backup. Через 10 секунд устройство примет состояние Master.
Настройка кластера
Для запуска кластера необходимо указать заранее настроенный кластерный интерфейс и юниты, которые будут выполнять роли Active и Standby.
...