Сетевой инженер ГК «ОТР» Линда Новожилова рассказывает, как настраивает Wi-Fi-контроллеры на крупных проектах. Этот опыт пригодится тем, кто ещё не работал с сетями, но должен настроить контроллеры. Или тем, кто должен вникнуть в их работу, чтобы проверить, как нанятый специалист справился с задачей.
Что стоит учесть перед прочтением
Это решение — не образец. В подобных задачах не существует единственно верных решений. Критерий того, насколько решение верное, — выполнение поставленной задачи.
Здесь описано решение конкретной задачи и разобраны его элементы. Их можно использовать, если они подходят для достижения нужных целей. Принцип «прописать так на всякий случай» в такой ситуации не поможет — скорее навредит.
Мы намеренно не указываем чёткие имена темплейтов и профайлов. Это не инструкция. Подробное описание настроек познакомит вас с возможностями, но решение о целесообразности остаётся только за вами.
Если у вас нет чёткого понимания происходящего — не используйте эти настройки. За последствия отвечаете только вы.
Качество сети зависит не только от настроек. Когда мы приступили к работе, у заказчика уже был полностью разработан проект. Ему рассчитали мощности, добавили дублирующее оборудование и выдали список для закупок. За командой ОТР оставалось физическое воплощение проекта и настройка — не более.
Какая задача стояла перед командой
Мы создавали сеть на несколько учреждений.
Она была нужна одновременно и для внутреннего пользования, и для внешнего. В сети авторизовывались внешние пользователи и использовали её для получения услуг нашего клиента.
Сеть должна быть максимально безопасной — и при этом работать совершенно непрерывно. Каждый разрыв сети Wi-Fi обходился бы заказчику в две тысячи долларов, и подобные потери были бы недопустимы.
Какие настройки выставили и для чего
В этом разделе мы поэтапно разберём настройки. До настроек необходимо подключить к контроллеру консоль и загрузить нужную прошивку и патчи
1. Создаём конфигурационный файл
1.1. Задаём системное имя и включаем http-сервер, чтобы всё работало
<Huawei> system-view
[Huawei] sysname <hostname>
<Huawei> system-view
[Huawei] http server enable
1.2. Задаём часовой пояс
<Huawei> system-view
[Huawei] clock timezone MoscowSt.PetersburgVolgograd add 03:00:00
Если его не задать, сервера не смогут корректно передавать друг другу логи. Также начнутся проблемы с соединением у пользователей: большинство сервисов проверяет точное время и, если время на устройстве будет отличаться, сервис не позволит пользователю подключиться.
1.3. Заводим vlan’ы для устройств
<Huawei> system-view
[Huawei] vlan batch <vlans>
Без vlan'ов пользователь не сможет подключиться к сервису.
1.4. Добавляем авторизацию через Radius
<Huawei> system-view
[Huawei] authentication-profile-name <profile-name>
[Huawei] dot1x-access-profile <profile-name>
[Huawei] authentication-scheme radius
[Huawei-authen-profile-radius] radius-server RADIUS_SERVER
[Huawei-authen-profile-radius] authentication-profile name default_authen_profile
[Huawei-authen-profile-radius] authentication-profile name dot1x_authen_profile
[Huawei-authen-profile-radius] authentication-profile name mac_authen_profile
[Huawei-authen-profile-radius] authentication-profile name macportal_authen_profile
[Huawei-authen-profile-radius] authentication-profile name portal_authen_profile
Здесь мы использовали Radius, чтобы централизовать авторизацию — так клиент получает расширенное логирование (и с десяток других мелких фишек), а его подрядчикам становится проще работать с сетью в будущем.
1.5. Настраиваем подключение к серверам DNS
<Huawei> system-view
[Huawei] dns resolve
[Huawei] dns server <dns server1 ip>
[Huawei] dns server <dns server2 ip>
Без серверов ни пользователь, ни администраторы сети не смогут подключиться ни к одному сайту. Сеть вместо доменных имён (типа yandex.ru) использует IP — и без DNS-серверов зайти на сайт можно только по этому самому IP.
1.6. Создаём пул vlan’ов
<Huawei> system-view
[Huawei] vlan pool <vlan pool name>
[Huawei] vlan <vlan id>
Через каждый vlan пользователи будут подключаться к нашей сети из различных её сегментов.
1.7. Задаём vlan и его имя для устройства, через которое мы будем управлять точками доступа в сеть.
<Huawei> system-view
[Huawei] vlan <vlan id ac mgmt>
[Huawei-vlan] name <vlan name ac mgmt>
1.8. Задаём правила авторизации доступа на Radius и подключения к его серверу.
<Huawei> system-view
[Huawei] radius-server template default
[Huawei-radius-default] radius-server shared-key cipher <password>
[Huawei-radius-default] radius-server template RADIUS_SERVER
[Huawei-radius-RADIUS_SERVER] radius-server shared-key cipher <password>
[Huawei-radius-RADIUS_SERVER] radius-server authentication <ip address port> weight 80
[Huawei-radius-RADIUS_SERVER] radius-server authentication <ip address port> weight 80
[Huawei-radius-RADIUS_SERVER] undo radius-server user-name domain-included
[Huawei-radius-RADIUS_SERVER] radius-server attribute translate
[Huawei-radius-RADIUS_SERVER] radius-server attribute message-authenticator access-request
[Huawei-radius-RADIUS_SERVER] radius-attribute set Called-Station-Id <profile name>
1.9. Настраиваем ACL. Даём доступ из консоли и разрешаем SNMP
<Huawei> system-view
[Huawei] acl name <acl name>
[Huawei-acl-] rule 5 permit source <net name met mask>
[Huawei-acl-] acl name <acl name snmp>
[Huawei-acl-] rule 5 permit source <net name mask>
[Huawei-acl-] rule 10 permit source <net name mask>
1.10. Настраиваем авторизацию учётных записей через контроллеры домена
<Huawei> system-view
[Huawei] aaa
[Huawei-aaa] authentication-scheme radius
[Huawei-aaa-authen-radius] authentication-mode radius
[Huawei-aaa-authen-radius] authentication-scheme radius_local
[Huawei-aaa-authen-radius_local] authentication-mode radius local
[Huawei-aaa-authen-radius_local] authorization-scheme default
[Huawei-aaa-authen-default] accounting-scheme default
[Huawei-aaa-author-default] local-aaa-user password policy administrator
[Huawei-aaa-author-default] password expire 0
[Huawei-aaa-author-default] domain default
[Huawei-aaa-domain-default] authentication-scheme radius
[Huawei-aaa-domain-default] radius-server default
[Huawei-aaa-domain-default] domain default_admin
[Huawei-aaa-domain-default_admin] authentication-scheme radius_local
[Huawei-aaa-domain-default_admin] radius-server RADIUS_SERVER
У нас авторизация происходит через Радиус.
Вне этой части обязательно прописывается локальный пользователь, чтобы он мог зайти в сеть без внешних сервисов. У нас это админы с максимальным уровнем привилегий.
1.10.1. Прописываем админов
[Huawei-aaa-domain-default_admin] local-user <username> password irreversible-cipher <password>
[Huawei-aaa-domain-default_admin] local-user <username> privilege level 15
[Huawei-aaa-domain-default_admin] local-user <username> service-type terminal ssh http
//Последняя строчка разрешает пользователю заходить и локально, без использования Радиуса.
1.11. Настраиваем интерфейс управления на КТД
<Huawei> system-view
[Huawei] interface <vlan id ac mgmt>
[Huawei-Vlanif] description =AC-Management=
[Huawei-Vlanif] ip address <ip addr mask>
[Huawei-Vlanif] vrrp vrid 1 virtual-ip <ip address >
[Huawei-] admin-vrrp vrid 1
[Huawei-] vrrp vrid 1 priority 120
[Huawei-] vrrp vrid 1 preempt-mode timer delay 1800
[Huawei-] vrrp vrid 1 timer advertise 1
[Huawei-] management-interface // на модели 6005 эта команда не нужна
Эта настройка помогает использовать ранее созданные vlan’ы.
1.12. Настраиваем интерфейс для HSB между основными и резервными контроллерами
<Huawei> system-view
[Huawei] interface Vlanif <vlan id>
[Huawei-Vlanif] description =HSB Service=
[Huawei-Vlanif] ip address <ip address mask>
Через эту настройку оборудование получает лицензии, нужные для подключения и работы.
1.13. Настраиваем линки между основным и резервным контроллером.
<Huawei> system-view
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] port link-type access
[Huawei-GigabitEthernet0/0/1] port default vlan <vlan id>
Также настраиваем отдельный порт для HSB, нужного для передачи лицензий.
1.14. Указываем IP-адреса для работы HSB
<Huawei> system-view
[Huawei] hsb-service 0
[Huawei-hsb-service-0] service-ip-port local-ip <ip addr> peer-ip <ip addr> local-data-port 10241 peer-data-port 10241[Huawei-hsb-service-0] service-keep-alive detect retransmit 3 interval 6
[Huawei-hsb-service-0] hsb-group 0
[Huawei-hsb-group-0] track vrrp vrid 1 interface Vlanif <vlan id ac>
[Huawei-hsb-group-0] bind-service 0
[Huawei-hsb-group-0] hsb enable
1.15. Настраиваем Eth-Trunk
<Huawei> system-view
[Huawei] interface Eth-Trunk1
[Huawei-Eth-Trunk1] port link-type trunk
[Huawei-Eth-Trunk1] undo port trunk allow-pass vlan 1
[Huawei-Eth-Trunk1] port trunk allow-pass vlan <vlanid > to <vlanid>
[Huawei-Eth-Trunk1] mode lacp-static
Этот интерфейс объединяет в себя другие, что повышает отказоустойчивость, скорость и стабильность передачи данных. Провести такие настройки можно не на каждой топологии — на нашей это было возможно.
1.16. Указываем, какие физические интерфейсы будут участвовать в eth-trunk'е
<Huawei> system-view
[Huawei] interface XGigabitEthernet0/0/1
[Huawei-XGigabitEthernet0/0/1] eth-trunk 1
[Huawei-XGigabitEthernet0/0/1] interface XGigabitEthernet0/0/2
[Huawei-XGigabitEthernet0/0/2] eth-trunk 1
1.17. Настраиваем неиспользуемые порты на КТД.
<Huawei> system-view
[Huawei] interface GigabitEthernet0/0/2
[Huawei-GigabitEthernet0/0/2] port link-type access
[Huawei-GigabitEthernet0/0/2] port default vlan 2
[Huawei-GigabitEthernet0/0/2] interface GigabitEthernet0/0/3
[Huawei-GigabitEthernet0/0/3] port link-type access
[Huawei-GigabitEthernet0/0/3] port default vlan 2
[Huawei-GigabitEthernet0/0/3] interface GigabitEthernet0/0/4
[Huawei-GigabitEthernet0/0/4] port link-type access
[Huawei-GigabitEthernet0/0/4] port default vlan 2
[Huawei-GigabitEthernet0/0/4] interface GigabitEthernet0/0/5
[Huawei-GigabitEthernet0/0/5] port link-type access
[Huawei-GigabitEthernet0/0/5] port default vlan 2
[Huawei-GigabitEthernet0/0/5] interface GigabitEthernet0/0/6
[Huawei-GigabitEthernet0/0/6] port link-type access
[Huawei-GigabitEthernet0/0/6] port default vlan 2
[Huawei-GigabitEthernet0/0/6] interface GigabitEthernet0/0/7
[Huawei-GigabitEthernet0/0/7] port link-type access
[Huawei-GigabitEthernet0/0/7] port default vlan 2
И точно таким же образом настраиваем все неиспользуемые интерфейсы.
[Huawei-GigabitEthernet0/0/8] port link-type access
[Huawei-GigabitEthernet0/0/8] port default vlan 2
По сути отключаем эти порты, а на случай, если их кто-то ненамеренно включит, настраиваем vlan-блэкхолл, в котором ничего нельзя сделать. Так сеть становится безопаснее.
Важно! Эти настройки помогли сделать безопаснее нашу сеть. В вашем случае необходимо учесть модель контроллера и количество портов.
1.18. Настраиваем SNMP на КТД
<Huawei> system-view
[Huawei] snmp-agent community write <password>
[Huawei] snmp-agent community complexity-check disable
[Huawei] snmp-agent sys-info contact Administrator
[Huawei] snmp-agent sys-info location <controller system location>
[Huawei] snmp-agent sys-info version v2c
[Huawei] snmp-agent target-host trap-hostname esight address <ip addr esight> udp-port <port> trap-paramsname securityname
[Huawei] snmp-agent trap enable
[Huawei] snmp-agent
Это протокол для мониторинга, через который мы контролируем подключённые к сети устройства. Мы подключаем его везде, где требуется внимание администратора.
1.19. Настраиваем удалённый доступ через SSH
<Huawei> system-view
[Huawei] ssh client first-time enable
[Huawei] stelnet server enable
[Huawei] undo telnet ipv6 server enable
[Huawei] ssh server secure-algorithms cipher aes256_ctr aes128_ctr
[Huawei] ssh server secure-algorithms hmac sha2_256 md5
[Huawei] ssh server key-exchange dh_group14_sha1
[Huawei] ssh client secure-algorithms cipher aes256_ctr aes128_ctr
[Huawei] ssh client secure-algorithms hmac sha2_256
[Huawei] ssh client key-exchange dh_group14_sha1
1.21. Настраиваем дефолтный маршрут
<Huawei> system-view
[Huawei] ip route-static 0.0.0.0 0.0.0.0 <ip addr GW>
В нашей топологии у контроллера статический IP-адрес и статический маршрут по умолчанию.
1.22. Настраиваем CAPWAP
<Huawei> system-view
[Huawei] capwap source ip-address <ip address>
Эта настройка задаёт адрес, на который ТД будут строить capwap-туннели, передающие информацию от контроллера к точкам доступа. Их используют для заливки софта и синхронизации определённых параметров.
1.23. Настраиваем доступ по консоли и терминалу для возможности локально авторизоваться
<Huawei> system-view
[Huawei] user-interface con 0
[Huawei-ui-console0] authentication-mode aaa
[Huawei-ui-console0] user-interface vty 0 4
[Huawei-ui-vty0-4] authentication-mode aaa
[Huawei-ui-vty0-4] protocol inbound ssh
1.24. Настраиваем SSID и относящиеся к нему параметры: безопасность, шифрование и vap profile
<Huawei> system-view
[Huawei-wlan] wlan
[Huawei-wlan-view] calibrate enable auto interval 60 start-time 09:34:30
[Huawei-wlan-view] traffic-profile name default
[Huawei-wlan-traffic-prof-default] undo traffic-optimize bcmc unicast-send dhcp
security-profile name default
[Huawei-wlan-traffic-prof-default] security-profile name default-wds
[Huawei-wlan-sec-prof-default-wds] security wpa2 psk pass-phrase <password> aes
[Huawei-wlan-sec-prof-default-wds] security-profile name <profile name>
[Huawei-wlan-sec-prof] security wpa2 dot1x aes
[Huawei-wlan-sec-prof] security-profile name default-mesh
[Huawei-wlan-sec-prof-_default-mesh] security wpa2 psk pass-phrase <password> aes
[Huawei-wlan-sec-prof-_default-mesh] ssid-profile name <profile name>
[Huawei-wlan-ssid-prof-] ssid <SSID>
[Huawei-wlan-ssid-prof-] vap-profile name <VAP profile>
[Huawei-wlan-vap-prof-] service-vlan vlan-pool <vlan pool>
[Huawei-wlan-vap-prof-] ssid-profile <ssid profile>
[Huawei-wlan-vap-prof-] security-profile <profile>
Huawei-wlan-vap-prof-] authentication-profile <profile>
Дальше мы работаем с регионом. Мы используем типичные для РФ настройки, работая только на разрешённых частотах и оборудовании. В других странах другие требования и регламенты — обязательно проверьте их.
1.24.1. Регионы
[Huawei-wlan-vap-prof-] regulatory-domain-profile name Russia
[Huawei-wlan-regulate-domain-Russia] country-code RU
[Huawei-wlan-regulate-domain-Russia] regulatory-domain-profile name default
[Huawei-wlan-regulate-domain-default] country-code RU
[Huawei-wlan-regulate-domain-default] ap-group name default
[Huawei-wlan-ap-group-default] regulatory-domain-profile Russia
[Huawei-wlan-ap-group-default] radio 0
[Huawei-wlan-ap-group-default-radio0/0] radio-2g-profile without802.11b
[Huawei-wlan-ap-group-default-radio0/0] vap-profile <profile> wlan 1[Huawei-wlan-ap-group-default-radio0/0] radio 1
[Huawei-wlan-ap-group-default-radio0/1] vap-profile <profile> wlan 1[Huawei-wlan-ap-group-default-radio0/1] ap-group name <group>
[Huawei-wlan-ap-group-] regulatory-domain-profile Russia
1.25. Настраиваем трекинг до резервного контроллера
<Huawei> system-view
[Huawei] wlan
[Huawei-wlan-view] master controller
[Huawei-master-controller] master-redundancy track-vrrp vrid 1 interface Vlanif <vlan id ac>
[Huawei-master-controller] master-redundancy peer-ip ip-address <ip address > local-ip ip-address <ip address> psk <password>
Задаём трекинг и IP для обеспечения стабильности работы. У нас два взаимозаменяемых контроллера, поэтому мы настраиваем их работу следующим образом:
1.26. Задаём прошивку для подключаемых точек доступа
<Huawei> system-view
[Huawei] wlan
[Huawei-wlan-view] ap update update-filename <file name> ap-type 97
[Huawei-wlan-view] ap update update-filename <file name> ap-type 97 ap-group default
С этими настройками они точно будут поддерживать нужные функции и фишки. Мы выбрали FitAP2051DN_V200R010C00SPC800. После активации этой конфигурации прошивка будет загружаться автоматически в любую точку доступа, которую мы подключим в сеть.
1.27. Задаём типы подключаемых устройств и их идентификацию
<Huawei> system-view
[Huawei] device-profile profile-name @default_device_profile
[Huawei-device-prof-@default_device_profile] device-type default_type_phone
[Huawei-device-prof-@default_device_profile] enable
[Huawei-device-prof-@default_device_profile] rule 0 user-agent sub-match Android
[Huawei-device-prof-@default_device_profile] rule 1 user-agent sub-match iPhone
[Huawei-device-prof-@default_device_profile] rule 2 user-agent sub-match iPad
[Huawei-device-prof-@default_device_profile] if-match rule 0 or rule 1 or rule 2
Здесь это пока не используется — но при необходимости с этой настройкой можно задавать разные правила для Эппла и Андроида.
1.28. Настраиваем определение способа авторизации пользователей в сети
<Huawei> system-view
[Huawei] dot1x-access-profile name <profile>
[Huawei-dit1x-access-profile] dot1x-access-profile name dot1x_access_profile
Эта настройка нужна, если в сети можно авторизоваться с разных профайлов и разными способами.
1.29. Настраиваем NTP-клиент
<Huawei> system-view
[Huawei] ntp-service enable
[Huawei] ntp-service unicast-server <ip address>
[Huawei] ntp-service unicast-server <ip address>
Через этот клиент мы будем получать точнейшее время, единое для всех контроллеров. Это поможет правильно работать кластеру, серверам, сервисам и чему угодно, что задаёт проверку по системному времени.
2. Подключаем и настраиваем лицензию
Лицензия привязывается к серийному номеру контроллера и выдаётся на некоторое количество точек доступа. HSB выше настраивается как раз для того, чтобы не покупать лицензии на каждый из контроллеров, а легально их передавать в рамках одного кластера.
2.1. Согласно файлу лицензий на точки доступа заказываем лицензию на контроллер. Данные, которые необходимо предоставить для заказа лицензий: s/n контроллера, сетевое имя контроллера, количество точек доступа в лицензии без учёта дефолтных точек доступа.
2.2. После получения файла лицензии на точки доступа его необходимо загрузить на контроллер master.
2.3. Загружаем прошивку по tftp или ftp.
2.3. Загружаем прошивку по tftp или ftp.
<Huawei> tftp tftp_server_ip get license_file
либо
<Huawei> ftp ftp_server_ip
[ftp] binary
[ftp] get license_file
3. Настраиваем группы
Здесь мы работаем с vlan-ами, их настройкой и распределением.
На КТД:
<Huawei> system-view
[Huawei] vlan pool <pool>
[Huawei-vlan-pool-pool] vlan <vlan ids>// диапазон вланов для пользователей на конкретном коммутаторе распределения
Один пул на один dsw:
<Huawei> system-view
[Huawei] wlan
[Huawei-wlan-view] vap-profile name <profile>
[Huawei-wlan-vap-prof--vap] service-vlan vlan-pool <pool>
[Huawei-wlan-vap-prof--vap] ssid-profile <profile>
[Huawei-wlan-vap-prof--vap] security-profile <profile>
[Huawei-wlan-vap-prof--vap] authentication-profile <profile>
// один vap-profile на один маршрутизатор сегмента сети
<Huawei> system-view
[Huawei] wlan
[Huawei-wlan-view] ap-group name <group>
[Huawei-wlan-ap-group-] regulatory-domain-profile Russia
[Huawei-wlan-ap-group-] radio 0
[Huawei-wlan-ap-group-radio0/0] radio-2g-profile without802.11b
[Huawei-wlan-ap-group-radio0/0] vap-profile <profile> wlan 1
[Huawei-wlan-ap-group-radio0/0] radio 1
[Huawei-wlan-ap-group-radio0/1] vap-profile <profile> wlan 1
// одна группа соответствует одному маршрутизатора, одного сегмента сети
4. Переименовываем точки доступа и добавляем их в группы
Чтобы проект соответствовал топологии и работал корректно, каждой точке доступа нужно присвоить группу. Если этого не сделать, точка доступа не сможет авторизовать пользователей и не будет применять настройки профайлов и групп, сделанных ранее.
4.1. Группировка
<Huawei> system-view
[Huawei] wlan
[Huawei-wlan-view] ap-id <ap id >
[Huawei-wlan-ap-] ap-name <ap name>
[Huawei-wlan-ap-] ap-group <group>
На этом настройка контроллеров завершена.
P. S. А что в подобных проектах обычно делаете вы? Какие выбираете сервисы, как настраиваете контроллеры? Есть ли у вас какие-то любимые фишки? Делитесь ими в комментариях — мы будем рады обратной связи и дополнению статьи.