Инструкция этого типа вызывает процесс подключения к SSID, получения IP адреса и других IP параметров, измерение времени отклика DNS-серверов.
Для подключения (ассоциации) используется утилита iw либо wpa_supplicant.
В качестве возможных входных параметров используются:
Параметр | Значение | Комментарий |
---|---|---|
interface | wlan0 | Имя беспроводного интерфейса (wlan0 или wlan1), через который подключаться |
ssid | строка | Указывается имя беспроводной сети, к которой необходимо подключиться |
scan_ssid | 0 или 1 | Определяет, будет ли сенсор проводить предварительное сканирование (поиск) сети перед подключением. По умолчанию 0 (нет). |
bssid | строка | Указывается МАС адрес точки доступа, через которую производится подключение. Опциональный параметр. Если не задано, подключение ведется к первой попавшейся на усмотрение драйвера точке доступа. Допускается указать в качестве значения max, в таком случае будет подставлен МАС-адрес точки доступа с наилучшим сигналом. |
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):
Для варианта "tls", т.е. сети, защищенной протоколом 802.1Х и использующей метод аутентификации WPA2-Enterprise и авторизацию по клиентскому сертификату, требуется указать (вместо параметра password):
Формат файлов сертификатов и ключей - PEM (т.е. BASE64, текстовый), кроме, возможно client_key. Файлы сертификатов и ключей должны быть заранее размещены (загружены) на сервер. Для этого в настройках "Панели управления" сенсора или группы предусмотрен загрузчик файлов (на сенсор, или на все сенсоры группы по очереди). В загрузчике необходимо указать полное имя файла (с путем), и прикрепить сам файл. Внимание: проверки валидности пути и/или наличия существующего файла на целевом месте нет.
Файлы на сенсоре:
Внимание! Файлы, загруженные в /tmp/, не переживают перезагрузку сенсора. Файлы, загруженные не в /etc/, не переживают обновление прошивки (полное, OpenWrt) сенсора. Обновление управляющего Python-кода сенсора безопасно для файлов, кроме каталога /root/qow/.
Для EAP-TLS (encryption=tls) подключения доступны два сценария:
Укажите ссылки на все эти файлы и ключи в "Параметрах":
Типовой код скрипта инструкции:
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)
По завершении подключения, если оно было успешным, происходит:
Инструкция возвращает серверу результат следующего вида:
Величины ssid_duration (время ассоциации), dhcp_duration (время получения IP адреса), go_ping и ya_ping (время DNS-резолвинга) выдаются в миллисекундах.
Полученный тайминги отображаются в отчете типа "Подключение к сети".
Параметр "ip" соответствует выданному по DHCP IP адресу DNS-сервера (в примере = 8.8.8.8).