Описание
Общие сведения
Архитектура решения, при подключении точек доступа (далее ТД) через сеть L2, предполагает, что будут выделены vlan для подсети управления ТД и vlan для подсети пользователей SSID. Для каждого дополнительного SSID будет выделяться новый отдельный vlan. Все vlan будут терминироваться на ESR. Данная схема включения называется WiFi L2. Рассмотрим схему включения на примере, приведенном на рис. 1. Предполагается, что весь комплекс SoftWLC установлен на одном сервере и имеет один адрес для взаимодействия с остальными компонентами системы.
Рис. 1 Схема организации связи при подключении (далее ТД) через L2 сеть доступа.
На приведенной схеме организации связи используются следующие подсети:
vlan | Подсеть | Назначение | Адрес ESR | Адрес SoftWLC |
---|
3 | 10.10.10.0/23 | подсеть управления ТД | 10.10.10.1 |
|
10 | 100.64.0.0/22 | подсеть клиентов SSID ТД | 100.64.0.1 |
|
1200 | 10.20.20.0/28 | подсеть для взаимодействия с комплексом SoftWLC | 10.20.20.1 | 10.20.20.2 |
3500 | 172.16.0.0/28 | подсеть для выхода в сеть Интернет | 172.16.0.2 |
|
Ниже, на рис. 2, приведена схема архитектуры конфигурации ESR.
Рис. 2 Архитектура конфигурации ESR, при подключении ТД через L2 сеть доступа оператора.
Описание сети
- Выход в сеть Интернет осуществляется в vlan 3500, используя для маршрута по умолчанию шлюз 172.16.0.1 (router-NAT). Выпуск пользователей осуществляется путем маршрутизации на маршрутизатор router-NAT, который выполняет NAT трансляцию адресов пользователей в сеть Интернет.
- Сеть управления ESR находится в vlan 1200, подсеть 10.20.20.0/28, которая так же используется для взаимодействия с комплексом SoftWLC.
- ТД получают IP адрес адрес управления в vlan 3 c DHCP сервера, развернутого на SoftWLC, из сети 10.10.10.0/23. В опции 43, передается адрес SoftWLC-сервера (см. описание конфигурирования опций v1.16_Как сконфигурировать 43 опцию и другие особенности настройки DHCP). При этом ТД отправляет пакеты с адреса управления без vlan-тега, поэтому на коммутаторе, на порту к которому она подключена нужно нетегированный трафик от ТД пометить тегом vlan ID 3. Потом vlan 3 приходит в ESR, где терминируется на саб-интерфейсе gi1/0/1.3, адрес которого (10.10.10.1) будет являться шлюзом по умолчанию для адреса управления ТД.
- На ТД настраивается SSID, с vlan ID 10. Трафик этого SSID будет выходит с точки с тегом 10, поэтому на порту коммутатора, к которому подключена ТД настраиваем vlan 10 в тегированном режиме и приводим его к ESR. На ESR vlan 10 приходит на саб-интерфейсе gi1/0/1.10, адрес которого 100.64.0.1 будет являться шлюзом по умолчанию для пользователей SSID.
- Весь трафик пользователей будет передаваться c vlan 10 на ESR. DHCP запросы клиента, при помощи DHCP-relay ESR будет перенаправляться на SoftWLC.
Трафик управления ТД отправляется без тега vlan. Поэтому для направления этого трафика в нужный vlan необходимо назначить ему нужный тег на порту коммутатора, к которому подключена ТД. Ниже приведен пример настройки для коммутаторов типа MES: interface gigabitethernet1/0/1
description AP_1
switchport mode trunk
switchport trunk allowed vlan add 10
switchport trunk native vlan 3
switchport forbidden default-vlan
! |
|
Настройка ESR
Перед выполнением настроек маршрутизатора требуется выполнить сброс конфигурации на дефолтную (подробнее L2/L3 WiFi - Руководство по установке и быстрому запуску). Пример команд соответствует версии ПО ESR 1.11.0.
Включаем управление по протоколам telnet, SSH:
ip telnet server
ip ssh server |
Создаем профили объектов tcp/udp портов, подсетей:
object-group service dhcp_server
port-range 67
exit
object-group service dhcp_client
port-range 68
exit
object-group network MGMT
ip prefix 10.10.10.0/23
ip prefix 10.20.20.0/28
exit |
На маршрутизаторах типа ESR10/20/100/200/1000 отключаем spanning-tree, т. к. маршрутизатор будет подключаться через один порт:
Создаем зоны безопасности:
security zone trusted
exit
security zone untrusted
exit
security zone user
exit |
Настраиваем параметры SNMP, что бы можно было контролировать состояние маршрутизатора со стороны SoftWLC:
snmp-server
snmp-server system-shutdown
snmp-server community "public11" ro
snmp-server community "private1" rw
snmp-server host 10.20.20.2
exit
snmp-server enable traps
snmp-server enable traps config
snmp-server enable traps config commit
snmp-server enable traps config confirm
snmp-server enable traps environment
snmp-server enable traps environment pwrin
snmp-server enable traps environment pwrin-insert
snmp-server enable traps environment fan
snmp-server enable traps environment fan-speed-changed
snmp-server enable traps environment fan-speed-high
snmp-server enable traps environment memory-flash-critical-low
snmp-server enable traps environment memory-flash-low
snmp-server enable traps environment memory-ram-critical-low
snmp-server enable traps environment memory-ram-low
snmp-server enable traps environment cpu-load
snmp-server enable traps environment cpu-critical-temp
snmp-server enable traps environment cpu-overheat-temp
snmp-server enable traps environment cpu-supercooling-temp
snmp-server enable traps environment board-overheat-temp
snmp-server enable traps environment board-supercooling-temp
snmp-server enable traps environment sfp-overheat-temp
snmp-server enable traps environment sfp-supercooling-temp
snmp-server enable traps environment switch-overheat-temp
snmp-server enable traps environment switch-supercooling-temp
snmp-server enable traps file-operations
snmp-server enable traps file-operations successful
snmp-server enable traps file-operations failed
snmp-server enable traps file-operations canceled
snmp-server enable traps interfaces
snmp-server enable traps interfaces rx-utilization-high
snmp-server enable traps interfaces tx-utilization-high
snmp-server enable traps interfaces number-high
snmp-server enable traps screen
snmp-server enable traps screen dest-limit
snmp-server enable traps screen source-limit
snmp-server enable traps screen icmp-threshold
snmp-server enable traps screen udp-threshold
snmp-server enable traps screen syn-flood
snmp-server enable traps screen land
snmp-server enable traps screen winnuke
snmp-server enable traps screen icmp-frag
snmp-server enable traps screen udp-frag
snmp-server enable traps screen icmp-large
snmp-server enable traps screen syn-frag
snmp-server enable traps screen unknown-proto
snmp-server enable traps screen ip-frag
snmp-server enable traps screen port-scan
snmp-server enable traps screen ip-sweep
snmp-server enable traps screen syn-fin
snmp-server enable traps screen fin-no-ack
snmp-server enable traps screen no-flag
snmp-server enable traps screen spoofing
snmp-server enable traps screen reserved
snmp-server enable traps screen quench
snmp-server enable traps screen echo-request
snmp-server enable traps screen time-exceeded
snmp-server enable traps screen unreachable
snmp-server enable traps screen tcp-all-flags
snmp-server enable traps entity
snmp-server enable traps entity config-change
snmp-server enable traps entity-sensor
snmp-server enable traps entity-sensor threshold
snmp-server enable traps envmon
snmp-server enable traps envmon fan
snmp-server enable traps envmon shutdown
snmp-server enable traps envmon supply
snmp-server enable traps envmon temperature
snmp-server enable traps flash
snmp-server enable traps flash insertion
snmp-server enable traps flash removal
snmp-server enable traps snmp
snmp-server enable traps snmp authentication
snmp-server enable traps snmp coldstart
snmp-server enable traps snmp linkdown
snmp-server enable traps snmp linkup
snmp-server enable traps syslog
|
|
Создаем интерфейсы для взаимодействия с подсетями управления и пользователей SSID ТД, комплекса SoftWLC, интернет:
interface gigabitethernet 1/0/1.3
description "AP_MANAGMENT"
security-zone trusted
ip address 10.10.10.1/23
ip helper-address 10.20.20.2
exit
interface gigabitethernet 1/0/1.10
description "AP_SSID_USERS"
security-zone user
ip address 100.64.0.1/22
ip helper-address 10.20.20.2
exit
interface gigabitethernet 1/0/1.1200
description "MANAGMENT"
security-zone trusted
ip address 10.20.20.1/28
exit
interface gigabitethernet 1/0/1.3500
description "INTERNET"
security-zone untrusted
ip address 172.16.0.2/28
exit |
Включаем глобально пересылку DHCP запросов:
Добавляем шлюз по умолчанию:
ip route 0.0.0.0/0 172.16.0.1 |
Настраиваем правила файрвола:
#Разрешаем разрешаем маршрутизатору принимать все пакеты из подсетей MGMT:
security zone-pair trusted self
rule 1
action permit
match source-address MGMT
enable
exit
exit
#Разрешаем обмен трафиком между зонами trusted в рамках используемых подсетей:
security zone-pair trusted trusted
rule 1
action permit
match source-address MGMT
enable
exit
exit
#Разрешаем прохождение любого трафика из зоны trusted к пользователям ТД:
security zone-pair trusted user
rule 1
action permit
enable
exit
exi
#Разрешаем маршрутизатору принимать от пользователей ТД DHCP, что бы они могли получить адреса:
security zone-pair user self
rule 1
action permit
match protocol udp
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
exit
#Разрешаем пользователям продлять адрес, полученный по DHCP:
security zone-pair user trusted
rule 1
action permit
match protocol udp
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
exit
#Разрешаем весь трафик от пользователей в сеть Интернет:
security zone-pair user untrusted
rule 1
action permit
enable
exit
exit
|
Приложения
Полная конфигурация ESR
#!/usr/bin/clish
#18
object-group service dhcp_server
port-range 67
exit
object-group service dhcp_client
port-range 68
exit
object-group network MGMT
ip prefix 10.10.10.0/23
ip prefix 10.20.20.0/28
exit
no spanning-tree
security zone trusted
exit
security zone untrusted
exit
security zone user
exit
snmp-server
snmp-server system-shutdown
snmp-server community "public11" ro
snmp-server community "private1" rw
snmp-server host 10.20.20.2
exit
snmp-server enable traps
snmp-server enable traps config
snmp-server enable traps config commit
snmp-server enable traps config confirm
snmp-server enable traps environment
snmp-server enable traps environment pwrin
snmp-server enable traps environment pwrin-insert
snmp-server enable traps environment fan
snmp-server enable traps environment fan-speed-changed
snmp-server enable traps environment fan-speed-high
snmp-server enable traps environment memory-flash-critical-low
snmp-server enable traps environment memory-flash-low
snmp-server enable traps environment memory-ram-critical-low
snmp-server enable traps environment memory-ram-low
snmp-server enable traps environment cpu-load
snmp-server enable traps environment cpu-critical-temp
snmp-server enable traps environment cpu-overheat-temp
snmp-server enable traps environment cpu-supercooling-temp
snmp-server enable traps environment board-overheat-temp
snmp-server enable traps environment board-supercooling-temp
snmp-server enable traps environment sfp-overheat-temp
snmp-server enable traps environment sfp-supercooling-temp
snmp-server enable traps environment switch-overheat-temp
snmp-server enable traps environment switch-supercooling-temp
snmp-server enable traps ports
snmp-server enable traps ports port-counters-errors
snmp-server enable traps wifi
snmp-server enable traps wifi wifi-tunnels-number-in-bridge-high
snmp-server enable traps file-operations
snmp-server enable traps file-operations successful
snmp-server enable traps file-operations failed
snmp-server enable traps file-operations canceled
snmp-server enable traps interfaces
snmp-server enable traps interfaces rx-utilization-high
snmp-server enable traps interfaces tx-utilization-high
snmp-server enable traps interfaces number-high
snmp-server enable traps bras
snmp-server enable traps bras sessions-number-high
snmp-server enable traps screen
snmp-server enable traps screen dest-limit
snmp-server enable traps screen source-limit
snmp-server enable traps screen icmp-threshold
snmp-server enable traps screen udp-threshold
snmp-server enable traps screen syn-flood
snmp-server enable traps screen land
snmp-server enable traps screen winnuke
snmp-server enable traps screen icmp-frag
snmp-server enable traps screen udp-frag
snmp-server enable traps screen icmp-large
snmp-server enable traps screen syn-frag
snmp-server enable traps screen unknown-proto
snmp-server enable traps screen ip-frag
snmp-server enable traps screen port-scan
snmp-server enable traps screen ip-sweep
snmp-server enable traps screen syn-fin
snmp-server enable traps screen fin-no-ack
snmp-server enable traps screen no-flag
snmp-server enable traps screen spoofing
snmp-server enable traps screen reserved
snmp-server enable traps screen quench
snmp-server enable traps screen echo-request
snmp-server enable traps screen time-exceeded
snmp-server enable traps screen unreachable
snmp-server enable traps screen tcp-all-flags
snmp-server enable traps entity
snmp-server enable traps entity config-change
snmp-server enable traps entity-sensor
snmp-server enable traps entity-sensor threshold
snmp-server enable traps envmon
snmp-server enable traps envmon fan
snmp-server enable traps envmon shutdown
snmp-server enable traps envmon supply
snmp-server enable traps envmon temperature
snmp-server enable traps flash
snmp-server enable traps flash insertion
snmp-server enable traps flash removal
snmp-server enable traps snmp
snmp-server enable traps snmp authentication
snmp-server enable traps snmp coldstart
snmp-server enable traps snmp linkdown
snmp-server enable traps snmp linkup
snmp-server enable traps syslog
interface gigabitethernet 1/0/1.3
description "AP_MANAGMENT"
security-zone trusted
ip address 10.10.10.1/23
ip helper-address 10.20.20.2
exit
interface gigabitethernet 1/0/1.10
description "AP_SSID_USERS"
security-zone user
ip address 100.64.0.1/22
ip helper-address 10.20.20.2
exit
interface gigabitethernet 1/0/1.1200
description "MANAGMENT"
security-zone trusted
ip address 10.20.20.1/28
exit
interface gigabitethernet 1/0/1.3500
description "INTERNET"
security-zone untrusted
ip address 172.16.0.2/28
exit
security zone-pair trusted self
rule 1
action permit
match source-address MGMT
enable
exit
exit
security zone-pair trusted trusted
rule 1
action permit
match source-address MGMT
enable
exit
exit
security zone-pair trusted user
rule 1
action permit
enable
exit
exit
security zone-pair user self
rule 1
action permit
match protocol udp
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
exit
security zone-pair user trusted
rule 1
action permit
match protocol udp
match source-port dhcp_client
match destination-port dhcp_server
enable
exit
exit
security zone-pair user untrusted
rule 1
action permit
enable
exit
exit
ip dhcp-relay
ip route 0.0.0.0/0 172.16.0.1
ip telnet server
ip ssh server |
|
Конфигурация DHCP сервера
Ниже приведен пример конфигурации DHCP сервера, на основе приведенной выше адресации. В качестве DHCP сервера используется ISC-DHCP-SERVER.
default-lease-time 86400;
max-lease-time 87000;
log-facility local7;
#listening subnet
subnet 10.20.20.0 netmask 255.255.255.240 {}
#Описание классов оборудования, которым будем разрешать получения адреса управления
class "ELTEX-DEVICES" {
match if (
(substring (option vendor-class-identifier, 0, 14)="ELTEX_WEP-12AC") or
(substring (option vendor-class-identifier, 0, 14)="ELTEX_WOP-12AC") or
(substring (option vendor-class-identifier, 0, 14)="ELTX_WEP-12AC") or
(substring (option vendor-class-identifier, 0, 14)="ELTX_WOP-12AC") or
(substring (option vendor-class-identifier, 0, 13)="ELTEX_WEP-2AC") or
(substring (option vendor-class-identifier, 0, 12)="ELTEX_WOP-2L") or
(substring (option vendor-class-identifier, 0, 12)="ELTEX_WEP-2L") or
(substring (option vendor-class-identifier, 0, 12)="ELTEX_WEP-1L")
);
}
#Подсеть управления ТД в vlan 3
subnet 10.10.10.0 netmask 255.255.254.0 {
pool {
option routers 10.10.10.1;
range 10.10.10.2 10.10.11.254;
option vendor-encapsulated-options 0A:0A:31:30:2e:32:30:2e:32:30:2e:32;
allow members of "ELTEX-DEVICES";
option domain-name-servers 172.16.0.254;
}
}
#Подсеть пользователей ТД SSID vlan 10
subnet 100.64.0.0 netmask 255.255.252.0 {
default-lease-time 3600;
max-lease-time 3700;
pool {
option routers 100.64.0.1;
range 10.64.0.2 100.64.3.254;
option domain-name-servers 172.16.0.254;
}
} |
|
Пример настройки NAT на ESR
Если не предполагается использовать сторонний маршрутизатор для выполнения трансляции адресов клиентов в сеть Интернет - то можно выполнить настройку NAT непосредственно на ESR. Ниже приведён пример такой настройки:
object-group network nat
ip prefix 100.64.0.0/22
exit
nat source
ruleset NAT
to zone untrusted
rule 1
match source-address nat
action source-nat interface
enable
exit
exit
exit |
|
Использование интерфейса типа Bridge
При использовании саб-интерфейсов для терминации vlan SSID, для каждого vlan необходимо выделять и использовать отдельную подсеть. Для того, что бы использовать одно адресное пространство для терминирования различных vlan необходимо использовать интерфейс типа "Bridge". В этом случае подсеть пользователей назначается на интерфейс типа "Bridge", а саб-интерфейсы, терминирующие vlan включаются в него. Далее приведен пример конфигурации, когда требуется терминировать в одно адресное пространство два vlanа 10 и 11:
#Удаляем ранее созданный саб-интерфейс для терминации vlan 10
no interface gigabitethernet 1/0/1.10
#Создаем интерфейс типа "Bridge"
bridge 10
description "AP_SSID_USERS"
security-zone user
ip address 100.64.0.1/22
ip helper-address 10.20.20.2
protected-ports local
enable
exit
interface gigabitethernet 1/0/1.10
bridge-group 10
exit
interface gigabitethernet 1/0/1.11
bridge-group 10
exit |
|