Инструкция этого типа вызывает процесс подключения к SSID, получения IP адреса и других IP параметров, измерение времени отклика DNS-серверов.
Для подключения (ассоциации) используется утилита iw либо wpa_supplicant.
В качестве возможных входных параметров используются:
Параметр | Значение | Комментарий |
---|---|---|
interface | wlan0 | Имя беспроводного интерфейса (wlan0 или wlan1), через который подключаться |
ssid | строка | Указывается имя беспроводной сети, к которой необходимо подключиться |
password | строка | WPA2-PSK пароль |
encryption | open, psk, peap, tls | Тип шифрования, см. далее |
Сенсор поддерживает несколько типов подключения (авторизации) в SSID.
Для варианта "open", т.е. открытой сети, никаких параметров, кроме имени сети (ssid), и имени интерфейса (interface, по умолчанию "wlan0"), не требуется.
Для варианта "psk", т.е. сети, защищенной общим ключом-паролем, и использующий метод аутентификации WPA2-PSK (preshared key), требуется дополнительный параметр password, являющийся ключом доступа к сети.
Для варианта "peap", т.е. сети, защищенной протоколом 802.1Х и использующей метод аутентификации WPA2-Enterprise и авторизацию по идентификатору типа "логин-пароль" (PEAP/MSCHAPv2), например Active Directory, требуется указать (помимо параметра password):
- ca_cert - путь до файла с корневым сертификатом вашей инфраструктуры PKI
- username - идентификатор (имя пользователя), использующегося в процессе авторизации
Для варианта "tls", т.е. сети, защищенной протоколом 802.1Х и использующей метод аутентификации WPA2-Enterprise и авторизацию по клиентскому сертификату, требуется указать (вместо параметра password):
- ca_cert - путь до файла с корневым сертификатом вашей инфраструктуры PKI
- client_cert - путь до файла с сертификатом клиента
- client_key - путь до файла с ключом клиентского сертификата
- key_password - (опционально) пароль на клиентский сертификат (если он установлен)
Формат всех файлов сертификатов и ключей - PEM (т.е. BASE64, текстовый). В настоящий момент сертификаты PKCS#12 (файлы .pfx, .p12) не поддерживается. Файлы сертификатов и ключей должны быть заранее размещены (загружены) на сервер. Для этого в настройках "панель управления" сенсора или группы предусмотрен загрузчик файлов (на сенсор, или на все сенсоры группы подряд). В загрузчике необходимо указать полное имя файла (с путем), и прикрепить файл. Внимание: проверки валидности пути нет.
Файлы на сенсоре:
Внимание! Файлы, загруженные в /tmp/, не переживают перезагрузку сенсора. Файлы, загруженные не в /etc/, не переживают обновление прошивки (полное, OpenWrt) сенсора. Обновление управляющего Python-кода сенсора безопасно для файлов.
Укажите эти файлы в "Параметрах":
Типовой код скрипта инструкции:
import json
import sys
import wnam_wifi_connectiondata = ' '.join(sys.argv[1:])
json_data = json.loads(data)['data']wnam_wifi_connection.change_network(**json_data)
По завершении подключения, если оно было успешным, происходит:
- получение IP адреса, и измерение времени, которое это заняло
- получение IP адреса по DNS запросу к тому серверу (серверам), которые были получены в DHCP-процессе. Измеряется время резолва имен ya.ru и google.com.
Инструкция возвращает серверу результат следующего вида:
Величины ssid_duration (время ассоциации), dhcp_duration (время получения IP адреса), go_ping и ya_ping (время DNS-резолвинга) выдаются в миллисекундах.
Полученный тайминги отображаются в отчете типа "Подключение к сети".
Параметр "ip" соответствует выданному по DHCP IP адресу DNS-сервера (в примере = 8.8.8.8).